On Wed, Aug 13, 2008 at 08:03:39PM +0100, Garth N. Wells wrote:
I'm experiencing a puzzling problem wth pyDOLFIN and MPI again.
When I do
python file.py
where file.py is just
from dolfin import *
object = Function("/tmp/fileKFnQpl.xml")
plot(object)
interactive()
I see a plot as expected, and get
Plot active, press 'q' to continue.
After pressing 'q', I get
*** An error occurred in MPI_Attr_get
*** after MPI was finalized
*** MPI_ERRORS_ARE_FATAL (goodbye)
[gnw20pc:2277] Abort before MPI_INIT completed successfully; not
able to guarantee that all other processes were killed!
*** An error occurred in MPI_Comm_rank
*** after MPI was finalized
*** MPI_ERRORS_ARE_FATAL (goodbye)
*** An error occurred in MPI_Type_free
*** after MPI was finalized
*** MPI_ERRORS_ARE_FATAL (goodbye)
Segmentation fault
Somehow, Python appears to be calling MPI_Finalize before DOLFIN gets a
chance to finalise things correctly. Any ideas/experience on how Python
interacts with MPI? I've commented out MPI_Finalize() in DOLFIN to be
sure that DOLFIN is not calling it.
Garth
Would it help if we just call MPI_Finalized to check before
finalizing? We can add a wrapper for it just like for MPI_Initialized.