Verified with 1:3.15.0-1ubuntu3.1 on Eoan:
root@ee-valgrind:~# echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse > deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted > universe multiverse > deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted > universe multiverse" | \ > sudo tee -a /etc/apt/sources.list.d/ddebs.list deb http://ddebs.ubuntu.com eoan main restricted universe multiverse deb http://ddebs.ubuntu.com eoan-updates main restricted universe multiverse deb http://ddebs.ubuntu.com eoan-proposed main restricted universe multiverse root@ee-valgrind:~# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F2EDC64DC5AEE1F6B9C621F0C8CAB6595FDFF622 Executing: /tmp/apt-key-gpghome.p3fDDHpLDX/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys F2EDC64DC5AEE1F6B9C621F0C8CAB6595FDFF622 gpg: key C8CAB6595FDFF622: 4 signatures not checked due to missing keys gpg: key C8CAB6595FDFF622: public key "Ubuntu Debug Symbol Archive Automatic Signing Key (2016) <ubuntu-arch...@lists.ubuntu.com>" imported gpg: Total number processed: 1 gpg: imported: 1 root@ee-valgrind:~# apt update -qq 28 packages can be upgraded. Run 'apt list --upgradable' to see them. root@ee-valgrind:~# apt install libglib2.0-0-dbgsym=2.62.1-1 Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libfreetype6 Use 'apt autoremove' to remove it. The following NEW packages will be installed: libglib2.0-0-dbgsym 0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded. Need to get 3738 kB of archives. After this operation, 4418 kB of additional disk space will be used. Get:1 http://ddebs.ubuntu.com eoan/main amd64 libglib2.0-0-dbgsym amd64 2.62.1-1 [3738 kB] Fetched 3738 kB in 0s (60.2 MB/s) Selecting previously unselected package libglib2.0-0-dbgsym:amd64. (Reading database ... 30827 files and directories currently installed.) Preparing to unpack .../libglib2.0-0-dbgsym_2.62.1-1_amd64.ddeb ... Unpacking libglib2.0-0-dbgsym:amd64 (2.62.1-1) ... Setting up libglib2.0-0-dbgsym:amd64 (2.62.1-1) ... root@ee-valgrind:~# valgrind gio ~ ==2560== Memcheck, a memory error detector ==2560== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==2560== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==2560== Command: gio /root ==2560== --2560-- WARNING: Serious error when reading debug info --2560-- When reading debug info from /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.6200.1: --2560-- debuginfo section duplicates a section in the main ELF file --2560-- WARNING: Serious error when reading debug info --2560-- When reading debug info from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6200.1: --2560-- debuginfo section duplicates a section in the main ELF file --2560-- WARNING: Serious error when reading debug info --2560-- When reading debug info from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6200.1: --2560-- debuginfo section duplicates a section in the main ELF file Usage: gio COMMAND [ARGS…] Commands: help Print help version Print version cat Concatenate files to standard output copy Copy one or more files info Show information about locations list List the contents of locations mime Get or set the handler for a mimetype mkdir Create directories monitor Monitor files and directories for changes mount Mount or unmount the locations move Move one or more files open Open files with the default application rename Rename a file remove Delete one or more files save Read from standard input and save set Set a file attribute trash Move files or directories to the trash tree Lists the contents of locations in a tree Use “gio help COMMAND” to get detailed help. ==2560== ==2560== HEAP SUMMARY: ==2560== in use at exit: 36,900 bytes in 236 blocks ==2560== total heap usage: 634 allocs, 398 frees, 75,138 bytes allocated ==2560== ==2560== LEAK SUMMARY: ==2560== definitely lost: 0 bytes in 0 blocks ==2560== indirectly lost: 0 bytes in 0 blocks ==2560== possibly lost: 1,352 bytes in 18 blocks ==2560== still reachable: 35,548 bytes in 218 blocks ==2560== of which reachable via heuristic: ==2560== newarray : 1,536 bytes in 16 blocks ==2560== suppressed: 0 bytes in 0 blocks ==2560== Rerun with --leak-check=full to see details of leaked memory ==2560== ==2560== For lists of detected and suppressed errors, rerun with: -s ==2560== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) root@ee-valgrind:~# sed -i s/backports/proposed/ /etc/apt/sources.list root@ee-valgrind:~# apt update -qq 40 packages can be upgraded. Run 'apt list --upgradable' to see them. root@ee-valgrind:~# apt install -qq valgrind The following package was automatically installed and is no longer required: libfreetype6 Use 'apt autoremove' to remove it. Suggested packages: valgrind-dbg valgrind-mpi kcachegrind alleyoop valkyrie The following packages will be upgraded: valgrind 1 upgraded, 0 newly installed, 0 to remove and 39 not upgraded. Need to get 20.3 MB of archives. After this operation, 361 kB disk space will be freed. (Reading database ... 30847 files and directories currently installed.) Preparing to unpack .../valgrind_1%3a3.15.0-1ubuntu3.1_amd64.deb ... Unpacking valgrind (1:3.15.0-1ubuntu3.1) over (1:3.15.0-1ubuntu3) ... Setting up valgrind (1:3.15.0-1ubuntu3.1) ... Processing triggers for man-db (2.8.7-3) ... root@ee-valgrind:~# valgrind gio ~ ==3271== Memcheck, a memory error detector ==3271== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==3271== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==3271== Command: gio /root ==3271== Usage: gio COMMAND [ARGS…] Commands: help Print help version Print version cat Concatenate files to standard output copy Copy one or more files info Show information about locations list List the contents of locations mime Get or set the handler for a mimetype mkdir Create directories monitor Monitor files and directories for changes mount Mount or unmount the locations move Move one or more files open Open files with the default application rename Rename a file remove Delete one or more files save Read from standard input and save set Set a file attribute trash Move files or directories to the trash tree Lists the contents of locations in a tree Use “gio help COMMAND” to get detailed help. ==3271== ==3271== HEAP SUMMARY: ==3271== in use at exit: 36,900 bytes in 236 blocks ==3271== total heap usage: 634 allocs, 398 frees, 75,138 bytes allocated ==3271== ==3271== LEAK SUMMARY: ==3271== definitely lost: 0 bytes in 0 blocks ==3271== indirectly lost: 0 bytes in 0 blocks ==3271== possibly lost: 1,352 bytes in 18 blocks ==3271== still reachable: 35,548 bytes in 218 blocks ==3271== of which reachable via heuristic: ==3271== newarray : 1,536 bytes in 16 blocks ==3271== suppressed: 0 bytes in 0 blocks ==3271== Rerun with --leak-check=full to see details of leaked memory ==3271== ==3271== For lists of detected and suppressed errors, rerun with: -s ==3271== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ** Description changed: [Impact] - * With dwz the .gnu_debuglink section may appear duplicated in the + * With dwz the .gnu_debuglink section may appear duplicated in the debug file referenced originally in the .gnu_debuglink section. In that case Valgrind fails to load the debug symbols. [Test Case] - * In Ubuntu releases earlier than 19.10 use gio from a package rebuilt with dwz. - * Observe no relevant error when running gio with valgrind: - $ valgrind /usr/bin/gio ~ + * In Ubuntu releases earlier than 19.10 use gio from a package rebuilt with dwz. + * Install debug symbols for gio following the guide at https://wiki.ubuntu.com/Debug%20Symbol%20Packages + * Observe no relevant error when running gio with valgrind: + $ valgrind /usr/bin/gio ~ [Regression Potential] - * The fix is very simple, just ignoring the second .gnu_debuglink + * The fix is very simple, just ignoring the second .gnu_debuglink found. There are no likely regressions. [Original Bug Text] The debug symbols from libglib2.0-0-dbgsym and libgtk-3-0-dbgsym don't get properly picked up by valgrind in eoan for some reason. The symbols correctly work under gdb. There is an warning printed from valgrind 'debuginfo section duplicates a section in the main ELF file' Laney tried to rebuild without dh_dwz and it makes the warning go away and the symbol work. Downgrading valgrind to the disco version doesn't fix the issue. ** Tags removed: verification-needed verification-needed-eoan ** Tags added: verification-done verification-done-eoan -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1848211 Title: [SRU] valgrind fails to use debug symbols from glib/gtk To manage notifications about this bug go to: https://bugs.launchpad.net/valgrind/+bug/1848211/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs