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

Reply via email to