Better kernel core dump defaults [switch to systemd-coredump]

Bug #1813403 reported by Prasanna Loganathar
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu
New
Undecided
Unassigned

Bug Description

Currently,

`$ sysctl kernel.core_pattern`

gives

`kernel.core_pattern = |/usr/share/apport/apport %p %s %c %d %P`

This is usually fine, however, when run from containers or lxc this will just error out, with no core dump being produced, due to it being disabled. Adding to the problem: with container or lxc, you can't just change it per container, and should be changed on the host. And it's not reasonable to expect apport in all containers either. Since, this is a common problem, I think it's important to consider a change in the default handling.

There are multiple options to deal with this:

1. Drop apport as default core_pattern handler and switch to a simple file in either /var/crash (this requires creating /var/crash as a part of the installation as it's currently created by apport), or /tmp and let apport handle the core dump after the fact, and report it.

2. Switch to systemd-coredump, and default to it, since it already does this very well and provides "coredumpctl" which is much nicer to work with. systemd-coredump also is a part of the systemd suite of utils and doesn't pull in a larger dependency as apport -- which to date, isn't as robust (I still have "core" files being left all over the place due to the fact that apport reset's itself and crashes during startup aren't handled properly). This also has a nice advantage of unifying the OSS community in terms of coredump handler. apport can handle things from the core dumps that systemd generates, further on desktops.

3. Employ a tiny helper script, as the default core dump handler, which looks for specified programs such as "apport", "abrt", systemd-coredump" and pipes to them, or pipes it to /var/crash, or /tmp during it's absence. This does have the disadvantage of growing with it's own config, rather quickly.

That being said, I highly suggest option 2 be used in the upcoming versions, and apport be a layer sitting on top of the coredumps generated by systemd-coredumps by either hooking into it, or by watching it's folders.

ProblemType: Bug
DistroRelease: Ubuntu 18.10
ProcVersionSignature: Ubuntu 4.18.0-13.14-generic 4.18.17
Uname: Linux 4.18.0-13-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.10-0ubuntu13.1
Architecture: amd64
CurrentDesktop: GNOME
Date: Sat Jan 26 20:33:55 2019
InstallationDate: Installed on 2019-01-01 (25 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3)
UpgradeStatus: No upgrade log present (probably fresh install)
modified.conffile..etc.apport.crashdb.conf: [modified]
mtime.conffile..etc.apport.crashdb.conf: 2019-01-15T04:51:59.517661

Revision history for this message
Prasanna Loganathar (pvl) wrote :
description: updated
affects: procps (Ubuntu) → ubuntu
description: updated
description: updated
description: updated
summary: - Better kernel core dump defaults
+ Better kernel core dump defaults [switch to systemd-coredump]
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.