segfault on running "show mem" command with bird-3.0alpha2

Maria Matejka maria.matejka at nic.cz
Mon Feb 26 17:43:03 CET 2024


Hello Prem,

Could you please try out the current thread-nextbranch, i.e. this one? 
https://gitlab.nic.cz/labs/bird/-/tree/thread-next/ This is the 
development branch which will become 3.0alpha3 soon and if your report 
is still relevant for this branch, I'll try to fix it before releasing.

It's really a pleasure to read that v3 is stable with 1K connections 
without major issues outside our testing setup. BTW in our testing 
setup, we managed to run it with 5K connections as well and I suppose we 
could handle at least 10K … just if I was't so lazy to setup larger 
tests. It's actually a good question how many connections we can handle 
at once. With v2, the architectural limitation occurs somewhere around 
1.5K BGP connections, but with v3 and e.g. 32 threads, I would suppose 
that 40K connections should still be OK-ish. We should do such testing 
in future, just for fun, to find out how far we can stretch BIRD with 
the new internal architecture.

Also, and especially if you are our happy user on such a large scale, 
please consider getting our BIRD Support Package to get exclusive 
services (config optimization, training, custom development …) and also 
to ensure continuous BIRD development in the future. See 
https://bird.nic.cz/en/commercial-services/and/or send me an off-list 
e-mail to get a customized quote.

Thank you for reporting.
Have a nice day!
Maria

On 2024-02-26 16:45, Prem Anand wrote:
> Hi All,
> I am seeing this segfault with bird-3.0alpha2 on trying to run the "show mem" command. Not sure if it is a known issue. Just thought of reporting it.
>
> By the way, bird-3.0 though in alpha, looks really stable. Was able to scale upto 1K BGP Sessions without any major issues. Eagerly looking for a 3.0 stable release soon.
>
> Regards
> Prem
>
> Thread 1 "bird" received signal SIGSEGV, Segmentation fault.
> 0x00005555555841c3 in rmemsize (res=<optimized out>) at lib/resource.c:271
> 271       if (!r->class->memsize)
> (gdb) bt
> #0  0x00005555555841c3 in rmemsize (res=<optimized out>) at lib/resource.c:271
> #1  cmd_show_memory () at nest/cmds.c:122
> #2  0x000055555560c03e in cf_parse.isra.0 () at nest/config.Y:640
> #3  0x000055555556a523 in cli_parse (c=0x7fffffffd920) at conf/conf.c:179
> #4  0x00005555555837fd in cli_command (c=c at entry=0x5555556bb338) at nest/cli.c:273
> #5  0x0000555555583b3c in cli_event (data=0x5555556bb338) at nest/cli.c:302
> #6  0x00005555555786cb in ev_run_list_limited (l=0x555555681000 <global_event_list>, limit=4294967294) at lib/event.c:331
> #7  0x0000555555566e14 in io_loop () at sysdep/unix/io.c:2216
> #8  main (argc=<optimized out>, argv=<optimized out>) at sysdep/unix/main.c:972
> (gdb) f 1
> #1  cmd_show_memory () at nest/cmds.c:122
> 122       struct resmem total = rmemsize(&root_pool);
> (gdb) print root_pool
> $3 = {r = {n = {next = 0x0, prev = 0x0, list = 0x0}, class = 0x0}, inside = {first = 0x555555685360, last = 0x5555556bb630}, domain = 0x555555680e40 <the_bird_domain_gen.lto_priv>, name = 0x555555656735 "Root"}
> (gdb) print root_pool->r->class
> $5 = (const struct resclass *) 0x0
> (gdb)

-- 
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20240226/9dd45b2b/attachment.htm>


More information about the Bird-users mailing list