Hi, I'm not sure what to make of the error message I just got out of valgrind 3.7.0. This is for a binary compiled by gcc 4.6.1 on ubuntu 11.10 ( Intel® Core™ i7-2720QM CPU @ 2.20GHz × 8 ). uname returns this: Linux glacier 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 17:23:00 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
The binary was compiled with the following gcc flags. -I. -lrt -pthread -O3 -Wall -m64 -Wextra -mtune=native -march=native -g If I change from -O3 to -O2 the error message goes away. Thank you! Matt selector_init: Initiating selector... vex amd64->IR: unhandled instruction bytes: 0xC5 0xF9 0x6E 0xD0 0x8D 0x48 ==4987== valgrind: Unrecognised instruction at address 0x403d45. ==4987== Your program just tried to execute an instruction that Valgrind ==4987== did not recognise. There are two possible reasons for this. ==4987== 1. Your program has a bug and erroneously jumped to a non-code ==4987== location. If you are running Memcheck and you just saw a ==4987== warning about a bad jump, it's probably your program's fault. ==4987== 2. The instruction is legitimate but Valgrind doesn't handle it, ==4987== i.e. it's Valgrind's fault. If you think this is the case or ==4987== you are not sure, please let us know and we'll try to fix it. ==4987== Either way, Valgrind will now raise a SIGILL signal which will ==4987== probably kill your program. ==4987== ==4987== Process terminating with default action of signal 4 (SIGILL) ==4987== Illegal opcode at address 0x403D45 ==4987== at 0x403D45: selector_init (Selector.c:200) ==4987== by 0x402357: tess_control_server (tess_impl.c:634) ==4987== by 0x401058: main (tess.c:102) ==4987== ==4987== HEAP SUMMARY: ==4987== in use at exit: 2,015,410,696 bytes in 90 blocks ==4987== total heap usage: 90 allocs, 0 frees, 2,015,410,696 bytes allocated ==4987== ==4987== 1,816 bytes in 1 blocks are definitely lost in loss record 2 of 4 ==4987== at 0x4C279F2: calloc (vg_replace_malloc.c:467) ==4987== by 0x403C3C: selector_init (Selector.c:258) ==4987== by 0x402357: tess_control_server (tess_impl.c:634) ==4987== by 0x401058: main (tess.c:102) ==4987== ==4987== LEAK SUMMARY: ==4987== definitely lost: 1,816 bytes in 1 blocks ==4987== indirectly lost: 0 bytes in 0 blocks ==4987== possibly lost: 0 bytes in 0 blocks ==4987== still reachable: 2,015,408,880 bytes in 89 blocks ==4987== suppressed: 0 bytes in 0 blocks ==4987== Reachable blocks (those to which a pointer was found) are not shown. ==4987== To see them, rerun with: --leak-check=full --show-reachable=yes ==4987== ==4987== For counts of detected and suppressed errors, rerun with: -v ==4987== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4) Illegal instruction ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
