bird-1.5.0 ipv4 segfaults on configure - is it safe to change bgp protocol names runtime?

Bartosz Radwan b.radwan at citypartner.pl
Fri Mar 18 08:36:53 CET 2016


Hi bird users,

General question is: is it safe to change bgp protocol name runtime?

We're running two instances of bird 1.5.0 on PLD Linux boxes.

several days we've upgraded our two routers to 1.5.0 and made some 
changes in our configuration.

There were no problems for about a week.

We've decided to tidy up our bgp protocol names (few of them), and the 
problem occurred on both instances.

First instance just after configure:
bird[30925]: segfault at 31 ip 000000000040e5d9 sp 00007fffac0862f8 
error 6 in bird[400000+64000]

Then, on the other instance, ~15 hours after configure:
bird[27708]: segfault at 41 ip 000000000040e5c3 sp 00007fff39e55a38 
error 6 in bird[400000+64000]

I can reproduce error that occurs at configure time in local envoroment, 
hovever there's no any established sessions at all in ths env, not sure 
if errors are the same.

Here's backtrace:


bird: F_1_0901_NEW_NAME: Initializing
bird: F_1_0901_NEW_NAME: Starting
bird: F_1_0901_NEW_NAME: State changed to start
bird: F_1_0901_OLD_NAME: State changed to down

Program received signal SIGSEGV, Segmentation fault.
0x0000000000455bfb in ?? ()
(gdb) bt
#0  0x0000000000455bfb in ?? ()
#1  0x000000000040e4ee in olock_run_event (unused=<optimized out>) at 
../../nest/locks.c:177
#2  0x000000000043b76e in ev_run (e=0x66c010) at event.c:85
#3  ev_run_list (l=0x66b2e0 <global_event_list>) at event.c:142
#4  0x000000000043de3c in io_loop () at io.c:2061
#5  0x00000000004031d3 in main (argc=<optimized out>, argv=<optimized 
out>) at main.c:833


Then i've used much simplier config (just 1 bgp session) in my local 
enviroment, after 3rd protocol name change and reconfiguration another 
error occurred:

bird: Removing protocol one_SOME_LONGER
bird: one_SOME_LONGER: Shutting down
bird: one_SOME_LONGER: Shutdown requested
bird: one_SOME_LONGER: State changed to stop
bird: Adding protocol one_SOME_LONGER_NAME
bird: one_SOME_LONGER_NAME: Initializing
bird: one_SOME_LONGER_NAME: Starting
bird: one_SOME_LONGER_NAME: State changed to start
bird: one_SOME_LONGER: Down

Program received signal SIGSEGV, Segmentation fault.
olock_free (r=0x6751b0) at ../../nest/locks.c:72
72                rem_node(n);
(gdb) bt
#0  olock_free (r=0x6751b0) at ../../nest/locks.c:72
#1  0x0000000000445752 in pool_free (P=<optimized out>) at resource.c:81
#2  0x00000000004457c3 in rfree (res=0x674830) at resource.c:165
#3  0x000000000040ae8f in proto_notify_state (p=0x674da0, ps=<optimized 
out>) at ../../nest/proto.c:1387
#4  0x000000000043b76e in ev_run (e=0x675120) at event.c:85
#5  ev_run_list (l=0x66b2e0 <global_event_list>) at event.c:142
#6  0x000000000043de3c in io_loop () at io.c:2061
#7  0x00000000004031d3 in main (argc=<optimized out>, argv=<optimized 
out>) at main.c:833

Another protocol name change triggered another error:

bird: Removing protocol one_SOME_LONGER_NAME_2
bird: one_SOME_LONGER_NAME_2: Shutting down
bird: one_SOME_LONGER_NAME_2: Shutdown requested
bird: one_SOME_LONGER_NAME_2: State changed to stop
bird: Adding protocol one_SOME_LONGER_NAME_2_3
bird: one_SOME_LONGER_NAME_2_3: Initializing
bird: one_SOME_LONGER_NAME_2_3: Starting
bird: one_SOME_LONGER_NAME_2_3: State changed to start
bird: one_SOME_LONGER_NAME_2: Down
bird: one_SOME_LONGER_NAME_2: State changed to down
bird: Reconfigured

Program received signal SIGSEGV, Segmentation fault.
0x000000000044574f in pool_free (P=<optimized out>) at resource.c:81
81            r->class->free(r);
(gdb) bt
#0  0x000000000044574f in pool_free (P=<optimized out>) at resource.c:81
#1  0x00000000004457c3 in rfree (res=0x6807c0) at resource.c:165
#2  0x000000000043d94b in sk_read (s=s at entry=0x680660) at io.c:1786
#3  0x000000000043e23c in io_loop () at io.c:2158
#4  0x00000000004031d3 in main (argc=<optimized out>, argv=<optimized 
out>) at main.c:833


Further details including core files from gdb may be provided if needed.

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Z poważaniem
Bartosz Radwan



More information about the Bird-users mailing list