Bug 1086986 - Valgrind on rawhide broken, complains about illegal opcodes
Summary: Valgrind on rawhide broken, complains about illegal opcodes
Keywords:
Status: CLOSED DUPLICATE of bug 1087933
Alias: None
Product: Fedora
Classification: Fedora
Component: valgrind
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-12 10:08 UTC by Kalev Lember
Modified: 2014-04-27 10:35 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-04-27 10:35:03 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Kalev Lember 2014-04-12 10:08:19 UTC
I assume this is related to the gcc 4.9 update a few days ago. Running any program under valgrind now results in:

$ valgrind ls
==3143== Memcheck, a memory error detector
==3143== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==3143== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==3143== Command: ls
==3143== 
vex amd64->IR: unhandled instruction bytes: 0x66 0xF 0x1B 0x4 0x24 0x66 0xF 0x1B
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
vex amd64->IR:   PFX.66=1 PFX.F2=0 PFX.F3=0
==3143== valgrind: Unrecognised instruction at address 0x4017387.
==3143==    at 0x4017387: _dl_runtime_resolve (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x60CDE3B: __pthread_initialize_minimal (in /usr/lib64/libpthread-2.19.90.so)
==3143==    by 0x60CD570: ??? (in /usr/lib64/libpthread-2.19.90.so)
==3143==    by 0x1AF2848CFFFFFFFF: ???
==3143==    by 0x4010A6C: call_init.part.0 (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4010C2C: _dl_init (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4000D79: ??? (in /usr/lib64/ld-2.19.90.so)
==3143== Your program just tried to execute an instruction that Valgrind
==3143== did not recognise.  There are two possible reasons for this.
==3143== 1. Your program has a bug and erroneously jumped to a non-code
==3143==    location.  If you are running Memcheck and you just saw a
==3143==    warning about a bad jump, it's probably your program's fault.
==3143== 2. The instruction is legitimate but Valgrind doesn't handle it,
==3143==    i.e. it's Valgrind's fault.  If you think this is the case or
==3143==    you are not sure, please let us know and we'll try to fix it.
==3143== Either way, Valgrind will now raise a SIGILL signal which will
==3143== probably kill your program.
==3143== 
==3143== Process terminating with default action of signal 4 (SIGILL)
==3143==  Illegal opcode at address 0x4017387
==3143==    at 0x4017387: _dl_runtime_resolve (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x60CDE3B: __pthread_initialize_minimal (in /usr/lib64/libpthread-2.19.90.so)
==3143==    by 0x60CD570: ??? (in /usr/lib64/libpthread-2.19.90.so)
==3143==    by 0x1AF2848CFFFFFFFF: ???
==3143==    by 0x4010A6C: call_init.part.0 (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4010C2C: _dl_init (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4000D79: ??? (in /usr/lib64/ld-2.19.90.so)
==3143== valgrind: Unrecognised instruction at address 0x4017387.
==3143==    at 0x4017387: _dl_runtime_resolve (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4A266B1: _vgnU_freeres (in /usr/lib64/valgrind/vgpreload_core-amd64-linux.so)
==3143== Your program just tried to execute an instruction that Valgrind
==3143== did not recognise.  There are two possible reasons for this.
==3143== 1. Your program has a bug and erroneously jumped to a non-code
==3143==    location.  If you are running Memcheck and you just saw a
==3143==    warning about a bad jump, it's probably your program's fault.
==3143== 2. The instruction is legitimate but Valgrind doesn't handle it,
==3143==    i.e. it's Valgrind's fault.  If you think this is the case or
==3143==    you are not sure, please let us know and we'll try to fix it.
==3143== Either way, Valgrind will now raise a SIGILL signal which will
==3143== probably kill your program.
==3143== 
==3143== Process terminating with default action of signal 4 (SIGILL)
==3143==  Illegal opcode at address 0x4017387
==3143==    at 0x4017387: _dl_runtime_resolve (in /usr/lib64/ld-2.19.90.so)
==3143==    by 0x4A266B1: _vgnU_freeres (in /usr/lib64/valgrind/vgpreload_core-amd64-linux.so)
==3143== 
==3143== HEAP SUMMARY:
==3143==     in use at exit: 0 bytes in 0 blocks
==3143==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==3143== 
==3143== All heap blocks were freed -- no leaks are possible
==3143== 
==3143== For counts of detected and suppressed errors, rerun with: -v
==3143== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction

Comment 1 Mark Wielaard 2014-04-27 10:35:03 UTC
Marking as duplicate of bug #1087933 which has a bit more information and a link to the upstream bug.

*** This bug has been marked as a duplicate of bug 1087933 ***


Note You need to log in before you can comment on or make changes to this bug.