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