Bug 111739

Summary: Valgrind crashes with "illegal instruction" message (x86)
Product: [Developer tools] valgrind Reporter: Tom <darkvater>
Component: memcheckAssignee: Julian Seward <jseward>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: 3.0.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tom 2005-08-30 01:10:02 UTC
I compiled valgrind 3.0.0 from the tar.bz2 file (with both GCC4.0.0 and GCC3.3.
5) and it crashes on even the simples program (the example: ls; see below). I 
installed valgrind 2.2.0.5 from Yast (using SUSE9.3) and that works fine.

muaddib@Arrakis:/tmp/valgrind-3.0.0> uname -a
Linux Arrakis 2.6.11.4-21.8-default #1 Tue Jul 19 12:42:37 UTC 2005 i686 athlon 
i386 GNU/Linux


muaddib@Arrakis:/tmp/valgrind-3.0.0> valgrind -v --tool=memcheck ls -l
==19875== Memcheck, a memory error detector.
==19875== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==19875== Using LibVEX rev 1313, a library for dynamic binary translation.
==19875== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==19875== Using valgrind-3.0.0, a dynamic binary instrumentation framework.
==19875== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
--19875-- Valgrind library directory: /usr/local/lib/valgrind
--19875-- Command line
--19875--    ls
--19875--    -l
--19875-- Startup, with flags:
--19875--    -v
--19875--    --tool=memcheck
--19875-- Contents of /proc/version:
--19875--   Linux version 2.6.11.4-21.8-default (geeko@buildhost) (gcc version 
3.3.5 20050117 (prerelease) (SUSE Linux)) #1 Tue Jul 19 12:42:37 UTC 2005
--19875-- Reading syms from /bin/ls (0x8048000)
--19875--    object doesn't have a symbol table
--19875-- Reading syms from /lib/ld-2.3.4.so (0x1B8E4000)
--19875-- Reading syms from /usr/local/lib/valgrind/stage2 (0xB0000000)
--19875-- Reading suppressions file: /usr/local/lib/valgrind/default.supp
==19875==
==19875==
==19875== Process terminating with default action of signal 4 (SIGILL)
==19875==  Illegal operand at address 0xB0037EF4
==19875==    at 0x1B8E47C0: (within /lib/ld-2.3.4.so)
==19875==
==19875== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==19875== malloc/free: in use at exit: 0 bytes in 0 blocks.
==19875== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==19875==
==19875== No malloc'd blocks -- no leaks are possible.
--19875--  memcheck: sanity checks: 0 cheap, 1 expensive
--19875--  memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--19875--  memcheck: auxmaps: 0 searches, 0 comparisons
--19875--  memcheck: secondaries: 6 issued (384k, 0M)
--19875--  memcheck: secondaries: 0 accessible and distinguished (0k, 0M)
--19875--     tt/tc: 0 tt lookups requiring 0 probes
--19875--     tt/tc: 0 fast-cache updates, 1 flushes
--19875-- translate: new        0 (0 -> 0; ratio 0:10) [0 scs]
--19875-- translate: dumped     0 (0 -> ??)
--19875-- translate: discarded  0 (0 -> ??)
--19875-- scheduler: 0 jumps (bb entries).
--19875-- scheduler: 0/1 major/minor sched events.
--19875--    sanity: 1 cheap, 1 expensive checks.
--19875--    exectx: 4999 lists, 0 contexts (avg 0 per list)
--19875--    exectx: 0 searches, 0 full compares (0 per 1000)
--19875--    exectx: 0 cmp2, 0 cmp4, 0 cmpAll
Illegal instruction
Comment 1 Julian Seward 2005-08-30 04:37:36 UTC
This has already been fixed for 3.0.1.  Please let us know
if 3.0.1 does not work for you.

*** This bug has been marked as a duplicate of 110274 ***
Comment 2 Tom 2005-09-01 01:18:25 UTC
Yes, 3.0.1 fixed it. Sorry when I downloaded valgrind only 3.0.0 was available.
Comment 3 Nicholas Nethercote 2005-09-01 01:19:43 UTC
No problem, thanks for the confirmation.