apport-retrace needs initial data collection
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apport (Ubuntu) |
Invalid
|
High
|
Unassigned |
Bug Description
I have only tested this on trusty so far.
Steps to reproduce:
Install apport apport-retrace and setup ddeb apt.sources.
Launch a vm
sudo kill -SIGABRT <qemu pid>
wait for /var/crash/
apport-retrace -g -S system _usr_bin_
What happens:
ERROR: report file does not contain one of the required fields: CoreDump DistroRelease Package ExecutablePath
What I expect to happen:
gdb session to be launched
Additional Information:
$ egrep "(CoreDump|
DistroRelease: Ubuntu 14.04
ExecutablePath: /usr/bin/
CoreDump: base64
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: apport 2.14.1-0ubuntu3
ProcVersionSign
Uname: Linux 3.13.0-18-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
CrashReports: 640:106:
Date: Fri May 2 15:48:59 2014
InstallationDate: Installed on 2014-03-17 (46 days ago)
InstallationMedia: Ubuntu-Server 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140313)
PackageArchitec
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: apport
UpgradeStatus: No upgrade log present (probably fresh install)
As a workaround I can add the 'Package: qemu' line in the .crash file.
If I do this the following happens:
$ apport-retrace -g -S system _usr_bin_ qemu-system- x86_64. 106.crash Installing extra package qemu-system-x86 to get ExecutablePath gnu.org/ licenses/ gpl.html> www.gnu. org/software/ gdb/bugs/>. www.gnu. org/software/ gdb/documentati on/>. sandbox_ jPKPtQ/ /usr/bin/ qemu-system- x86_64. ..(no debugging symbols found)...done. 64-linux- gnu/libthread_ db.so.1" . sandbox_ jPKPtQ/ usr/lib/ debug/usr/ lib/x86_ 64-linux- gnu/libstdc+ +.so.6. 0.19-gdb. py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir: $datadir/ auto-load" . load-safe- path /tmp/apport_ sandbox_ jPKPtQ/ usr/lib/ debug/usr/ lib/x86_ 64-linux- gnu/libstdc+ +.so.6. 0.19-gdb. py arges/. gdbinit" . arges/. gdbinit" . 1.7,accel= '. a4c0, nfds=10, timeout=<optimized out>, sigmask=0x0) unix/sysv/ linux/ppoll. c:56 unix/sysv/ linux/ppoll. c: No such file or directory. a4c0, nfds=10, timeout=<optimized out>, sigmask=0x0) unix/sysv/ linux/ppoll. c:56 42770, argc=58, argv=0x7fff04e8 e0a8, <optimized out>, stack_end= 0x7fff04e8e098)
GNU gdb (Ubuntu 7.7-0ubuntu3) 7.7
Copyright (C) 2014 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_
warning: core file may not match specified executable file.
[New LWP 3478]
[New LWP 3483]
[New LWP 3481]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_
warning: File "/tmp/apport_
To enable execution of this file add
add-auto-
line to your configuration file "/home/
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
Core was generated by `qemu-system-x86_64 -enable-kvm -name lp1254120 -S -machine pc-i440fx-
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f00a770607f in __GI_ppoll (fds=0x7f00af91
at ../sysdeps/
56 ../sysdeps/
(gdb) bt
#0 0x00007f00a770607f in __GI_ppoll (fds=0x7f00af91
at ../sysdeps/
#1 0x00007f00ad5d4ee9 in ?? ()
#2 0x00007f00ad59abd4 in ?? ()
#3 0x00007f00ad443d06 in ?? ()
#4 0x00007f00a7639ec5 in __libc_start_main (main=0x7f00ad4
init=<optimized out>, fini=<optimized out>, rtld_fini=
at libc-start.c:287
#5 0x00007f00ad44825c in ?? ()
Now I see most of the symbols resolved execpt a choice few. Is this a bug with how qemu's debug symbols are generated?