|
From: Olaf L. <ol...@ic...> - 2014-07-23 11:55:20
|
Hi! It looks as though I'm homing in on the culprit. The problem seems to be that the program is MPI-enabled. When disabling MPI in ESPResSo, valgrind works fine. It should be noted that OpenMPI provides its own compiler wrapper (mpic++) around g++ and does some heavy meddling with the internals. I assume that this somehow causes valgrind not to be able to use the symbol table. I am still looking into it. Olaf 2014-07-22 23:15 GMT+02:00 Philippe Waroquiers < phi...@sk...>: > On Tue, 2014-07-22 at 15:20 +0200, Olaf Lenz wrote: > > I'm using OpenSUSE 12.3, 64bit. > > I have used current valgrind and also the SVN version, but to no > > avail. > > "nm" tells me that the debuginfo is in the binary, but valgrind won't > > find it. > > > > > > I did use valgrind to profile other binaries on the same machine, > > built with the same compiler, and it worked fine. Could that be > > something in the build system of our software? Or am I safe to say > > that when nm finds the info, valgrind should, too? > What you could do is to take a binary which is ok, > and the binary that is not ok. > > Then for both, you run valgrind, increasing the level of > tracing/debugging, until you see a difference which could explain > what is going wrong with espresso. > > You could first try with -v > and then succesfully add more -v and more -d (up to 3 each). > After that, even more heavyweight tracing can be enabled by adding > one or more of : > --debug-dump=syms > --debug-dump=line > --debug-dump=frames > --trace-symtab=yes > > Philippe > > > > -- Dr. rer. nat. Olaf Lenz Institut für Computerphysik, Allmandring 3, D-70569 Stuttgart Phone: +49-711-685-63607 |