gdb sandbox can cause issues with gdb and glibc
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Apport |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Now that bug 1517257 is resolved and apport uses a sandbox with the release's latest version of gdb to retrace a crash we encountered a case where the retracers were hanging attempt to retrace a crash.
Come to find out this is because gdb depends on libc6 and the version of glibc installed in the sandbox was the latest one (because of the dependency) yet the crash report was using the older version of libc6 and gdb hung when loading the core file.
While we worked around this by deleting all the core files with an old version of libc6 it'd be better if gdb did not hang or apport gave up after a while.
bdmurray@
GNU gdb (Ubuntu 8.1-0ubuntu1) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://
Find the GDB manual and other documentation resources online at:
<http://
For help, type "help".
Type "apropos word" to search for commands related to "word".
Reading symbols from /tmp/apport_
done.
(gdb) core-file /home/bdmurray/
[New LWP 7620]
warning: .dynamic section for "/tmp/apport_
warning: .dynamic section for "/tmp/apport_
warning: .dynamic section for "/tmp/apport_
warning: .dynamic section for "/tmp/apport_
warning: .dynamic section for "/tmp/apport_
tags: | added: id-5abe9d56762ce62603abadfa |
Changed in apport: | |
status: | New → Fix Released |
A timeout was added for the call to gdb in the following apport change.
revno: 3191
committer: Brian Murray <email address hidden>
branch nick: trunk
timestamp: Mon 2018-03-12 09:55:08 -0700
message:
apport/report.py: Use timeout parameter in subprocess to limit how long we'll wait for gdb to return information as gdb can hang with some core files.