Skip to content

systemd input segfaults (Probably caused by introduction of zstd?) #10139

@arianvp

Description

@arianvp

Bug Report

Describe the bug

I upgraded from fluent-bit-3.2.6 to fluent-bit-3.2.8 and fluent-bit started segfaulting.
The same upgrade also updated systemd from 257.2 -> 257.3.

My theory is the following. But I don't know enough about fluent-bit's build system to know if this is indeed the cause:

  • fluent-bit-3.2.7 adds support for zstd. Statically linking against zstd-1.5.6 zstd: introduce zstd compression support in Fluent Bit (cleanup) #9890
  • fluent-bit-3.2.8 bumps to zstd-1.5.7 zstd: add support for compressed unknown size #10021
  • libsystemd-257.3 dynamically links against zstd-1.5.6 and fluent-bit-3.2.8 dynamically links against libsystemd-257.3
  • fluent-bit is somehow re-exporting the symbols from statically linked zstd-1.5.7 so libsystemd's sd_journal_enumerate_data calls out to fluen-bits statically-linked zstd-1.5.7 whilst it expects zstd-1.5.6.
  • ZSTD_freeDCtx segfaults due to some ABI incompatibiltiy.

To Reproduce

(gdb) bt
#0  0x00007f10e7e9916c in __pthread_kill_implementation () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#1  0x00007f10e7e40e86 in raise () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#2  0x00007f10e7e2893a in abort () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#3  0x000000000046a938 in flb_signal_handler ()
#4  <signal handler called>
#5  0x00007f10e7ea42b7 in unlink_chunk.isra () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#6  0x00007f10e7ea45cd in _int_free_create_chunk () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#7  0x00007f10e7ea5a1c in _int_free_merge_chunk () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#8  0x00007f10e7ea5dc9 in _int_free () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#9  0x00007f10e7ea8613 in free () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#10 0x00007f10e80ad3b5 in ZSTD_freeDCtx () from /nix/store/wy0slah6yvchgra8nhp6vgrqa6ay72cq-zstd-1.5.6/lib/libzstd.so.1
#11 0x00007f10e8c90f6b in decompress_blob_zstd () from /nix/store/b2cfj7yk3wfg1jdwjzim7306hvsc5gnl-systemd-257.3/lib/libsystemd.so.0
#12 0x00007f10e8bf0efe in journal_file_data_payload () from /nix/store/b2cfj7yk3wfg1jdwjzim7306hvsc5gnl-systemd-257.3/lib/libsystemd.so.0
#13 0x00007f10e8c00f74 in sd_journal_enumerate_data () from /nix/store/b2cfj7yk3wfg1jdwjzim7306hvsc5gnl-systemd-257.3/lib/libsystemd.so.0
#14 0x00000000004eae2f in in_systemd_collect ()
#15 0x00000000004eb5a0 in in_systemd_collect_archive ()
#16 0x000000000047aa18 in flb_input_collector_fd ()
#17 0x0000000000495223 in flb_engine_start ()
#18 0x000000000046f304 in flb_lib_worker ()
#19 0x00007f10e7e972e3 in start_thread () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#20 0x00007f10e7f1b2fc in __clone3 () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6

  • Steps to reproduce the problem:

Expected behavior

Doesn't segfault

Screenshots

Your Environment

  • Version used: 3.2.8
  • Configuration: [INPUT] name systemd
  • Environment name and version (e.g. Kubernetes? What version?): NixOS unstable
  • Server type and version: NixOS unstable
  • Operating System and version: NixOS unstable (systemd 253.7)
  • Filters and plugins: systemd

Additional context

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions