Open jcphill opened 5 years ago
pamilrts does print a stack trace, at least post-startup. If you specify a replica count that doesn't divide the node count you get a segfault with no error message or stack trace.
In src/arch/util/machine-common-core.C CmiAbortHelper calls CmiPrintStackTrace().
But in src/arch/pami/machine.C we have:
void CmiAbort(const char * message) {
CmiError("------------- Processor %d Exiting: Called CmiAbort ------------\n"
"{snd:%d,rcv:%d} Reason: %s\n",CmiMyPe(),
MSGQLEN(), ORECVS(), message);
//CmiPrintStackTrace(0);
//while (msgQueueLen > 0 || outstanding_recvs > 0) {
// AdvanceCommunications();
//}
//CmiBarrier();
assert (0);
CMI_NORETURN_FUNCTION_END
}
mpi-linux-ppc64le-smp provides a useful stack trace, e.g.:
pami-linux-ppc64le-smp provides only:
It looks like MPI has some kind of signal handler that generates the stack trace.