[Olsr-dev] Master tree: all routers segmentation fault when 1 node leaves the network.

ZioPRoTo (Saverio Proto) (spam-protected)
Tue Jun 8 23:19:56 CEST 2010


Hello,

I'm working on the development tree and I found a bug that I cannot
exactly reproduce.

I'm running a network in my virtual environment with 7 routers, and
when 1 (any) of the routers stops, all the other 6 nodes will have a
segmentation fault after about 30 seconds.

>From this file it is easy to understand the topology, where every OLSR
router has some interfaces attached to some collision domain:
https://svn.ninux.org/ninuxdeveloping/browser/obamp-netkitlab/lab.conf

I'm running OLSR into gdb, at the end of the email a couple of
different backtraces I found. Once I also had a segmentation fault on
ip4cmp function but I did not cut and paste and I was not able to
reproduce it.

I will fill a bug on tracker soon... first I wanted to understand if
it was more reproducible...

Saverio


Program received signal SIGSEGV, Segmentation fault.
0x0804cd75 in avl_delete_worker (tree=0x8081548, node=0x8086870)
    at src/common/avl.c:564
564         node->right->parent = parent;
(gdb) backtrace
#0  0x0804cd75 in avl_delete_worker (tree=0x8081548, node=0x8086870)
    at src/common/avl.c:564
#1  0x0804cff1 in avl_delete (tree=0x8081548, node=0x8086870)
    at src/common/avl.c:668
#2  0x0806baa6 in olsr_cleanup_tc_entry (tc=0x8086870) at src/tc_set.c:278
#3  0x0806c359 in olsr_delete_tc_edge_entry (tc_edge=0x8086ff0)
    at src/tc_set.c:522
#4  0x0806b8f1 in olsr_delete_tc_entry (tc=0x8086870) at src/tc_set.c:244
#5  0x0806bd55 in olsr_expire_tc_entry (context=0x8086870) at src/tc_set.c:345
#6  0x0806a798 in walk_timers (last_run=0x8081240) at src/scheduler.c:599
#7  0x0806a341 in olsr_scheduler () at src/scheduler.c:466
#8  0x08054184 in main (argc=4, argv=0xbfffd884) at src/main.c:423
(gdb)

--------------

Program received signal SIGSEGV, Segmentation fault.
0x0804c97e in avl_post_delete (tree=0x8081548, node=0x8086e10)
    at src/common/avl.c:422
422         if (parent->right->balance == 0) {
(gdb) backtrace
#0  0x0804c97e in avl_post_delete (tree=0x8081548, node=0x8086e10)
    at src/common/avl.c:422
#1  0x0804ce27 in avl_delete_worker (tree=0x8081548, node=0x8085588)
    at src/common/avl.c:591
#2  0x0804cff1 in avl_delete (tree=0x8081548, node=0x8085588)
    at src/common/avl.c:668
#3  0x0806baa6 in olsr_cleanup_tc_entry (tc=0x8085588) at src/tc_set.c:278
#4  0x0806c359 in olsr_delete_tc_edge_entry (tc_edge=0x8085700)
    at src/tc_set.c:522
#5  0x0806c291 in olsr_delete_tc_edge_entry (tc_edge=0x80854a8)
    at src/tc_set.c:509
#6  0x08050cc3 in olsr_delete_link_entry (link=0x8085298) at src/link_set.c:283
#7  0x08051047 in olsr_expire_link_entry (context=0x8085298)
    at src/link_set.c:409
#8  0x0806a798 in walk_timers (last_run=0x8081240) at src/scheduler.c:599
#9  0x0806a341 in olsr_scheduler () at src/scheduler.c:466
#10 0x08054184 in main (argc=4, argv=0xbfffdd74) at src/main.c:423
(gdb)




More information about the Olsr-dev mailing list