Hello!

I am having issues using valgrind on my project. I am getting an "Illegal
opcode" error. This is the full invocation and the log:

132 tobbe@archosaurus ~/projects/blocks (git)-[master] % valgrind
./bin/blocks
                          :(
==21008== Memcheck, a memory error detector
==21008== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==21008== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==21008== Command: ./bin/blocks
==21008==
[22:36:34|script|VERBOSE]: Adding data/scripts/elephant.as for compilation.
[22:36:34|script|VERBOSE]: Adding data/scripts/general.as for compilation.
[22:36:34|script|VERBOSE]: Adding data/scripts/core/entity.as for
compilation.
[22:36:34|script|VERBOSE]: Adding data/scripts/core/loglevel.as for
compilation.
[22:36:34|script|VERBOSE]: Adding data/scripts/player.as for compilation.
[22:36:34|script|INFO]: Compiling scripts...
[22:36:34|script|INFO]: Compilation process over.
[22:36:34|script|VERBOSE]: Setting up script callbacks...
[22:36:34|script|VERBOSE]: Compilation process over.
[22:36:34|script|VERBOSE]: Done setting up callbacks.
[22:36:34|entity|INFO]: Loading entity definitions
[22:36:34|entity|INFO]: Found 2 entity definitions
[22:36:35|entity|VERBOSE]: Added entity type 'Elephant' to entity
definitions
[22:36:35|entity|VERBOSE]: Added entity type 'Player' to entity definitions
[22:36:35|entity|INFO]: Entity definitions loaded
[22:36:35|server|INFO]: Server initialised and ready to go
[22:36:35|script|VERBOSE]: Verbose message from the script
[22:36:35|script|INFO]: Info message from the script
[22:36:35|script|WARNING]: Warning message from the script
[22:36:35|script|ERROR]: Error message from the script
[22:36:35|script|INFO]: Game started!
[22:36:37|client|INFO]: client connected to server
vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 0x31 0xC0 0xC3
0x48 0x8D
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==21008== valgrind: Unrecognised instruction at address 0x5146eb8.
==21008==    at 0x5146EB8: __lll_unlock_elision (in /usr/lib/
libpthread-2.19.so)
==21008==    by 0x442FC4:
LocalClientConnectionListener::createClientConnection(LocalServerClientBridge*)
(gthr-default.h:778)
==21008==    by 0x4445B9: BlocksApplication::setupSinglePlayer()
(blocksapp.cpp:104)
==21008==    by 0x58ACA2E: fea::Application::run(int, char**) (in
/usr/local/lib/libfea-structure.so)
==21008==    by 0x44A455: main (main.cpp:6)
==21008== Your program just tried to execute an instruction that Valgrind
==21008== did not recognise.  There are two possible reasons for this.
==21008== 1. Your program has a bug and erroneously jumped to a non-code
==21008==    location.  If you are running Memcheck and you just saw a
==21008==    warning about a bad jump, it's probably your program's fault.
==21008== 2. The instruction is legitimate but Valgrind doesn't handle it,
==21008==    i.e. it's Valgrind's fault.  If you think this is the case or
==21008==    you are not sure, please let us know and we'll try to fix it.
==21008== Either way, Valgrind will now raise a SIGILL signal which will
==21008== probably kill your program.
==21008==
==21008== Process terminating with default action of signal 4 (SIGILL):
dumping core
==21008==  Illegal opcode at address 0x5146EB8
==21008==    at 0x5146EB8: __lll_unlock_elision (in /usr/lib/
libpthread-2.19.so)
==21008==    by 0x442FC4:
LocalClientConnectionListener::createClientConnection(LocalServerClientBridge*)
(gthr-default.h:778)
==21008==    by 0x4445B9: BlocksApplication::setupSinglePlayer()
(blocksapp.cpp:104)
==21008==    by 0x58ACA2E: fea::Application::run(int, char**) (in
/usr/local/lib/libfea-structure.so)
==21008==    by 0x44A455: main (main.cpp:6)
==21008==
==21008== HEAP SUMMARY:
==21008==     in use at exit: 31,353,847 bytes in 42,861 blocks
==21008==   total heap usage: 120,444 allocs, 77,583 frees, 106,018,132
bytes allocated
==21008==
==21008== LEAK SUMMARY:
==21008==    definitely lost: 394,020 bytes in 479 blocks
==21008==    indirectly lost: 128 bytes in 1 blocks
==21008==      possibly lost: 26,168,346 bytes in 39,958 blocks
==21008==    still reachable: 4,791,353 bytes in 2,423 blocks
==21008==         suppressed: 0 bytes in 0 blocks
==21008== Rerun with --leak-check=full to see details of leaked memory
==21008==
==21008== For counts of detected and suppressed errors, rerun with: -v
==21008== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 7 from 2)
[5]    21008 illegal hardware instruction  valgrind ./bin/blocks
valgrind ./bin/blocks  7.13s user 0.18s system 99% cpu 7.371 total


I have tried googling on this error but I am not finding much related to
it. Any ideas on how to fix it?

Thanks!
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to