Latest series of commits cause a crash in ospfd. This is based on
testing based on commit 6064613
The offending commit is 94266fa “ospfd: Self nbrs needs to be rebuilt
when router ID changes.”
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f576c949bb9 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007f576c949bb9 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f576c94cfc8 in __GI_abort () at abort.c:89
#2 0x00007f576c986e14 in __libc_message (do_abort=do_abort@entry=1,
fmt=fmt@entry=0x7f576ca955a8 "*** Error in `%s': %s: 0x%s ***\n")
at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007f576c9930ee in malloc_printerr (ptr=<optimized out>,
str=0x7f576ca956f8 "free(): corrupted unsorted chunks", action=1)
at malloc.c:4996
#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at
malloc.c:3840
#5 0x00007f576cd08074 in zfree (type=145, ptr=0x1a90a70) at
memory.c:132
#6 0x00007f576cf7d249 in ospf_nbr_free (nbr=0x1a90a70) at
ospf_neighbor.c:144
#7 0x00007f576cf7d356 in ospf_nbr_delete (nbr=0x1a90a70) at
ospf_neighbor.c:185
#8 0x00007f576cf71a43 in ospf_router_id_update (ospf=0x1a6b670) at
ospfd.c:121
#9 0x00007f576cfaec8e in ospf_router_id (self=0x7f576d1f7320
<router_ospf_id_cmd>, vty=0x1a91c10, argc=1,
argv=0x7fff00826080) at ospf_vty.c:199
#10 0x00007f576ccfd3c4 in cmd_execute_command_real (vline=0x1a8f5c0,
filter=FILTER_RELAXED, vty=0x1a91c10,
cmd=0x0) at command.c:2686
#11 0x00007f576ccfd4cd in cmd_execute_command (vline=0x1a8f5c0,
vty=0x1a91c10, cmd=0x0, vtysh=0)
at command.c:2735
#12 0x00007f576ccf30e2 in vty_command (vty=0x1a91c10, buf=0x1a8dab0
"router-id 192.168.0.121") at vty.c:420
#13 0x00007f576ccf4e95 in vty_execute (vty=0x1a91c10) at vty.c:1286
#14 0x00007f576ccf6ad2 in vtysh_read (thread=0x7fff00826790) at
vty.c:2169
#15 0x00007f576cd057de in thread_call (thread=0x7fff00826790) at
thread.c:1252
#16 0x00000000004019c2 in main (argc=2, argv=0x7fff008268f8) at
ospf_main.c:349
#6 0x00007f576cf7d249 in ospf_nbr_free (nbr=0x1a90a70) at
ospf_neighbor.c:144
144 XFREE (MTYPE_OSPF_NEIGHBOR, nbr);
(gdb) list
139 OSPF_NSM_TIMER_OFF (nbr->t_ls_upd);
140
141 /* Cancel all events. *//* Thread lookup cost would be negligible.
*/
142 thread_cancel_event (master, nbr);
143
144 XFREE (MTYPE_OSPF_NEIGHBOR, nbr);
145 }
146
147 /* Delete specified OSPF neighbor from interface. */
148 void
this is from the new lines inserted:
#8 0x00007f576cf71a43 in ospf_router_id_update (ospf=0x1a6b670) at
ospfd.c:121
121 ospf_nbr_delete(oi->nbr_self);
(gdb) list
116 /* Some nbrs are identified by router_id, these needs
117 * to be rebuilt. Possible optimization would be to do
118 * oi->nbr_self->router_id = router_id for
119 * !(virtual | ptop) links
120 */
121 ospf_nbr_delete(oi->nbr_self);
122 ospf_nbr_add_self(oi);
123 }
124
125 /* If AS-external-LSA is queued, then flush those LSAs. */
The crash happens (reliable in my testbed) whenever I change the OSPF
router-id
- Martin Winter
[email protected]
As a side note:
I would _REALLY_ like if the maintainers don’t push multiple commits
at the same time.
I’m trying to run multiple (automated) tests each time quagga master
is updated, but it’s
painful to go back and pick things (manually) apart if there are
multiple commits.
I would really appreciate if committers could push single commits
whenever possible.
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev