Valgrind未处理的指令字节错误

时间:2011-10-24 12:19:33

标签: valgrind

为了在我的应用程序中搜索基于Liv555库的内存泄漏,我尝试使用valgrind运行它。它会导致以下错误:

vex amd64->IR: unhandled instruction bytes: 0xC5 0xF9 0x57 0xC0 0xC5 0xFA 0x10 0x15

在另一台计算机上运行它不会导致此错误(它运行正常),所以我希望这是一些库版本的结果。这可能是问题吗?如果是这样,有谁知道哪个库可能导致错误? 带有valgrind选项的-v -v输出位于here

2 个答案:

答案 0 :(得分:8)

这里FAQ 有确切的解释。

搜索“vex x86-> IR:未处理的指令字节”

问题在于:

看起来你使用的是使用intel SSE4优化编译的二进制文件(/usr/lib/libFLAC.so.8.2.0)(strncmp_sse42),这在你使用的amd上是不受支持的(Arch和hwcaps:AMD64,amd64 -sse3-CX16)。

答案 1 :(得分:0)

我在CentOS 7上遇到类似的问题:

vex amd64->IR: unhandled instruction bytes: 0xF 0xAE 0x64 0x24 0x40 0x48 0x8B 0x73
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
==10527== valgrind: Unrecognised instruction at address 0x4016b18.
==10527==    at 0x4016B18: _dl_runtime_resolve_xsave (in /usr/lib64/ld-2.17.so)

解决方案是安装内核调试信息。

yum --enablerepo=base-debuginfo install -y kernel-debuginfo-$(uname -r)