[Olsr-dev] segfault in -r3 reproduced

Bernd Petrovitsch (spam-protected)
Mon Dec 8 14:10:22 CET 2008


On Son, 2008-12-07 at 11:55 +0100, Hannes Gredler wrote:
> hi henning,
> 
> have refcount protected the whole interface/route chain.
> please have a look at:
> 
> http://gredler.at/hg/olsrd/rev/6d7d33cd37ca and
> http://gredler.at/hg/olsrd/rev/a000deeaf01e 
> 
> asking for review.

Is from tip. Any ideas?
----  snip  ----
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208871232 (LWP 10591)]
unlock_interface (ifp=0x0) at src/interfaces.c:263
263       if (--ifp->refcount) {
(gdb) bt full
#0  unlock_interface (ifp=0x0) at src/interfaces.c:263
No locals.
#1  0x0806abc1 in olsr_update_kernel_routes () at src/process_routes.c:176
No locals.
#2  0x08067265 in olsr_calculate_routing_table () at src/olsr_spf.c:494
        cand_tree = {root = 0x0, first = 0x0, last = 0x0, count = 0, comp = 0x8066910 <avl_comp_etx>}
        rtp_tree_node = (struct avl_node *) 0x0
        path_list = {next = 0xbffe15d4, prev = 0xbffe15d4}
        tc = (struct tc_entry *) 0x9cc60c8
        rtp = <value optimized out>
        tc_edge = (struct tc_edge_entry *) 0x9cc60c8
        neigh = (struct neighbor_entry *) 0x0
        link = (struct link_entry *) 0x9c6fb60
#3  0x08065bb0 in olsr_process_changes () at src/olsr.c:178
        tmp_pc_list = <value optimized out>
#4  0x0806d0ff in olsr_scheduler () at src/scheduler.c:381
No locals.
#5  0x0806197e in main (argc=1, argv=0xbffe2944) at src/main.c:410
        __s1 = <value optimized out>
        default_ifcnf = {ipv4_broadcast = {v4 = {s_addr = 0}, v6 = {in6_u = {
        u6_addr8 = '\0' <repeats 15 times>, u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, u6_addr32 = {0, 0, 0, 
          0}}}}, ipv6_addrtype = 0, ipv6_multi_site = {v4 = {s_addr = 1535}, v6 = {in6_u = {
        u6_addr8 = "�\005", '\0' <repeats 13 times>, "\025", u6_addr16 = {1535, 0, 0, 0, 0, 0, 0, 5376}, 
        u6_addr32 = {1535, 0, 0, 352321536}}}}, ipv6_multi_glbl = {v4 = {s_addr = 3839}, v6 = {in6_u = {
        u6_addr8 = "�\016", '\0' <repeats 13 times>, "\001", u6_addr16 = {3839, 0, 0, 0, 0, 0, 0, 256}, 
        u6_addr32 = {3839, 0, 0, 16777216}}}}, weight = {value = 0, fixed = false}, hello_params = {
    emission_interval = 2, validity_time = 6}, tc_params = {emission_interval = 5, validity_time = 15}, 
  mid_params = {emission_interval = 5, validity_time = 15}, hna_params = {emission_interval = 5, 
    validity_time = 15}, lq_mult = 0x0, autodetect_chg = true}
        conf_file_name = "/opt/olsrd-current/etc/olsrd.conf", '\0' <repeats 1775 times>, "\036�\231\000\000\000\000\000\(spam-protected)\000\210\036���\177\232\000d ��\000?\231\000\(spam-protected)\000�%\000\000\003\000\000\0002\000\000\000����", '\0' <repeats 28 times>, "��\230\000\220\205\232\000\037,\030\000\210\036��\t�\231\000\037,\030\000��\230\000�\177\232\000x\202\232\000\000\000\000\000\024!��\200[\231\000|)\024\000�U\024\000\000\000\024\000\003\000\000\000�\177\232\000�\035\232\000\037,\030\000j\002\000\000\000\200\232\000�\036��\000\000\000\000\220\"��\177\232"...
        buf = {buf = "\a\b\000 ��/+\000|�\004\b���\000p(����\031\000x(����\004\b\210(��\\�\a\b\210(��"}
        pulse_timer_cookie = (struct olsr_cookie_info *) 0x0
        __func__ = "main"
(gdb) 
----  snip  ----

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services





More information about the Olsr-dev mailing list