diff --git a/stepmania/src/archutils/Unix/CrashHandler.cpp b/stepmania/src/archutils/Unix/CrashHandler.cpp index f59551dd97..92bb28ed71 100644 --- a/stepmania/src/archutils/Unix/CrashHandler.cpp +++ b/stepmania/src/archutils/Unix/CrashHandler.cpp @@ -339,6 +339,7 @@ static void RunCrashHandler( const CrashData *crash ) /* Stop other threads. XXX: This prints a spurious ptrace error if any threads * are already suspended, which happens in ForceCrashHandlerDeadlock(). */ RageThread::HaltAllThreads(); +fprintf(stderr, "crash\n"); /* We need to be very careful, since we're under crash conditions. Let's fork * a process and exec ourself to get a clean environment to work in. */ diff --git a/stepmania/src/archutils/Unix/CrashHandlerChild.cpp b/stepmania/src/archutils/Unix/CrashHandlerChild.cpp index cbedb02c1c..2c434c93d8 100644 --- a/stepmania/src/archutils/Unix/CrashHandlerChild.cpp +++ b/stepmania/src/archutils/Unix/CrashHandlerChild.cpp @@ -300,7 +300,10 @@ static void child_process() case SIGFPE: case SIGSEGV: case SIGBUS: - reason += ssprintf( " at 0x%08x", (unsigned int) crash.si.si_addr ); + if( crash.si.si_code == SI_USER ) + reason += ssprintf( " from pid %i", (int) crash.si.si_addr ); + else + reason += ssprintf( " at 0x%08x", (unsigned int) crash.si.si_addr ); } break; }