I am not sure if anyone has seen this behavior, but I occasionally get a segfault at the end of program execution. This is running with dmtcp 1.2.7 and sometime at the end of the program I would get a segfault. Here is a sample of the stack trace.
#20 0x00002aaaafc6513d in __gxx_personality_v0 () from /usr/intel/pkgs/gcc/4.6.2/lib64/libstdc++.so.6
#21 0x00002aaab01025ed in _Unwind_ForcedUnwind_Phase2 (exc=0x40800d80, context=0x407ff190)
#22 0x00002aaab01029f2 in _Unwind_ForcedUnwind (exc=0x40800d80, stop=0x2aaaafaa04c0 <unwind_stop>,
stop_argument=0x407ffee0) at ../.././libgcc/../gcc/unwind.inc:207
#23 0x00002aaaafaa0470 in __pthread_unwind () from /lib64/libpthread.so.0
#24 0x00002aaaafa9b655 in pthread_exit () from /lib64/libpthread.so.0
#25 0x00002aaaaac70e71 in _real_pthread_exit (retval=0x0) at syscallsreal.c:960
#26 0x00002aaaaac0df50 in pthread_exit (retval=0x0) at threadwrappers.cpp:374
#27 0x00002aaaaabedda5 in dmtcp::DmtcpWorker::waitForCoordinatorMsg (this=0x2aaaaad9ae20,
msgStr=<value optimized out>, type=dmtcp::DMT_DO_SUSPEND) at dmtcpworker.cpp:636
#28 0x00002aaaaabf2a28 in dmtcp::DmtcpWorker::waitForStage1Suspend (this=0x2aaaaad9ade0) at dmtcpworker.cpp:754
#29 0x00002aaaaac03ccf in callbackSleepBetweenCheckpoint (sec=<value optimized out>) at mtcpinterface.cpp:218
#30 0x00002aaab0ff8aba in checkpointhread (dummy=0x0) at mtcp.c:1908
#31 0x00002aaaaac0e79c in pthread_start (arg=<value optimized out>) at threadwrappers.cpp:70
#32 0x00002aaaafa9a2a3 in start_thread () from /lib64/libpthread.so.0
#33 0x00002aaaaac0e4e1 in clone_start (arg=0x2aaab0ebda08) at threadwrappers.cpp:147
#34 0x00002aaab0ff7b41 in threadcloned (threadv=0x2aaaaaac9008) at mtcp.c:1231
#35 0x00002aaaaff7342d in clone () from /lib64/libc.so.6
#36 0x0000000000000000 in ?? ()
The segfault manifest itself regardless of me doing a checkpoint or not. I am running dmtcp_coordinator with -host and -port options and have two clients connecting to the coordinator.
I am running with Synopsys VCS HDL simulator and I have successfully checkpoint and restarted the two client processes. Please reply to me if you have any insights into why this segfault is happening.