[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