Some module in my python program is calling fork(), and my mpi environment is unhappy with this:
A process has executed an operation involving a call to the "fork()" system call to create a child process. Open MPI is currently operating in a condition that could result in memory corruption or other system errors; your job may hang, crash, or produce silent data corruption. The use of fork() (or system() or other calls that create child processes) is strongly discouraged.
The process that invoked fork was:
Local host:
If you are absolutely sure that your application will successfully and correctly survive a call to fork(), you may disable this warning by setting the mpi_warn_on_fork MCA parameter to 0.
The program still runs but the output is garbage.
I'm not sure the if the call to fork is through os.system
, is that the only way python will ever call fork? I didn't write many of these modules myself, is there some tool I can use to figure out what line is generating that warning?