我的代码是否让Valgrind崩溃了?

时间:2017-06-28 02:17:01

标签: c++ valgrind

启用我在valgrind上运行的团队的一个类实例 显示下面的消息,它终止时没有合理的报告(也没有无效的内存读/写)。

错误讯息:

--6941-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV)     - exiting
--6941-- si_code=1;  Faulting address: 0x17E2C998;  sp: 0x100fff0e10

valgrind: the 'impossible' happened:
   Killed by fatal signal

host stacktrace:
==6941==    at 0x58095C33: get_bszB_as_is (m_mallocfree.c:303)
==6941==    by 0x58095C33: get_bszB (m_mallocfree.c:315)
==6941==    by 0x58095C33: vgPlain_arena_free (m_mallocfree.c:2109)
==6941==    by 0x58052843: release_oldest_block (mc_malloc_wrappers.c:169)
==6941==    by 0x58052843: create_MC_Chunk (mc_malloc_wrappers.c:212)
==6941==    by 0x58052A0B: vgMemCheck_new_block (mc_malloc_wrappers.c:388)
==6941==    by 0x58052BD9: vgMemCheck___builtin_new     (mc_malloc_wrappers.c:417)
==6941==    by 0x580DE7B3: do_client_request (scheduler.c:1866)
==6941==    by 0x580DE7B3: vgPlain_scheduler (scheduler.c:1433)
==6941==    by 0x580ED106: thread_wrapper (syswrap-linux.c:103)
==6941==    by 0x580ED106: run_a_thread_NORETURN (syswrap-linux.c:156)
==6941==    by 0x580ED39A: vgModuleLocal_start_thread_NORETURN (syswrap-linux.c:320)
==6941==    by 0x5811711D: ??? (in /lib/valgrind/memcheck-amd64-linux)
==6941==    by 0xDEADBEEFDEADBEEE: ???
==6941==    by 0xDEADBEEFDEADBEEE: ???
==6941==    by 0xDEADBEEFDEADBEEE: ???

所以我猜测用户代码(意味着我的团队)搞砸了valgrind的内存区域。 有可能吗?

此外,我试图找出地址消毒剂上的代码有什么问题,但它没有报告任何问题。

我该如何开始挖掘这个问题?

0 个答案:

没有答案