==12502== Memcheck, a memory error detector ==12502== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==12502== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==12502== Command: ./audioencoder -c ../../conf/xcoder_debug.cfg -s 8Server_i-d9fd3dd2-2f0e-4d66-b0c2-356b329c7f09\ -t\ -e\ 1.1:tcp\ -h\ 10.0.1.108\ -p\ 10200 --lock-memory 0 --Ice.ThreadPool.Server.SizeMax=50 --crash-log-dir=/home/lastique/src/xcoder/trunk/build/bin ==12502== Parent PID: 12448 ==12502== ==12502== Conditional jump or move depends on uninitialised value(s) ==12502== at 0x4E3DF2A: ??? (in /home/lastique/xcoder-usr/lib/x86_64-linux-gnu/libasmlib.so) ==12502== by 0xF57E04232E45F5FF: ??? ==12502== by 0xFFEFFF027: ??? ==12502== by 0x30: ??? ==12502== by 0x8: ??? ==12502== by 0xFFEFFEFD7: ??? ==12502== by 0xFFEFFF027: ??? ==12502== by 0x40A678F: ??? ==12502== ==12502== Conditional jump or move depends on uninitialised value(s) ==12502== at 0x4E3DF2C: ??? (in /home/lastique/xcoder-usr/lib/x86_64-linux-gnu/libasmlib.so) ==12502== by 0xF57E04232E45F5FF: ??? ==12502== by 0xFFEFFF027: ??? ==12502== by 0x30: ??? ==12502== by 0x8: ??? ==12502== by 0xFFEFFEFD7: ??? ==12502== by 0xFFEFFF027: ??? ==12502== by 0x40A678F: ??? ==12502== vex amd64->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0x63 0xC 0x6 0x18 0x77 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=0F3A vex amd64->IR: PFX.66=1 PFX.F2=0 PFX.F3=0 ==12502== valgrind: Unrecognised instruction at address 0x4e3e020. ==12502== at 0x4E3E020: ??? (in /home/lastique/xcoder-usr/lib/x86_64-linux-gnu/libasmlib.so) ==12502== by 0x91A6A82: __cxxabiv1::__vmi_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91A3884: __dynamic_cast (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91D061F: bool std::has_facet<std::ctype<char> >(std::locale const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91C3FA3: std::basic_ios<char, std::char_traits<char> >::_M_cache_locale(std::locale const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91C414F: std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91B5330: std::ios_base::Init::Init() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x8AF560F: _GLOBAL__sub_I_ArgVector.cpp (in /usr/lib/x86_64-linux-gnu/libIceUtil.so.3.5.1) ==12502== by 0x40105B9: call_init.part.0 (dl-init.c:72) ==12502== by 0x40106CA: call_init (dl-init.c:30) ==12502== by 0x40106CA: _dl_init (dl-init.c:120) ==12502== by 0x4000D09: ??? (in /lib/x86_64-linux-gnu/ld-2.21.so) ==12502== by 0x8: ??? ==12502== Your program just tried to execute an instruction that Valgrind ==12502== did not recognise. There are two possible reasons for this. ==12502== 1. Your program has a bug and erroneously jumped to a non-code ==12502== location. If you are running Memcheck and you just saw a ==12502== warning about a bad jump, it's probably your program's fault. ==12502== 2. The instruction is legitimate but Valgrind doesn't handle it, ==12502== i.e. it's Valgrind's fault. If you think this is the case or ==12502== you are not sure, please let us know and we'll try to fix it. ==12502== Either way, Valgrind will now raise a SIGILL signal which will ==12502== probably kill your program. ==12502== ==12502== Process terminating with default action of signal 4 (SIGILL) ==12502== Illegal opcode at address 0x4E3E020 ==12502== at 0x4E3E020: ??? (in /home/lastique/xcoder-usr/lib/x86_64-linux-gnu/libasmlib.so) ==12502== by 0x91A6A82: __cxxabiv1::__vmi_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91A3884: __dynamic_cast (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91D061F: bool std::has_facet<std::ctype<char> >(std::locale const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91C3FA3: std::basic_ios<char, std::char_traits<char> >::_M_cache_locale(std::locale const&) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91C414F: std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x91B5330: std::ios_base::Init::Init() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20) ==12502== by 0x8AF560F: _GLOBAL__sub_I_ArgVector.cpp (in /usr/lib/x86_64-linux-gnu/libIceUtil.so.3.5.1) ==12502== by 0x40105B9: call_init.part.0 (dl-init.c:72) ==12502== by 0x40106CA: call_init (dl-init.c:30) ==12502== by 0x40106CA: _dl_init (dl-init.c:120) ==12502== by 0x4000D09: ??? (in /lib/x86_64-linux-gnu/ld-2.21.so) ==12502== by 0x8: ??? ==12502== ==12502== HEAP SUMMARY: ==12502== in use at exit: 248 bytes in 15 blocks ==12502== total heap usage: 28 allocs, 13 frees, 137,592 bytes allocated ==12502== ==12502== LEAK SUMMARY: ==12502== definitely lost: 0 bytes in 0 blocks ==12502== indirectly lost: 0 bytes in 0 blocks ==12502== possibly lost: 0 bytes in 0 blocks ==12502== still reachable: 248 bytes in 15 blocks ==12502== suppressed: 0 bytes in 0 blocks ==12502== Rerun with --leak-check=full to see details of leaked memory ==12502== ==12502== For counts of detected and suppressed errors, rerun with: -v ==12502== Use --track-origins=yes to see where uninitialised values come from ==12502== ERROR SUMMARY: 100 errors from 2 contexts (suppressed: 0 from 0) The problematic instruction is this: 66 0f 3a 63 0c 06 18 pcmpistri $0x18,(%rsi,%rax,1),%xmm1
Fixed, vex r3172, valgrind r15535.