Thanks! I can confirm it works now even with `-f` :-)
On 5/13/23 20:46, Maria Matejka via Bird-users wrote:
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