https://bugs.kde.org/show_bug.cgi?id=478624
Bug ID: 478624 Summary: Valgrind incompatibility with binutils-2.42 on x86 Classification: Developer tools Product: valgrind Version: 3.22 GIT Platform: Other OS: Other Status: REPORTED Severity: normal Priority: NOR Component: memcheck Assignee: jsew...@acm.org Reporter: s...@gentoo.org CC: aurel...@aurel32.net, debfx-...@fobos.de, s...@extundo.com Target Milestone: --- [Forgive me, as I've not yet hit this myself, but reporting it based on the Debian bug after discussing it with mjw.] The upcoming binutils-2.42 release [0] seems to be incompatible with Valgrind on x86 after a commit landed [1] to emit additional nop patterns which Valgrind doesn't yet recognise. This was originally reported in Debian [2] (CC'd some of the participants whose emails I could find on here). In the linked Debian bug, Simon gives a simple reproducer w/ output: ``` 117s vex x86->IR: unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26 117s ==5711== valgrind: Unrecognised instruction at address 0x4d285c8. 117s ==5711== at 0x4D285C8: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27893: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27B0E: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27069: gss_import_name (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x486BA0F: ??? (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x485757C: gsasl_step (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x4857623: gsasl_step64 (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x10B387: ??? (in /usr/bin/gsasl) 117s ==5711== by 0x4ADE7C4: (below main) (libc_start_call_main.h:58) 117s ==5711== Your program just tried to execute an instruction that Valgrind 117s ==5711== did not recognise. There are two possible reasons for this. 117s ==5711== 1. Your program has a bug and erroneously jumped to a non-code 117s ==5711== location. If you are running Memcheck and you just saw a 117s ==5711== warning about a bad jump, it's probably your program's fault. 117s ==5711== 2. The instruction is legitimate but Valgrind doesn't handle it, 117s ==5711== i.e. it's Valgrind's fault. If you think this is the case or 117s ==5711== you are not sure, please let us know and we'll try to fix it. 117s ==5711== Either way, Valgrind will now raise a SIGILL signal which will 117s ==5711== probably kill your program. 117s ==5711== 117s ==5711== Process terminating with default action of signal 4 (SIGILL) 117s ==5711== Illegal opcode at address 0x4D285C8 117s ==5711== at 0x4D285C8: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27893: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27B0E: ??? (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x4D27069: gss_import_name (in /usr/lib/i386-linux-gnu/libgssglue.so.1.0.0) 117s ==5711== by 0x486BA0F: ??? (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x485757C: gsasl_step (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x4857623: gsasl_step64 (in /usr/lib/i386-linux-gnu/libgsasl.so.18.0.0) 117s ==5711== by 0x10B387: ??? (in /usr/bin/gsasl) 117s ==5711== by 0x4ADE7C4: (below main) (libc_start_call_main.h:58) ``` with steps to reproduce: ``` podman run --arch 386 -it --rm debian:unstable-slim apt update apt install valgrind gsasl apt dist-upgrade valgrind --error-exitcode=1 /usr/bin/gsasl -m GSSAPI -d --no-starttls --imap no-such-domain.example 143 ``` [0] https://inbox.sourceware.org/binutils/0f118fd8-5630-4742-a353-3309e6285...@redhat.com/T/#u [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ad9f3230565ca40bfa1d9a3106aaaa272cb125f2 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057693 -- You are receiving this mail because: You are watching all bug changes.