stx-extensions: use the host's PID for coredump

systemd-coredump running as root on the host wants to get process
information using the process' PID, but %p refers to "the PID namespace
in which the process resides" (the container).  systemd-coredump
coredumps.  Dmesg shows "Failed to get EXE" and the segfault (sic
'systemd-coredum').

This segfault of systemd-coredump is intermittent, and so on occasion a
core file may actually be dumped for the containerized process. This
happens when the %p does not match a process from the host's
perspective.  Dmesg shows "Failed to get COMM..." and "Failed to get
EXE".  This becomes more likely as the PIDs in container's namespace
become larger - the host's PIDs are more sparse as the numbers increase.

Use %P instead, "as seen in the initial PID namespace" (host).

Convert the package to use PKG_GITREVCOUNT for release increment.

Closes-Bug: 1892951
Change-Id: Ifa5017d5997d12891893fc97fac4487ddfbbbbb8
Signed-off-by: Michel Thebeau <Michel.Thebeau@windriver.com>
This commit is contained in:
Michel Thebeau 2020-08-26 16:06:12 -04:00
parent a69c15f406
commit 584b23bd15
2 changed files with 2 additions and 2 deletions

View File

@ -1,2 +1,2 @@
SRC_DIR="files"
TIS_PATCH_VER=3
TIS_PATCH_VER=PKG_GITREVCOUNT

View File

@ -1,4 +1,4 @@
# send coredumps to the systemd coredump utility.
kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e
kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %e
kernel.core_pipe_limit = 4
kernel.core_uses_pid = 1