FRRouting / frr

The FRRouting Protocol Suite
https://frrouting.org/
Other
3.28k stars 1.24k forks source link

Crash in zebra ifp->node pointer is NULL in bfd_vrf_topo1 test #13188

Closed donaldsharp closed 9 months ago

donaldsharp commented 1 year ago
#0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
50  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7ff485c11840 (LWP 2979723))]
(gdb) bt
#0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ff48650864b in core_handler (signo=11, siginfo=0x7ffe4965ebf0, context=0x7ffe4965eac0) at lib/sigevent.c:246
#2  <signal handler called>
#3  if_unlink_per_ns (ifp=0x55dbba330b90) at zebra/interface.c:268
#4  0x000055dbb9ab9490 in if_delete_update (pifp=0x7ffe4965f0e0) at zebra/interface.c:774
#5  0x000055dbb9b22d57 in zebra_ns_delete (name=0x7ffe4965f120 "r2-bfd-cust1") at zebra/zebra_netns_notify.c:180
#6  0x000055dbb9b23348 in zebra_ns_notify_read (t=0x7ffe49661390) at zebra/zebra_netns_notify.c:353
#7  0x00007ff486521e73 in event_call (thread=0x7ffe49661390) at lib/event.c:1995
#8  0x00007ff4864af241 in frr_run (master=0x55dbba01ab20) at lib/libfrr.c:1185
#9  0x000055dbb9aca4de in main (argc=10, argv=0x7ffe49661648) at zebra/main.c:465
(gdb) f 3
#3  if_unlink_per_ns (ifp=0x55dbba330b90) at zebra/interface.c:268
268     ifp->node->info = NULL;
(gdb) p ifp->node
$1 = (struct route_node *) 0x0
(gdb) p ifp->name
$2 = "r2-eth1\000\000\000\000\000\000\000\000"
(gdb) f 7
#7  0x00007ff486521e73 in event_call (thread=0x7ffe49661390) at lib/event.c:1995
1995        (*thread->func)(thread);
(gdb) p thread->run
There is no member named run.
(gdb) p *thread
$3 = {type = EVENT_READY, add_type = EVENT_READ, eventitem = {si = {next = 0x0}}, timeritem = {hi = {index = 0}}, ref = 0x55dbb9c7ae38 <zebra_netns_notify_current>, master = 0x55dbba01ab20, 
  func = 0x55dbb9b2317b <zebra_ns_notify_read>, arg = 0x0, u = {val = 18, fd = 18, sands = {tv_sec = 18, tv_usec = 0}}, real = {tv_sec = 237814, tv_usec = 830433}, hist = 0x55dbba3027d0, yield = 10000, 
  xref = 0x55dbb9c23380 <_xref.3>, mtx = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, 
    __size = '\000' <repeats 39 times>, __align = 0}, ignore_timer_late = false}
(gdb) p *thread->xref
$4 = {xref = {xrefdata = 0x0, type = XREFT_EVENTSCHED, line = 430, file = 0x55dbb9bb3e1a "zebra/zebra_netns_notify.c", func = 0x55dbb9bb4000 <__func__.0> "zebra_ns_notify_init"}, 
  funcname = 0x55dbb9bb3f68 "zebra_ns_notify_read", dest = 0x55dbb9bb3f7d "&zebra_netns_notify_current", event_type = 0}
(gdb) quit
donaldsharp commented 1 year ago

bfd_vrf_topo1.tar.gz

Note things going sideways early in the test log file for r2/zebra.log.

github-actions[bot] commented 10 months ago

This issue is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this issue closed.

frrbot[bot] commented 10 months ago

This issue will be automatically closed in the specified period unless there is further activity.