Bug 1280068

Summary: Build docker with DWARF
Product: Red Hat Enterprise Linux 7 Reporter: James W. Mills <jamills>
Component: dockerAssignee: Lokesh Mandvekar <lsm5>
Status: CLOSED ERRATA QA Contact: atomic-bugs <atomic-bugs>
Severity: high Docs Contact: Yoana Ruseva <yruseva>
Priority: high    
Version: 7.2CC: ajia, cevich, lfriedma, lsm5, tpoitras, uobergfe, yruseva
Target Milestone: rcKeywords: Extras
Target Release: 7.2   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: docker-1.8.2-9.el7 Doc Type: Release Note
Doc Text:
docker now supports the DWARF debug symbols The DWARF debug symbols are now included in the docker binaries. Previously, without the DWARF info, the ability to analyze Docker core files was very limited. This update makes debugging docker significantly easier. Additionally, DWARF is now also supported by the `kubernetes`, `etcd` and `flannel` packages.
Story Points: ---
Clone Of:
: 1280497 (view as bug list) Environment:
Last Closed: 2015-12-08 15:36:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1186913, 1271801, 1280497, 1287902    

Description James W. Mills 2015-11-10 21:21:32 UTC
Description of problem:

debug symbols are currently not included in docker binaries, and we are unable to strip debug symbols into *debug packages (https://bugzilla.redhat.com/show_bug.cgi?id=1236317).

Without DWARF debug info, GSS is unable to analyze docker core files.

Version-Release number of selected component (if applicable):

All versions of docker

How reproducible:

100%

Steps to Reproduce:
1. generate a docker corefile
2. open the core file up in gdb

Actual results:

No real usable information can be obtained

Expected results:

docker core can be analyzed as effectively as any other core file.

Additional info:

The progress that led to this BZ can be tracked in https://bugzilla.redhat.com/show_bug.cgi?id=1225093

Comment 5 Alex Jia 2015-11-20 10:31:21 UTC
To run debuginfo-install docker and sqlite then use gdb attach PID of docker and generate a core file for gdb debugging, the result as follows.

# gdb attach `pidof docker`

<slice>

runtime.futex () at /usr/lib/golang/src/runtime/sys_linux_amd64.s:278
278		MOVL	AX, ret+40(FP)
Missing separate debuginfos, use: debuginfo-install docker-1.8.2-10.el7.x86_64
(gdb) generate-core-file 
warning: target file /proc/8783/cmdline contained unexpected null characters
Saved corefile core.8783
(gdb) detach
Detaching from program: /usr/bin/docker, process 8783
(gdb) quit

</slice>

# gdb /usr/bin/docker core.8783

<slice>

Core was generated by `/usr/bin/docker'.
#0  runtime.futex () at /usr/lib/golang/src/runtime/sys_linux_amd64.s:278
278		MOVL	AX, ret+40(FP)
Missing separate debuginfos, use: debuginfo-install docker-1.8.2-10.el7.x86_64
(gdb) bt
#0  runtime.futex () at /usr/lib/golang/src/runtime/sys_linux_amd64.s:278
#1  0x000000000043c9c6 in runtime.futexsleep () at /usr/lib/golang/src/runtime/os_linux.c:55
#2  0x00000000004199e4 in runtime.notetsleep_internal (n=0x1779320 <runtime.sched+128>, ns=60000000000, ~r2=96) at /usr/lib/golang/src/runtime/lock_futex.go:170
#3  0x0000000000419af7 in runtime.notetsleep (n=0x1779320 <runtime.sched+128>, ns=60000000000, ~r2=true) at /usr/lib/golang/src/runtime/lock_futex.go:190
#4  0x00000000004442de in sysmon () at /usr/lib/golang/src/runtime/proc.c:2899
#5  0x000000000043f6b1 in mstart () at /usr/lib/golang/src/runtime/proc.c:859
#6  0x000000000043f5c4 in runtime.mstart () at /usr/lib/golang/src/runtime/proc.c:836
#7  0x00000000004044c4 in crosscall_amd64 () at /usr/lib/golang/src/runtime/cgo/gcc_amd64.S:35
#8  0x0000000000000000 in ?? ()
</slice>

NOTES: it still shows "Missing separate debuginfos, use: debuginfo-install docker-1.8.2-10.el7.x86_64", but in fact, No debuginfo packages available to install.

@Lokesh, is it enough testing for you? if so, I will close the bug as VERIFIED status.

Comment 14 Chris Evich 2015-12-02 16:42:24 UTC
Anyone know if we have QE/CI Automation in place to test for this in docker builds?

If so, then I'll delete https://trello.com/c/R11qqosC :D

Comment 16 errata-xmlrpc 2015-12-08 15:36:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2554.html