coredump: capture crashing thread ID and name
Add %I (TID in initial PID namespace) to the core_pattern, so the kernel passes the crashing thread's TID to systemd-coredump. Use it to read the thread's comm name from /proc/<tid>/comm and log both as new journal fields: COREDUMP_TID= — TID of the crashing thread COREDUMP_THREAD_NAME= — comm name of the crashing thread These fields are also stored as xattrs on external coredump files (user.coredump.tid, user.coredump.thread_name) and displayed by coredumpctl info alongside the PID line. For single-threaded processes the TID equals the PID and thread_name equals comm; for multi-threaded programs with named worker threads (pthread_setname_np / PR_SET_NAME) this identifies which thread crashed without needing to open the coredump file itself. The new fields are optional in the socket forwarding path, so older systemd-coredump senders are handled gracefully. Co-developed-by: Claude <claude@anthropic.com>
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
# the core dump.
|
||||
#
|
||||
# See systemd-coredump(8) and core(5).
|
||||
kernel.core_pattern=|{{LIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h %d %F
|
||||
kernel.core_pattern=|{{LIBEXECDIR}}/systemd-coredump %P %u %g %s %t %c %h %d %F %I
|
||||
|
||||
# Allow 16 coredumps to be dispatched in parallel by the kernel.
|
||||
# We collect metadata from /proc/%P/, and thus need to make sure the crashed
|
||||
|
||||
Reference in New Issue
Block a user