Program hanging when finalization is requested by remote
I modified the
ssg-launch-group.c test in a new branch here: https://xgitlab.cels.anl.gov/sds/ssg/commits/test-finalize-callback
In this branch, SSG finalization is done through a Margo finalization callback.
If you run it with a single process as follows:
mpirun -n 1 ./tests/ssg-launch-group -s 10 ofi+tcp mpi
The process is going to correctly shut down after 10 seconds.
However if the shutdown is requested by another process using
margo_shutdown_remote_instance, the call to
ssg_group_destroy in the callback will hang.
I didn't include the shutdown program but it's easy enough to write a small C program that takes the address of the process to shutdown, initializes margo, does a lookup of the address, calls
margo_shutdown_remote_instance, then finalizes.