Skip to content

Instantly share code, notes, and snippets.

@ericwomer
Created August 13, 2014 21:36
Show Gist options
  • Save ericwomer/3bb31a9d519e08a76860 to your computer and use it in GitHub Desktop.
Save ericwomer/3bb31a9d519e08a76860 to your computer and use it in GitHub Desktop.
Broken system or broken valgrind?
valgrind OpenGl
==24539== Memcheck, a memory error detector
==24539== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==24539== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==24539== Command: OpenGl
==24539==
==24539== Conditional jump or move depends on uninitialised value(s)
==24539== at 0x4017764: index (in /lib64/ld-2.19.so)
==24539== by 0x4007435: expand_dynamic_string_token (in /lib64/ld-2.19.so)
==24539== by 0x4007FFF: _dl_map_object (in /lib64/ld-2.19.so)
==24539== by 0x400148D: map_doit (in /lib64/ld-2.19.so)
==24539== by 0x400E8B3: _dl_catch_error (in /lib64/ld-2.19.so)
==24539== by 0x4000C60: do_preload (in /lib64/ld-2.19.so)
==24539== by 0x40041BC: dl_main (in /lib64/ld-2.19.so)
==24539== by 0x401513B: _dl_sysdep_start (in /lib64/ld-2.19.so)
==24539== by 0x4004AD3: _dl_start (in /lib64/ld-2.19.so)
==24539== by 0x40012D7: ??? (in /lib64/ld-2.19.so)
==24539==
vex amd64->IR: unhandled instruction bytes: 0x8F 0xEA 0xF8 0x10 0xCE 0x3 0x1D 0x0
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=NONE
vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0
==24539== valgrind: Unrecognised instruction at address 0x40113b6.
==24539== at 0x40113B6: _dl_allocate_tls_storage (in /lib64/ld-2.19.so)
==24539== by 0x40010CA: init_tls (in /lib64/ld-2.19.so)
==24539== by 0x4003458: dl_main (in /lib64/ld-2.19.so)
==24539== by 0x401513B: _dl_sysdep_start (in /lib64/ld-2.19.so)
==24539== by 0x4004AD3: _dl_start (in /lib64/ld-2.19.so)
==24539== by 0x40012D7: ??? (in /lib64/ld-2.19.so)
==24539== Your program just tried to execute an instruction that Valgrind
==24539== did not recognise. There are two possible reasons for this.
==24539== 1. Your program has a bug and erroneously jumped to a non-code
==24539== location. If you are running Memcheck and you just saw a
==24539== warning about a bad jump, it's probably your program's fault.
==24539== 2. The instruction is legitimate but Valgrind doesn't handle it,
==24539== i.e. it's Valgrind's fault. If you think this is the case or
==24539== you are not sure, please let us know and we'll try to fix it.
==24539== Either way, Valgrind will now raise a SIGILL signal which will
==24539== probably kill your program.
==24539==
==24539== Process terminating with default action of signal 4 (SIGILL)
==24539== Illegal opcode at address 0x40113B6
==24539== at 0x40113B6: _dl_allocate_tls_storage (in /lib64/ld-2.19.so)
==24539== by 0x40010CA: init_tls (in /lib64/ld-2.19.so)
==24539== by 0x4003458: dl_main (in /lib64/ld-2.19.so)
==24539== by 0x401513B: _dl_sysdep_start (in /lib64/ld-2.19.so)
==24539== by 0x4004AD3: _dl_start (in /lib64/ld-2.19.so)
==24539== by 0x40012D7: ??? (in /lib64/ld-2.19.so)
==24539== Jump to the invalid address stated on the next line
==24539== at 0x5F6: ???
==24539== by 0x4: ???
==24539== by 0xFFEFFF89F: ???
==24539== by 0x1: ???
==24539== by 0x4: ???
==24539== by 0xFFEFFF89F: ???
==24539== by 0x40010CA: init_tls (in /lib64/ld-2.19.so)
==24539== by 0x4003458: dl_main (in /lib64/ld-2.19.so)
==24539== Address 0x5f6 is not stack'd, malloc'd or (recently) free'd
==24539==
==24539==
==24539== Process terminating with default action of signal 11 (SIGSEGV)
==24539== Bad permissions for mapped region at address 0x5F6
==24539== at 0x5F6: ???
==24539== by 0x4: ???
==24539== by 0xFFEFFF89F: ???
==24539== by 0x1: ???
==24539== by 0x4: ???
==24539== by 0xFFEFFF89F: ???
==24539== by 0x40010CA: init_tls (in /lib64/ld-2.19.so)
==24539== by 0x4003458: dl_main (in /lib64/ld-2.19.so)
==24539==
==24539== HEAP SUMMARY:
==24539== in use at exit: 0 bytes in 0 blocks
==24539== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==24539==
==24539== All heap blocks were freed -- no leaks are possible
==24539==
==24539== For counts of detected and suppressed errors, rerun with: -v
==24539== Use --track-origins=yes to see where uninitialised values come from
==24539== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment