[RPKI] routinator-0.13.1 core dump
Havard Eidnes
he at uninett.no
Mon Feb 26 18:00:45 UTC 2024
> Are there any obvious crashing issues on 0.13.1 ? I have two
> routinator servers on FreeBSD and both of them virtually crashed
> around the same time. Unfortunately they left no core file behind to
> trace...
>
> I *think* this may be related to us restarting syslogd on each
> host. That seems to have triggered the crash.
>
> All we have in the configs w/r/t syslog is:
>
> log-level = "warn"
> log = "syslog"
> syslog-facility = "daemon"
That may indeed be the thing.
In the C library, syslog() returns void, so cannot return an
error, and at least in NetBSD, if syslog gets an error when
writing to the syslog Unix domain socket, there's code to re-try,
and possibly to re-open the log socket before a new attempt is
made. It retries a fixed number of times, and may try to write
to the console if that count is exhausted.
The rust syslog module is quite different: it may return an
error, and if the using code isn't prepared to handle it or
ignore it, you will get a rust runtime forced exit, possibly with
a stack backtrace emitted to stderr (which probably goes lost),
and "of course", routinator has no code to handle error returns
from the rust syslog module.
I am guessing that most developers expect the C library
behaviour.
I tried raising this issue with the rust syslog maintainer, but
have not had much traction with that, ref.
https://github.com/Geal/rust-syslog/issues/79
Regards,
- Håvard
More information about the RPKI
mailing list