[Olsr-dev] segfault in -r3 reproduced

Hannes Gredler (spam-protected)
Sun Dec 7 10:30:42 CET 2008


hmm looks like we need to refcount protect the interface whenever
making a reference to it. i have stumbled over the question
what the olsr interface model i like (persistent, dynamic),
but did not drill down at the time.

/hannes

On Sat, Dec 06, 2008 at 05:07:12PM +0100, Henning Rogge wrote:
| On Saturday 06 December 2008 14:26:06 L. Aaron Kaplan wrote:
| > olsrd: src/lq_plugin.c:426: olsr_malloc_hello_neighbor: Assertion `
| > (const char *)h + sizeof(*h) == (const char *)h->linkquality' failed.
| >
| > Program received signal SIGABRT, Aborted.
| > [Switching to Thread 47720100218576 (LWP 19479)]
| > 0x00002b66b37e607b in raise () from /lib/libc.so.6
| > (gdb) bt
| > #0  0x00002b66b37e607b in raise () from /lib/libc.so.6
| > #1  0x00002b66b37e784e in abort () from /lib/libc.so.6
| > #2  0x00002b66b37dfaf4 in __assert_fail () from /lib/libc.so.6
| > #3  0x0000000000414484 in olsr_malloc_hello_neighbor (id=0x43d156
| > "HELLO deserialization")
| I will release a patch for this (small) problem tomorrow, but I think that's 
| not our important bug:
| 
| this one is it:
| Program received signal SIGSEGV, Segmentation fault.
| [Switching to Thread 46937385240272 (LWP 21322)]
| 0x0000000000424407 in olsr_update_rt_path (rtp=0x5c6ad0, tc=0x5c69a0, 
| link=0x5e29c0) at src/routing_table.c:221
| 221       rtp->rtp_nexthop.iif_index = link->inter->if_index;
| (gdb)
| (gdb)
| (gdb)
| (gdb) bt
| #0  0x0000000000424407 in olsr_update_rt_path (rtp=0x5c6ad0, tc=0x5c69a0, 
| link=0x5e29c0)
|     at src/routing_table.c:221
| #1  0x00000000004246c2 in olsr_insert_rt_path (rtp=0x5c6ad0, tc=0x5c69a0, 
| link=0x5e29c0)
|     at src/routing_table.c:343
| #2  0x000000000041e015 in olsr_calculate_routing_table () at 
| src/olsr_spf.c:478
| #3  0x000000000041c19d in olsr_process_changes () at src/olsr.c:166
| #4  0x000000000041c2c8 in olsr_trigger_forced_update (unused=0x0) at 
| src/olsr.c:210
| #5  0x0000000000425b90 in olsr_walk_timers (last_run=0x555308) at 
| src/scheduler.c:360
| #6  0x00000000004256e4 in olsr_scheduler () at src/scheduler.c:138
| #7  0x00000000004163e5 in main (argc=2, argv=0x7fff34d4d208) at src/main.c:393
| (gdb) quit
| 
| 
| When a route is added AND the process fails, the internal route structures of 
| olsr seems to get confused... which results in a segfault.
| 
| Henning
| 



| -- 
| Olsr-dev mailing list
| (spam-protected)
| http://lists.olsr.org/mailman/listinfo/olsr-dev




More information about the Olsr-dev mailing list