微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

valgrind报告“无效的读取”*完全在仍然分配的块内*

我看到Valgrind的Memcheck工具中的一系列令人困惑的错误报告:

==29456== Invalid read of size 8 ==29456== at 0x4D5C90: CkIndex_Ping1::_callthr_trecv_PingMsg(CkThrCallArg*) (in /scratch/phil/charm/net-linux-x86_64-bigsim/tests/charm++/pingpong/pgm) ==29456== by 0x503ECB: CthStartThread (libthreads-default.c:1690) ==29456== by 0x56A08AF: ??? (in /lib/x86_64-linux-gnu/libc-2.19.so) ==29456== Address 0x5b09a90 is 0 bytes inside a block of size 16 alloc'd ==29456== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29456== by 0x4D5C14: CkIndex_Ping1::_call_trecv_PingMsg(void*,void*) (in /scratch/phil/charm/net-linux-x86_64-bigsim/tests/charm++/pingpong/pgm) ==29456== by 0x517D79: CkDeliverMessageFree (ck.C:593) ==29456== by 0x5378C3: CkLocRec_local::invokeEntry(CkMigratable*,void*,int,bool) (cklocation.C:1795) ==29456== by 0x537CA7: CkLocRec_local::deliver(CkArrayMessage*,CkDeliver_t,int) (cklocation.C:1862) ==29456== by 0x539977: CkLocMgr::deliver(CkMessage*,int) (cklocation.C:2834) ==29456== by 0x51F091: CkLocMgr::deliverInline(CkMessage*) (cklocation.h:313) ==29456== by 0x51A6EF: _processArrayEltMsg(CkCoreState*,envelope*) (ck.C:1181) ==29456== by 0x51A8C8: _processHandler(void*,CkCoreState*) (ck.C:1266) ==29456== by 0x4EE7EF: BgProcessMessageDefault(threadInfo*,char*) (blue.C:1339) ==29456== by 0x5C5928: BgProcessMessageFreezeMode(threadInfo*,char*) (middle-ccs.C:165) ==29456== by 0x4F590D: workThreadInfo::scheduler(int) (bigsim_proc.C:282)

请注意,这是说,有问题的地址是在一个仍然分配 (即尚未free() 'd)块,读取大小加偏移量远远小于该块的大小。

这是在Ubuntu Linux 14.04上,使用Valgrind版本valgrind-3.10.0.SVN (包1:3.10~20140411-0ubuntu1 ),代码编译为gcc / g ++ 4.8.4-2ubuntu1~14.04 。

我发现了一个类似的问题 ,答案是“这是Mac OS X上的一个错误”。 我真的在看这里的Valgrind错误,还是有别的我的代码可能有错?

尝试在Windows上运行Qt应用程序的发行版本时出错

Windows文件预览 – 类似于资源pipe理器中的预览窗格

拦截stat()

在win32下的stdin上使用fread()的问题

如何configurationqt创build器来显示C ++代码而不是反汇编?

编辑:我也发现了一个邮件列表post,涵盖了类似的环境 – 用户级别的线程,可能是Valgrind的理解。 它似乎并没有真正回答什么。

如何在Linux上从源代码安装TBB并使其工作

App.config设置,环境variables作为部分path

如何使用arm-linux-androideabi编译器

磁盘IO问题与循环文件写入

Monodevelop中的Visual Studio C#项目 – GenerateSatelliteAssemblies和GenerateTargetFrameworkMonikerAttribute错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐