Bug 836966 - Backport gdb fix to handle identical binaries via additional build-id symlinks
Summary: Backport gdb fix to handle identical binaries via additional build-id symlinks
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: gdb
Version: 6.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Sergio Durigan Junior
QA Contact: qe-baseos-tools
Depends On: 727872
Blocks: 728996 729022 729038
TreeView+ depends on / blocked
Reported: 2012-07-02 10:53 UTC by Panu Matilainen
Modified: 2013-02-21 10:52 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 727872
Last Closed: 2013-02-21 10:52:57 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2013:0522 normal SHIPPED_LIVE Moderate: gdb security and bug fix update 2013-02-20 21:28:43 UTC

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@redhat.com 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.


Note You need to log in before you can comment on or make changes to this bug.