Re: [mpich-discuss] Cannot catch std::bac_alloc?
I just tested on my Mac, the system keep popping out message asking me to force kill some application to free up memory, but the code never crashed, just stalled. So I guess the out-of-memory behavior is operating system dependent. My guess is when you have multiple process competing for memory, it may cause some race issue in the os that the OS returns a valid address but discover out-of memory later because the memory is stolen by another process. — Hui Zhou T: 630-252-3430 On Apr 3, 2019, at 8:42 AM, Zhen Wang via discuss <[email protected]<mailto:[email protected]>> wrote: Hi, I have difficulty catching std::bac_alloc in an MPI environment. The code is attached. I'm uisng gcc 6.3 on SUSE Linux Enterprise Server 11 (x86_64). mpich is built from source. The commands are as follows: Build g++ -I<mpich-3.3-opt/include> -L<mpich-3.3-opt/lib> -lmpi memory.cpp Run <mpich-3.3-opt/bin/mpiexec> -n 2 a.out Output 0 0 1 1 =================================================================================== = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES = PID 16067 RUNNING AT <machine name> = EXIT CODE: 9 = CLEANING UP REMAINING PROCESSES = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES =================================================================================== YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Killed (signal 9) This typically refers to a problem with your application. Please see the FAQ page for debugging suggestions If I uncomment the line //if (rank == 0), i.e., only rank 0 allocates memory, I'm able to catch bad_alloc as I expected. It seems that I am misunderstanding something. Could you please help? Thanks a lot. Best regards, Zhen <memory.cpp>_______________________________________________ discuss mailing list [email protected]<mailto:[email protected]> To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Zhou, Hui