AW: BIRD crashes with 1000 peers

Milan Strakoš milan.strakos at ha-vel.cz
Mon Mar 7 09:38:12 CET 2016


Hello Daniel,

did you find any solution?

Thanks, Milan


Dne 15.2.2016 v 17:13 Daniel Seidenstücker napsal(a):
> tried this today:
>
> -took fresh 1.5.0
>
> -applied the 2 patches manually
>
> -changed the following defines to 65535:
>
> o/usr/include/linux/posix_types.h:#define __FD_SETSIZE 1024
>
> o/usr/include/x86_64-linux-gnu/bits/typesizes.h:#define __FD_SETSIZE  1024
>
> -configure …, make, sudo make install
>
> -verified that the binaries I use were the ones that I built today
>
> But the result is  the same behavior as before:
>
> -without raise of user limits (/etc/security/limits.conf or ulimit in
> init-script); user limit is 1024 and lower than FD_SETSIZE
>
> o1000 works, but too many open files in syslog; 1250 doesn’t work
>
> -with raise of user limits (/etc/security/limits.conf or ulimit in
> init-script); user limit is 10,000 and lower than FD_SETSIZE
>
> olimits were accepted by BIRD (cat /proc/<pid>/limits | grep files)
>
> o750 works, 1000 crashes without anything in syslog
>
> Due to my understanding and research some call of select() assumes
> FD_SETSIZE to be 1024 and doesn’t get my FD_SETSIZE changes. If too many
> peers connect the amount of open files grow larger than 1024 and that
> crushes BIRD. Without me raising the user limits, the user limit of 1024
> prevents BIRD from taking more than 1024 and therefore select() from
> crushing BIRD.
>
> I will try the master branch tomorrow but nevertheless any further help
> will be appreciated.
>
> Thanks,
>
> Daniel Seidenstuecker
>
> *Von:*Alexander V. Chernikov [mailto:melifaro at ipfw.ru]
> *Gesendet:* Freitag, 12. Februar 2016 17:34
> *An:* Daniel Seidenstьcker; Bird-users at network.cz
> *Betreff:* Re: BIRD crashes with 1000 peers
>
> https://gitlab.labs.nic.cz/labs/bird/commit/3aed0a6ff7b2b811a535202fd787281d2ac3340912.02.2016,
> 19:15, "Daniel Seidenstücker" <d.seidenstuecker at googlemail.com
> <mailto:d.seidenstuecker at googlemail.com>>:
>
>     Dear BIRD community,
>
>     I want to connect BIRD 1.5.0 with more than 1000 ExaBGP peers on
>     Ubuntu 14.04 LTS 64 Bit. Connecting 1000 peers works but if I
>     increase the peer count to more than 1024 it fails due to the soft
>     file limit of 1024.
>
>     To raise that I tried the usual (ulimit, /etc/security/limits.conf)
>     but BIRD doesn’t take these new limits. Later I found the advice to
>     add  “ulimit -n 10000” to the init.d script before each
>     “start-stop-daemon” command. After restarting BIRD it gets the
>     correct soft and hard limits (cat /proc/<pid>/limits | grep files).
>     But now only 750 peers work and connecting 1000 peers crashs bird
>     without any error message in syslog (“log syslog all” configured).
>     (I did not test 751-999 peers.)
>
> You need to recompile bird with different FD_SETSIZE limit. For example,
> https://cs.uwaterloo.ca/~brecht/servers/openfiles.html can be used as a
> guide.
>
> As for the crashes, they were fixed by
> https://gitlab.labs.nic.cz/labs/bird/commit/338f85ca7721fac16394ccabd561ddb5ccaacb36 &&
> https://gitlab.labs.nic.cz/labs/bird/commit/3aed0a6ff7b2b811a535202fd787281d2ac33409
>
>     It would be nice if somebody could help meJ.
>
>     Thanks,
>
>     Daniel Seidenstuecker
>

-- 
Milan Strakoš | Specialista IP služeb / IP services specialist
ha-vel internet s.r.o. | Olešní 587/11A, 712 00 Ostrava - Muglinov, 
Czech Republic

mobile: +420 606 77 88 41
office: +420 552 305 341
fax:    +420 552 305 306
nmc:    +420 552 305 321
e-mail: milan.strakos at ha-vel.cz
www:    http://www.ha-vel.cz

Neodstraňujte, prosím, žádnou část tohoto e-mailu při případné další 
komunikaci k tomuto tématu.
Please do not remove any parts of this e-mail message in further 
communication about this issue.


More information about the Bird-users mailing list