diff --git a/src/sys/error/signal.c b/src/sys/error/signal.c index 23a7cb8ca5e..337ca3e4946 100644 --- a/src/sys/error/signal.c +++ b/src/sys/error/signal.c @@ -68,8 +68,9 @@ static void PetscSignalHandler_Private(int sig) @*/ PetscErrorCode PetscSignalHandlerDefault(int sig,void *ptr) { - PetscErrorCode ierr; + PetscErrorCode ierr = 0; const char *SIGNAME[64]; + char hostname[256]; PetscFunctionBegin; if (sig == SIGSEGV) PetscSignalSegvCheckPointerOrMpi(); @@ -156,7 +157,9 @@ PetscErrorCode PetscSignalHandlerDefault(int sig,void *ptr) (*PetscErrorPrintf)("configure using --with-debugging=yes, recompile, link, and run \n"); (*PetscErrorPrintf)("to get more information on the crash.\n"); } - ierr = PetscError(PETSC_COMM_SELF,0,"User provided function"," unknown file",PETSC_ERR_SIG,PETSC_ERROR_INITIAL,NULL); + PetscError(PETSC_COMM_SELF,0,"User provided function"," unknown file",PETSC_ERR_SIG,PETSC_ERROR_INITIAL,NULL); + PetscGetHostName(hostname,sizeof(hostname)); + (*PetscErrorPrintf)("Host or node name where the crash occurred %s.\n",hostname); #if !defined(PETSC_MISSING_SIGBUS) if (sig == SIGSEGV || sig == SIGBUS) { #else