Bug 729012

Summary: Debuginfo package issues in postgresql
Product: Red Hat Enterprise Linux 6 Reporter: Karel Klíč <kklic>
Component: postgresqlAssignee: Pavel Raiskup <praiskup>
Status: CLOSED CURRENTRELEASE QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: databases-maint, hhorak, praiskup, rvokal
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-25 08:27:40 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: 727919, 947775    
Attachments:
Description Flags
patch for spec file none

Description Karel Klíč 2011-08-08 15:19:26 UTC
Several problems related to debuginfo were found in the postgresql-8.4.7-2.el6 package. These issues might affect crash analysis done by Automatic Bug Reporting Tool and its retrace server, and also prevent proper debugging of crashes via GDB.

Debuginfo symbolic link pointing to another path
------------------------------------------------
Debuginfo package includes a symbolic link to each binary that has the debugging symbols stored there. For postgresql, one symbolic link does not point to the right binary, and that makes it impossible to use build ids from a coredump to get a list of packages required by it. Usually, this is a packaging error caused usually by placing identical binary into several locations instead of creating a symlink. If one copy of the binary is SUID/SGID, it is not possible to use symlink. You can add a dependency on bug #727872 and rebuild postgresql when that bug is fixed.

affected binary: /usr/lib/pgsql/test/regress/pg_regress
affected package: postgresql-test-8.4.7-2.el6.i686
referenced binary: /usr/lib/pgsql/pgxs/src/test/regress/pg_regress
referenced package: postgresql-devel-8.4.7-2.el6.i686
debuginfo symlink: /usr/lib/debug/.build-id/d3/e0e641035e9c7cfd8dafeaed34f677eaf607a6

This issue has been solved in Fedora by /usr/lib/rpm/find-debuginfo.sh creating additional symlinks for identical binaries. However, symlinks should be used instead of duplicating a binary when possible.

Debuginfo missing for binaries
------------------------------
Debuginfo files for some binaries are not present in the debuginfo package. This might be caused by:
 - binary being compiled without debugging information
 - debugging information being removed from the binary by a build script
 - rpmbuild failing to extract debugging information from a binary in a buildroot because of permissions (eg. suid binaries, binaries without executable flag set)

List of binaries without corresponding debuginfo file:
- affected binary: /usr/lib/pgsql/test/regress/autoinc.so
  affected package: postgresql-test-8.4.7-2.el6.i686
  binary doesn't contain debug sections (it was probably stripped)
  affected binary file mode: 100755
- affected binary: /usr/lib/pgsql/test/regress/regress.so
  affected package: postgresql-test-8.4.7-2.el6.i686
  binary doesn't contain debug sections (it was probably stripped)
  affected binary file mode: 100755
- affected binary: /usr/lib/pgsql/test/regress/refint.so
  affected package: postgresql-test-8.4.7-2.el6.i686
  binary doesn't contain debug sections (it was probably stripped)
  affected binary file mode: 100755

This issue can be investigated by using eu-readelf tool from the elfutils package. Use `eu-readelf --notes /path/to/binary` to get build ID of a binary. Then check that the debuginfo package does not contain /usr/lib/debug/.build-id/<aa>/<bbbbbbbb>, where <aa> are the first two chars of the build ID, and <bbbbbbbb> is the rest of it. It should be a symlink pointing back to the binary.

(This bug was detected and filed by a script.)

Comment 2 RHEL Program Management 2011-08-08 15:41:12 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 3 Honza Horak 2011-11-01 14:55:36 UTC
Created attachment 531145 [details]
patch for spec file

This patch removes unnecessary strip call and creates a symlink of pg_regress from -test to -devel subpackage to have the binary in only one package.

Comment 6 Pavel Raiskup 2016-07-25 08:27:40 UTC
Per comment #1, this should be already resolved for RHEL6 (see the depends on
bug) -- and Honza fixed this properly for Fedora (soon enough to have it
inherited in RHEL7).  This looks like a leftover bug and thus I'm closing..