Description
I am trying to run a simple "Hello World" MPI program using MANA with OpenMPI 4.0. The application runs normally when using OpenMPI as usual, but running with mana_launch (MANA-1.2.0) results in a segmentation fault. This segfault happens in all processes, regardless of the number of processes.
Commands:
mana_coordinator --verbose
mpirun -np 1 mana_launch /home/test/hello
Output
+ coordinator_found=0
+ '[' '!' -z '' ']'
+ MANA_RC=/home/test/.mana.rc
+ /home/test/mana/bin/dmtcp_coordinator --exit-on-last -q --daemon --status-file /home/test/.mana.rc
+ coordinator_found=1
+ set +x
--------------------------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 0 on node x4216c3s3b0n0 exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
Environment
NAME="SLES"
VERSION="15-SP4"
VERSION_ID="15.4"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP4"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp4"
DOCUMENTATION_URL="https://documentation.suse.com/"
Observations
I found that the segfault occurs after the following jump in the lower_half.cpp code, but before the main function in hello is entered:
asm volatile (CLEAN_FOR_64_BIT(mov %0, %%esp; )
: : "g" (dest_stack) : "memory");
asm volatile ("jmp *%0" : : "g" (ld_so_entry) : "memory");
I added a print before these lines to show the variable values:
Jump to ld_so_entry 0x80002550 dest_stack 0x82ff12a0
Description
I am trying to run a simple "Hello World" MPI program using MANA with OpenMPI 4.0. The application runs normally when using OpenMPI as usual, but running with mana_launch (MANA-1.2.0) results in a segmentation fault. This segfault happens in all processes, regardless of the number of processes.
Commands:
Output
Environment
Observations
I found that the segfault occurs after the following jump in the lower_half.cpp code, but before the main function in hello is entered:
I added a print before these lines to show the variable values:
Jump to ld_so_entry 0x80002550 dest_stack 0x82ff12a0