On Tue, 2015-12-08 at 14:39 -0800, Nikolaus Rath wrote:

> $ valgrind --version
> valgrind-3.8.1
This is more than 3 years old.
Would be (much) better to upgrade to the last version (3.11).
In any case, if the problem is related to inlining, you need
a recent valgrind version to see it (inlining info was implemented
in 3.10).

> Inlining was what came to my mind at first too. But in my experience 
> this only causes a difference of a few lines - not more than 2000.
The difference will only depend on where the inlining and inlined
functions are, and these do not need to be close to each other.


> Hmm. This is interesting. If I ask gcc for a backtrace, it just hangs:
...
> After pressing Ctrl-C:
> 
> #8  0x0000000000ba1ec8 in h5dump_attr_double (loc_id=1,
> ^C    f=<error reading variable: Cannot access memory at address 
> 0xa000008>, name=Quit
> 
> 
> Might this have something to do with the problem?
Maybe : it is possible that ifort generates unusual code/debug info,
that gdb and/or valgrind unwinder do not understand.
You might also maybe upgrade gdb (if you are using an old gdb version).

> 
> 
> That said, I don't think the above backtrace is the right one, because 
> H5FL_reg_calloc is called via a ton of different code paths. Is there a 
> way to break in this function only when entered via the codepath that 
> valgrind gave above?
No (easy) way that I know.
So, you will have to put a break in the function that is most likely
to be called only in the interesting stacktrace, and then put a break
on H5FL_reg_calloc and continue.

Philippe



------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to