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@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