Public bug reported:
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System ->
About Ubuntu
# lsb_release -rd
Description:Ubuntu 18.04.1 LTS
Release:18.04
2) The version of the package you are using, via 'apt-cache policy pkgname' or
by checking in Software Center
# apt-cache policy postfix
postfix:
Installed: 3.3.0-1ubuntu0.2
Candidate: 3.3.0-1ubuntu0.2
Version table:
*** 3.3.0-1ubuntu0.2 500
500 http://azure.archive.ubuntu.com/ubuntu bionic-updates/main amd64
Packages
100 /var/lib/dpkg/status
3.3.0-1 500
500 http://azure.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
# apt-cache policy postfix-dbgsym
postfix-dbgsym:
Installed: 3.3.0-1ubuntu0.2
Candidate: 3.3.0-1ubuntu0.2
Version table:
*** 3.3.0-1ubuntu0.2 500
500 http://ddebs.ubuntu.com bionic-updates/main amd64 Packages
100 /var/lib/dpkg/status
3.3.0-1 500
500 http://ddebs.ubuntu.com bionic/main amd64 Packages
3) What you expected to happen
Installing postfix-dbgsym and attaching gdb to postfix loads a debugging
symbol file and debugging symbols are found from it
4) What happened instead
Installing postfix-dbgsym and attaching gdb to postfix loads a debugging
symbol file but debugging symbols are not found from it
I followed the instructions at
https://wiki.ubuntu.com/Debug%20Symbol%20Packages and installed postfix-
dbgsym.
However, when I try to attach gdb with gdb -p , I get:
'Reading symbols from /usr/lib/postfix/sbin/master...Reading symbols
from /usr/lib/debug/.build-
id/e0/c259ef26eda076310a6dd3eccb419ce8eb1c50.debug...(no debugging
symbols found)...done.'
The .debug file in question does exist on the filesystem, and a quick
dpkg -S shows that it was provided by the postfix-dbgsym package. All
packages are up to date up to bionic-updates, and no processes on the
system are running on outdated libraries (searching lsof for DEL).
Running objdump -g on /usr/lib/debug/.build-
id/e0/c259ef26eda076310a6dd3eccb419ce8eb1c50.debug merely prints:
/usr/lib/debug/.build-id/e0/c259ef26eda076310a6dd3eccb419ce8eb1c50.debug:
file format elf64-x86-64
Contents of the .eh_frame section:
ZERO terminator
The size of this .debug file is 14K; compare to the .debug file for
libpthread.so.0, which was 2.3M and does provide quite a lot of output
with objdump -g.
I'm struggling to get through the debian/rules file for postfix, but I can see
that:
- STRIP=y gets set depending on a test, and dh_strip -a runs if $(STRIP) is
*empty* (see: [ -n "$(STRIP)" ] || dh_strip -a ).
- The same test structure gets used for checking nostrip in args then setting
STRIP=y, and for checking debug in args then setting DEBUG += -g. If said test
means something like `word not in args`, then the DEBUG += -g seems like it's
wrong; if it instead ends up meaning something like `word in args`, then the
STRIP=y seems like it's wrong?
Manually forcing DEBUG to -g and STRIP to "" produces a set of packages with
stripped binaries.
Manually forcing DEBUG to -g and STRIP to n gets me a set of packages with
binaries including debugging info, which was enough to let me work around the
problem.
I believe there is at least *something* wrong in the
postfix/debian/rules file, but I'm not yet sure what a complete listing
would be exactly, or even if it's the root cause, so to speak.
** Affects: postfix (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1812571
Title:
postfix-dbgsym package has empty .debug files; debian/rules dh_strip
confusion
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/postfix/+bug/1812571/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs