Hi,

I've run into the same problem as discussed in the thread Lev Gelb: "Re: [OMPI users] Recursive use of "orterun" (Ralph H Castain)"

I am running a parallel python code, then from python I launch a C++ parallel program using the python os.system command, then I come back in python and keep going.

With LAM/MPI there is no problem with this.

But Open-mpi systematically crashes, because the python os.system command launches the C++ program with the same OMPI_* environment variables as for the Python program. As discussed in the thread, I have tried filtering the OMPI_* variables prior to launching the C++ program with an os.execve command, but then it fails to return the hand to python and instead simply terminates when the C++ program ends.

There is a workaround ( http://thread.gmane.org/gmane.comp.clustering.open-mpi.user/986): create a *.sh file with the following lines:

--------
for i in $(env | grep OMPI_MCA |sed 's/=/ /' | awk '{print $1}')
do
   unset $i
done

# now the C++ call
mpirun -np 2  ./MoM/communicateMeshArrays
----------

and then call the *.sh program through the python os.system command.

What I would like to know is that if this "problem" will get fixed in open-MPI? Is there another way to elegantly solve this issue? Meanwhile, I will stick to the ugly *.sh hack listed above.

Cheers

Ides