This is related to the usrmerge transition. On a freshly debootstrapped disco environment, /lib is a symlink to /usr/lib, which means the canonical path for the debug symbols as looked for by valgrind is /usr/lib/debug/usr/lib/x86_64-linux-gnu/ld-2.28.so which does not exist; only /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.28.so exists and is not found.
Since we do not enforce the usrmerge transition on upgrade to disco, we need to ensure the system can compatibly resolve debug symbols on disco whether or not usrmerge is in effect. And this problem does not exclusively affect valgrind; other consumers of debug symbols, such as gdb, will also be affected. So I think the only correct solution here, if we are going to move forward w/ usrmerge by default for disco, is for something (e.g. base- files) to enforce on upgrade that /usr/lib/debug/{lib,bin,sbin} become symlinks to /usr/lib/debug/usr/foo, even if we don't do the usrmerge migration for / itself. ** Also affects: base-files (Ubuntu) Importance: Undecided Status: New ** Changed in: base-files (Ubuntu) Importance: Undecided => Critical ** Changed in: base-files (Ubuntu) Status: New => Triaged ** Changed in: base-files (Ubuntu) Assignee: (unassigned) => Dimitri John Ledkov (xnox) ** Changed in: valgrind (Ubuntu) Status: Confirmed => Triaged -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to base-files in Ubuntu. https://bugs.launchpad.net/bugs/1808508 Title: Valgrind doesn't work in disco [Fatal error at startup: a function redirection which is mandatory for this platform-tool combination cannot be set up.] Status in base-files package in Ubuntu: Triaged Status in valgrind package in Ubuntu: Triaged Bug description: $ valgrind /bin/ls ==25995== Memcheck, a memory error detector ==25995== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==25995== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==25995== Command: /bin/ls ==25995== valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strlen valgrind: in an object with soname matching: ld-linux-x86-64.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Note that if you are debugging a 32 bit process on a valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo valgrind: package (e.g. libc6-dbg:i386). valgrind: valgrind: Cannot continue -- exiting now. Sorry. ProblemType: Bug DistroRelease: Ubuntu 19.04 Package: valgrind 1:3.14.0-0ubuntu3 ProcVersionSignature: Ubuntu 4.18.0-11.12-generic 4.18.12 Uname: Linux 4.18.0-11-generic x86_64 ApportVersion: 2.20.10-0ubuntu14 Architecture: amd64 Date: Fri Dec 14 17:06:03 2018 InstallationDate: Installed on 2018-12-04 (10 days ago) InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Alpha amd64 (20181203) SourcePackage: valgrind UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/base-files/+bug/1808508/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp