I have been using Valgrind 3.11 on ARM aarch64 and recently shifted to Valgrind 3.13. The 3.13 ver of massif is throwing the following error and not generating the report file. ==2141== Massif, a heap profiler ==2141== Copyright (C) 2003-2017, and GNU GPL'd, by Nicholas Nethercote ==2141== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==2141== Command: ./valgrind_test_out.out -e 3 0 ==2141== valgrind: ../../valgrind-3.13.0/coregrind/m_execontext.c:411 (record_ExeContext_wrk2): Assertion 'n_ips >= 1 && n_ips <= VG_(clo_backtrace_size)' failed. host stacktrace: ==2141== at 0x58009F7C: ??? (in /usr/lib64/valgrind/massif-arm64-linux) sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 2141) ==2141== at 0x48420FC: malloc (in /usr/lib64/valgrind/vgpreload_massif-arm64-linux.so) I couldn't any results for a similar bug. Any insight into the issue would be very helpful
Can you run with -v -v -v -v -d -d -d -d and attach the resulting trace (compressed, as it might be big). Thanks Philippe
Created attachment 111408 [details] Massif detailed log I have attached the log obtained after running with the options you mentioned. Thanks Hemanth
The failure happens at the very first allocation. The guest andhist stacktraces of the crash contain only one single function: host stacktrace: ==2203== at 0x58009F7C: ??? (in /usr/lib64/valgrind/massif-arm64-linux) sched status: running_tid=1 Thread 1: status = VgTs_Runnable (lwpid 2203) ==2203== at 0x48420FC: malloc (in /usr/lib64/valgrind/vgpreload_massif-arm64-linux.so) There are no source and line nr indications. The tracing also contains: --2203-- Reading syms from /usr/lib64/valgrind/vgpreload_core-arm64-linux.so --2203-- svma 0x0000000700, avma 0x000482e700 --2203-- object doesn't have a symbol table (and similar for e.g. /opt/bosch/base/bin/valgrind_test_out.out, /usr/lib64/valgrind/massif-arm64-linux and other files. valgrind and your executable should have debug info (and so also a symbol table), otherwise valgrind will not be able to do anything relevant. I am guessing that valgrind might have a problem to unwind both the host and guest, giving a one function stacktrace, causing then the problem you see. Can you check what could cause the absence of the symbol table (and probably also the debug info ?) and then retry once both valgrind and your executable has debug info ? That being said, massif should not crash with a 'one function' stacktrace, even if it is not normal to have e.g; a call to malloc appearing from 'nowhere'.
fixed (or rather bypassed) in commit 4c9bd311660bf4c1f9228519223214b6a50935ec
confirmed resolved. Thanks Philippe