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/


Reply via email to