[Bug 296803] New: valgrind on x86_64: vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66
https://bugzilla.novell.com/show_bug.cgi?id=296803 Summary: valgrind on x86_64: vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66 Product: openSUSE 10.3 Version: Alpha 6 Platform: x86-64 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Development AssignedTo: dmueller@novell.com ReportedBy: bk@novell.com QAContact: qa@suse.de Found By: Development valgrind currently dies on all dynamically linked programs which I tried on x86_64 very early when ld-2.6.so loads the shared libraries which the program needs: valgrind -q pwd vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66 ==18669== valgrind: Unrecognised instruction at address 0x4015071. ==18669== Your program just tried to execute an instruction that Valgrind ==18669== did not recognise. There are two possible reasons for this. ==18669== 1. Your program has a bug and erroneously jumped to a non-code ==18669== location. If you are running Memcheck and you just saw a ==18669== warning about a bad jump, it's probably your program's fault. ==18669== 2. The instruction is legitimate but Valgrind doesn't handle it, ==18669== i.e. it's Valgrind's fault. If you think this is the case or ==18669== you are not sure, please let us know and we'll try to fix it. ==18669== Either way, Valgrind will now raise a SIGILL signal which will ==18669== probably kill your program. ==18669== ==18669== Process terminating with default action of signal 4 (SIGILL): dumping core ==18669== Illegal opcode at address 0x4015071 ==18669== at 0x4015071: memcpy (in /lib64/ld-2.6.so) ==18669== by 0x4004373: dl_main (rtld.c:1618) ==18669== by 0x40132DF: _dl_sysdep_start (dl-sysdep.c:239) ==18669== by 0x4001FDF: _dl_start (rtld.c:325) ==18669== by 0x4000A67: (within /lib64/ld-2.6.so) Illegal instruction Output is the same for all dynamically linked programs which I tried, except for: valgrind -q /lib64/ld-2.6.so --list /bin/bash vex amd64->IR: unhandled instruction bytes: 0x66 0x66 0x66 0x66 ==18683== valgrind: Unrecognised instruction at address 0x15071. ==18683== Your program just tried to execute an instruction that Valgrind ==18683== did not recognise. There are two possible reasons for this. ==18683== 1. Your program has a bug and erroneously jumped to a non-code ==18683== location. If you are running Memcheck and you just saw a ==18683== warning about a bad jump, it's probably your program's fault. ==18683== 2. The instruction is legitimate but Valgrind doesn't handle it, ==18683== i.e. it's Valgrind's fault. If you think this is the case or ==18683== you are not sure, please let us know and we'll try to fix it. ==18683== Either way, Valgrind will now raise a SIGILL signal which will ==18683== probably kill your program. ==18683== ==18683== Process terminating with default action of signal 4 (SIGILL): dumping core ==18683== Illegal opcode at address 0x15071 ==18683== at 0x15071: memcpy (in /lib64/ld-2.6.so) ==18683== by 0x7B8E: _dl_map_object (dl-load.c:2167) ==18683== by 0xCFA: map_doit (rtld.c:621) ==18683== by 0xD1E5: _dl_catch_error (dl-error.c:178) ==18683== by 0xC7E: do_preload (rtld.c:805) ==18683== by 0x43DE: dl_main (rtld.c:1628) ==18683== by 0x132DF: _dl_sysdep_start (dl-sysdep.c:239) ==18683== by 0x1FDF: _dl_start (rtld.c:325) ==18683== by 0xA67: (within /lib64/ld-2.6.so) vex amd64->IR: unhandled instruction bytes: 0x60 0xA 0x0 0x0 ==18683== ==18683== Process terminating with default action of signal 11 (SIGSEGV) ==18683== Bad permissions for mapped region at address 0x6C ==18683== at 0x33E: (within /lib64/ld-2.6.so) ==18683== by 0x7B8E: _dl_map_object (dl-load.c:2167) ==18683== by 0xCFA: map_doit (rtld.c:621) ==18683== by 0xD1E5: _dl_catch_error (dl-error.c:178) ==18683== by 0xC7E: do_preload (rtld.c:805) ==18683== by 0x43DE: dl_main (rtld.c:1628) ==18683== by 0x132DF: _dl_sysdep_start (dl-sysdep.c:239) ==18683== by 0x1FDF: _dl_start (rtld.c:325) ==18683== by 0xA67: (within /lib64/ld-2.6.so) Segmentation fault Which at first gets the same unrecognized instructoin bytes but continues and later dies on: 0x60 0xA 0x0 0x0 - But maybe that's just a follow-up error and maybe does not occur when the first is fixed. Valgrind SVN trunk gives a different error much earlyer (is currently broken) Dirk Mueller told me that this was triggered by the new binutils which uses a new way of writing NOPs which is not yet known to valgrind. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=296803#c1
Dirk Mueller
https://bugzilla.novell.com/show_bug.cgi?id=296803#c2
Dirk Mueller
participants (1)
-
bugzilla_noreply@novell.com