On Jan 26, 2006, at 9:38 PM, Glenn Morris wrote:
Thanks for your suggestions.
Jeff Squyres wrote:
From the stack trace, it looks like you're in the middle of a
complex deallocation of some C++ objects, so I really can't tell
(i.e., not in an MPI function at all).
Well, not intentionally! I'm just calling "deallocate" in a purely
Fortran program. No C++ around anywhere.
It looks like the memory manager doesn't like that particular free
too much. I can't tell what exactly is going on from the call stack
you provided earlier. Can you rebuild Open MPI with debugging
symbols (just setting CFLAGS to -g during configure should do it),
rebuild, and get a full call stack with line numbers?
- configure your Open MPI --with-memory-manager=none and see if the
problem goes away. This tells Open MPI to not intercept memory
manager functions, so if you still have the problem, it's more
likely to be a problem in your application than in OMPI.
If I compile with --with-memory-manager=none the program runs to
completion with no problems.
- run your application through a memory-checking debugger (such as
valgrind) and see if it identifies any memory faults within your
code.
I've tried, but I'm not convinced valgrind understands Fortran 90. I
certainly don't understand valgrind... It spat out a lot of
information, but I don't think any of it was especially relevant to
this issue.
The output might be useful to us, if we could take a look (at least,
on the OMPI build that fails). Again, doing this with a build of
Open MPI that contains debugging symbols would greatly increase the
usefulness to us.
Thanks,
Brian
--
Brian Barrett
Open MPI developer
http://www.open-mpi.org/