Generate core dumps for packaged programs as well
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apport (Ubuntu) |
Fix Released
|
High
|
Martin Pitt |
Bug Description
Binary package hint: apport
apport drops cores generated by SIGABRT entirely - the core is not preserved.
The comment in the code - that SIGABRT might not capture some pieces of information - is not sufficient to justify dropping the ENTIRE core.
Significant app that uses SIGABRT and expects cores: any VMware product, which fork then send themselves a SIGABRT to generate a core.
Other behaviors would be nice but are doable via package-hooks; problem is, apport drops the core before it even makes it that far.
Here's an (untested) patch that describes the minimum change that needs to happen (yes, for Feisty):
--- bin/apport.bak 2007-03-13 13:36:46.000000000 -0700
+++ bin/apport 2007-03-13 13:37:37.000000000 -0700
@@ -211,10 +211,10 @@
if coredump and coredump != '-' and os.environ.
- # ignore SIGQUIT (it's usually deliberately generated by users) and SIGABRT- # (we currently have no way of extracting abort() messages or mono's stderr- # for stack traces).
- if signum == str(signal.SIGQUIT) or signum == str(signal.
+ # ignore SIGQUIT (it's usually deliberately generated by users).
+ # For SIGABRT, we currently have no way of extracting abort()
+ # messages or mono's stderr for stack traces.
+ if signum == str(signal.
error_
Changed in apport: | |
status: | In Progress → Fix Committed |
Changed in apport: | |
importance: | Low → High |
Changed in apport: | |
status: | In Progress → Fix Committed |
For packaged programs, feisty's apport does not *ever* save core dumps, because /proc/sys/ kernel/ core_pattern now points to a pipe instead of a file.
Apport does generate core files for unpackaged programs if ulimits permit. I'll move the check for SIGABRT down after the core file creation, so that SIGABRT will generate cores for those programs.