BIRD 3.0alpha2

Maria Matejka maria.matejka at nic.cz
Sat May 13 20:46:58 CEST 2023


Hello!

Thank you for your report.

The systemd unit file should definitely be Type=forking and without -f 
for BIRD. Will fix that soon also in v2.

The bad fd itself was caused by an invalid pointer usage caused by 
missing else.

Here you can download new packages to check it for yourself.

https://gitlab.nic.cz/labs/bird/-/pipelines/112818

Maria

On 5/13/23 13:59, Daniel Suchy via Bird-users wrote:
> Hello,
> when I'm using prebuilt packages from your CI [1], I noticed issue with 
> Bird 3.0alpha2 startup using provided systemd unit, but only when BFD 
> protocol is enabled (but, for example BGP or static protocols weren't 
> affected). This isn't happening with version 2.13 [2], which uses 
> similar unit file.
> 
> When BFD is enabled, v 3.0 daemon terminates on:
> [pid 55564] write(14</var/log/bird/bird.log>, "2023-05-13 13:00:03.281 
> [0001] <TRACE> bfd1: Initializing\n", 58)                  = 58
> [pid 55564] write(14</var/log/bird/bird.log>, "2023-05-13 13:00:03.281 
> [0001] <TRACE> bfd1: Starting\n", 54)                      = 54
> [pid 55564] write(0</dev/null<char 1:3>>, "\1", 1) = -1 EBADF (Bad file 
> descriptor)
> [pid 55564] write(14</var/log/bird/bird.log>, "2023-05-13 13:00:03.281 
> [0001] <BUG> wakeup write: Bad file descriptor\n", 71)     = 71
> [pid 55564] --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, 
> si_pid=55564, si_uid=101} ---
> 
> This is hapenning only when systemd unit starts bird with "-f" 
> (foreground) parameter.  If i modify systemd unit to run daemon in 
> background, daemon starts:
> 
> -ExecStart=/usr/sbin/bird -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP 
> $BIRD_ARGS
> +ExecStart=/usr/sbin/bird -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS
> +Type=forking
> 
> There is something strange between bird and systemd :-) When I start 
> bird manually in foreground, everything also works as expected. Below is 
> very also minimalist configuration I used for debug the issue.
> 
> - Daniel
> 
> [1] 
> https://gitlab.nic.cz/labs/bird/-/jobs/892286/artifacts/browse/pkg/pkgs/debian-11/bird2_3.0alpha2.1683909033.deb303a4-cznic.1/
> [2] 
> https://gitlab.nic.cz/labs/bird/-/jobs/883883/artifacts/browse/pkg/pkgs/debian-11/bird2_2.13.1682261375.ca0f239c-cznic.1/
> 
> ----
> log "/var/log/bird/bird.log" all;
> debug protocols all;
> 
> protocol device {
> }
> 
> protocol bfd {
> }
> ----
> 
> 
> On 5/12/23 18:37, Ondrej Filip wrote:
>> Dear BIRD Users,
>> we are releasing another alpha version of BIRD 3. We've found some 
>> annoying bugs and fixed some usability issues as well as several 
>> issues with BIRD crashing. We also added a simple work balancing 
>> algorithm between threads. MRT is still switched off, BMP is not 
>> merged; they will get into some future alpha version.
>>
>> Measured performance in BGP is approx. 6-10x better (with 20 threads) 
>> than version 2.13, depending on the actual configuration. Kernel 
>> synchronization is slow with a large number of routes; we will look 
>> into it soon.
>>
>> If you have some time for trying this version out, we would love to 
>> hear your feedback.
>>
>> I thank my colleagues and namely Maria for this release!
>>
>> Cheers
>>      Ondrej


More information about the Bird-users mailing list