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:melif...@ipfw.ru]
*Gesendet:* Freitag, 12. Februar 2016 17:34
*An:* Daniel Seidenstьcker; Bird-users@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.seidenstuec...@googlemail.com
<mailto:d.seidenstuec...@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.stra...@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.

Reply via email to