Gutsy x86-64 libc/gcc COMPLETELY BREAK valgrind

Bug #133362 reported by Luca Barbieri on 2007-08-18
This bug report is a duplicate of:  Bug #148465: Valgrind fails on most apps on amd64. Edit Remove
8
Affects Status Importance Assigned to Milestone
valgrind (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: valgrind

$ valgrind /bin/true
==15931== Memcheck, a memory error detector.
==15931== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==15931== Using LibVEX rev 1732, a library for dynamic binary translation.
==15931== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==15931== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation framework.
==15931== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==15931== For more details, rerun with: -v
==15931==
==15931== Conditional jump or move depends on uninitialised value(s)
==15931== at 0x4015B17: strlen (in /lib/ld-2.6.1.so)
==15931== by 0x400521C: fillin_rpath (in /lib/ld-2.6.1.so)
==15931== by 0x4007D36: _dl_init_paths (in /lib/ld-2.6.1.so)
==15931== by 0x4003329: dl_main (in /lib/ld-2.6.1.so)
==15931== by 0x4014457: _dl_sysdep_start (in /lib/ld-2.6.1.so)
==15931== by 0x400230A: _dl_start (in /lib/ld-2.6.1.so)
==15931== by 0x4000A67: (within /lib/ld-2.6.1.so)
vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66
==15931== valgrind: Unrecognised instruction at address 0x4016321.
==15931== Your program just tried to execute an instruction that Valgrind
==15931== did not recognise. There are two possible reasons for this.
==15931== 1. Your program has a bug and erroneously jumped to a non-code
==15931== location. If you are running Memcheck and you just saw a
==15931== warning about a bad jump, it's probably your program's fault.
==15931== 2. The instruction is legitimate but Valgrind doesn't handle it,
==15931== i.e. it's Valgrind's fault. If you think this is the case or
==15931== you are not sure, please let us know and we'll try to fix it.
==15931== Either way, Valgrind will now raise a SIGILL signal which will
==15931== probably kill your program.
==15931==
==15931== Process terminating with default action of signal 4 (SIGILL)
==15931== Illegal opcode at address 0x4016321
==15931== at 0x4016321: memcpy (in /lib/ld-2.6.1.so)
==15931== by 0x400466E: dl_main (in /lib/ld-2.6.1.so)
==15931== by 0x4014457: _dl_sysdep_start (in /lib/ld-2.6.1.so)
==15931== by 0x400230A: _dl_start (in /lib/ld-2.6.1.so)
==15931== by 0x4000A67: (within /lib/ld-2.6.1.so)
==15931==
==15931== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==15931== malloc/free: in use at exit: 0 bytes in 0 blocks.
==15931== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==15931== For counts of detected errors, rerun with: -v
==15931== All heap blocks were freed -- no leaks are possible.
Illegal instruction (core dumped)

plord (peter-plord) wrote :

Just hit this myself as well.

It looks like this has already been fixed, see http://bugs.kde.org/show_bug.cgi?id=148447

Kow (kow) wrote :

This should be pushed through the repositories as it renders valgrind unusable otherwise. Its a very simple fix (one line). There current release of valgrind does not include the bug fix but their CVS does. If I were the ubuntu devs (i'm not) I would create an ubuntu patch for the 3.2.3 valgrind release plus whatever patches are already being applied in the current valgrind release.

Albert Astals Cid (aacid) wrote :

works now for me

Changed in valgrind:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.