[systemd-devel] systemd-journald crashes w/specific numbers of fields

Sebastian Schindler sebastian.schindler at travelping.com
Wed Aug 5 03:50:08 PDT 2015


Hi,

I have Systemd v216 on a VM, there I was able to reproduce this.
I did use this tool https://github.com/carosio/jlog to create the logs:

jlog 'MESSAGE=this will crash' 'SYSLOG_IDENTIFIER=foobar' 'SYSLOG_FACILITY=3' 'PRIORITY=5' 'KEY5=foobar' 'KEY6=foobar' 'KEY7=foobar' 'KEY8=foobar' 'KEY9=foobar' 'KEY10=foobar' 'KEY11=foobar' 'KEY12=foobar' 'KEY13=foobar' 'KEY14=foobar' 'KEY15=foobar' 'KEY16=foobar' 'KEY17=foobar' 'KEY18=foobar' 'KEY19=foobar'

resulting in 37 Fields in verbose output and 40 fields with export output.

I also tried to reproduce this on my normal system

 Kubuntu 15.04
 Systemd v219

"Unfortunately" I wasn't able to trigger the assertion on this version.
I tried everything between 1 and 500 numbers of Fields, 
none triggered this (or any other) assertion.


----- Original Message -----
Hello,

Before filing a bug report, I wanted to run this by the group to make sure
I'm not doing something dumb (it happens).  We're seeing systemd-journald
crash with:

Assertion 'n + 20 + (object_pid ? 11 : 0) <= m' failed at
/build/amd64-usr/var/tmp/portage/sys-apps/systemd-218-r5/work/systemd-218/src/journal/journald-server.c:576,
function dispatch_message_real(). Aborting.

Shortly after this occurs, the container crashes.  We cause this by
creating journal entries with some very specific numbers of metadata
fields.  22, 66, 154, 330 to be exact.  Any other number of fields, no
problem, no crash.  Crazy, right?  The examples at the bottom of this
message reliably produce a crash.

PLEASE let me know if I've missed something obvious, but as far as I can
tell, this is a bug in systemd-journald.  We've seen this exact failure
mode with Erlang, Ruby, and Python.

[...]


More information about the systemd-devel mailing list