|
From: Zhu, Y. <Yan...@vi...> - 2015-04-15 20:52:36
|
Has anyone seen this error in MIPS64 platform running Valgrind 3.10.1? # valgrind /var/www/cgi-bin/view_status.cgi ==1957== Memcheck, a memory error detector ==1957== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==1957== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==1957== Command: /var/www/cgi-bin/view_status.cgi ==1957== vex mips->IR: unhandled instruction bytes: 0xD8 0x5D 0x4 0x16 ==1957== valgrind: Unrecognised instruction at address 0x4002484. ==1957== at 0x4002484: dl_main (rtld.c:1301) ==1957== by 0x400243C: dl_main (rtld.c:1286) ==1957== Your program just tried to execute an instruction that Valgrind ==1957== did not recognise. There are two possible reasons for this. ==1957== 1. Your program has a bug and erroneously jumped to a non-code ==1957== location. If you are running Memcheck and you just saw a ==1957== warning about a bad jump, it's probably your program's fault. ==1957== 2. The instruction is legitimate but Valgrind doesn't handle it, ==1957== i.e. it's Valgrind's fault. If you think this is the case or ==1957== you are not sure, please let us know and we'll try to fix it. ==1957== Either way, Valgrind will now raise a SIGILL signal which will ==1957== probably kill your program. ==1957== ==1957== Process terminating with default action of signal 4 (SIGILL) ==1957== Illegal opcode at address 0x4002484 ==1957== at 0x4002484: dl_main (rtld.c:1301) ==1957== by 0x400243C: dl_main (rtld.c:1286) ==1957== ==1957== HEAP SUMMARY: ==1957== in use at exit: 0 bytes in 0 blocks ==1957== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==1957== ==1957== All heap blocks were freed -- no leaks are possible ==1957== ==1957== For counts of detected and suppressed errors, rerun with: -v ==1957== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction Thanks, Yanwen |