Bug 836966

Summary: Backport gdb fix to handle identical binaries via additional build-id symlinks
Product: Red Hat Enterprise Linux 6 Reporter: Panu Matilainen <pmatilai>
Component: gdbAssignee: Sergio Durigan Junior <sergiodj>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: gbenson, jan.kratochvil, kklic, mcermak, mfranc, mpolacek, sergiodj
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 727872 Environment:
Last Closed: 2013-02-21 10:52:57 UTC Type: ---
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: 727872    
Bug Blocks: 728996, 729022, 729038    

Description Panu Matilainen 2012-07-02 10:53:20 UTC
+++ This bug was initially created as a clone of Bug #727872 +++

Description of problem:
find-debuginfo.sh that is present in rpm-4.8.0-16.el6 does not handle several binaries with the same build id well. The symbolic link pointing from debuginfo back to the binary (/usr/lib/debug/.build-id/<aa>/<bbbbb>) points to only one of the identical binaries.

In this situation it is not possible to get the list of all packages required to analyze a coredump from the coredump itself. Coredumps contain build-ids, but debuginfo packages cannot be used to get the binaries (paths) that can be turned into packages (for example, when a package containing the symlink target is not available in a RHEL variant). This lowers the success rate of ABRT's retrace server, which is being used to analyze coredumps from customers.

The fix for this is already present in Fedora. find-debuginfo.sh in Fedora creates additional .2, .3,... symlinks to handle additional instances of binary with a build-id.

Please consider backporting the Fedora extension/fix to RHEL-6.

Steps to Reproduce:
1. Crash /bin/perl from perl-5.10.1-119.el6.i686, get a coredump.
2. Coredump contains build-id f848b9e8ff059b14becc9acb6dfaf49d5e5052b0
3. /usr/lib/debug/.build-id/f8/48b9e8ff059b14becc9acb6dfaf49d5e5052b0 points to /usr/bin/suidperl, which is not available.

Expected results:
/usr/lib/debug/.build-id/f8/48b9e8ff059b14becc9acb6dfaf49d5e5052b0 points to /usr/bin/suidperl

/usr/lib/debug/.build-id/f8/48b9e8ff059b14becc9acb6dfaf49d5e5052b0.2 points to /bin/perl


--- Additional comment from pmatilai on 2012-07-02 04:30:17 EDT ---

devel_ack for the rpm side, but gdb needs to be patched to support this as well.

Comment 4 Sergio Durigan Junior 2012-08-08 17:35:41 UTC
Fix committed and pushed to rhel-6.4 branch.

Comment 8 errata-xmlrpc 2013-02-21 10:52:57 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.

http://rhn.redhat.com/errata/RHSA-2013-0522.html