mkosi: extend DefaultTimeoutStopSec= when running on sanitizers (#35420)

Hopefully fixes #35335.
This commit is contained in:
Luca Boccassi
2024-11-29 21:48:29 +00:00
committed by GitHub
4 changed files with 14 additions and 13 deletions

View File

@@ -0,0 +1,6 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Manager]
# Sanitizers may make exit() extremely slower.
# Let's extend the timeout. See issue #35335.
DefaultTimeoutStopSec=2min

View File

@@ -0,0 +1,8 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Service]
# Sanitizers log to stderr by default. However, journald's stderr is connected
# to /dev/null, so we lose all the sanitizer logs. To rectify that, let's
# connect journald's stdout to kmsg so that the sanitizer failures end up in the
# journal.
StandardOutput=kmsg

View File

@@ -9,17 +9,6 @@ if [[ ! -f "$BUILDROOT/$LIBSYSTEMD" ]]; then
exit 0
fi
# Sanitizers log to stderr by default. However, journald's stderr is connected to /dev/null, so we lose
# all the sanitizer logs. To rectify that, let's connect journald's stdout to kmsg so that the sanitizer
# failures end up in the journal.
if [[ -f "$BUILDROOT"/usr/lib/systemd/system/systemd-journald.service ]]; then
mkdir -p "$BUILDROOT"/etc/systemd/system/systemd-journald.service.d
cat >"$BUILDROOT"/etc/systemd/system/systemd-journald.service.d/10-stdout-tty.conf <<EOF
[Service]
StandardOutput=kmsg
EOF
fi
# ASAN and syscall filters aren't compatible with each other.
find "$BUILDROOT"/usr "$BUILDROOT"/etc -name '*.service' -type f -exec sed -i 's/^\(MemoryDeny\|SystemCall\)/# \1/' {} +

View File

@@ -4,7 +4,5 @@ integration_tests += [
integration_test_template + {
'name' : fs.name(meson.current_source_dir()),
'priority' : 10,
# TODO: Remove when https://github.com/systemd/systemd/issues/35335 is fixed.
'coredump-exclude-regex' : '/systemd-localed',
},
]