HP-MPI User's Guide (11th Edition)

Debugging and troubleshooting
Debugging HP-MPI applications
Chapter 6 203
Backtrace functionality
HP-MPI handles several common termination signals on PA-RISC
differently than earlier versions of HP-MPI. If any of the following
signals are generated by an MPI application, a stack trace is printed
prior to termination:
SIGBUS - bus error
SIGSEGV - segmentation violation
SIGILL - illegal instruction
SIGSYS - illegal argument to system call
The backtrace is helpful in determining where the signal was generated
and the call stack at the time of the error. If a signal handler is
established by the user code before calling MPI_Init, no backtrace will
be printed for that signal type and the user’s handler will be solely
responsible for handling the signal. Any signal handler installed after
MPI_Init will also override the backtrace functionality for that signal
after the point it is established. If multiple processes cause a signal, each
of them will print a backtrace.
In some cases, the prepending and buffering options available in HP-MPI
standard IO processing are useful in providing more readable output of
the backtrace information.
The default behavior is to print a stack trace.
Backtracing can be turned off entirely by setting the environment
variable MPI_NOBACKTRACE. See“MPI_NOBACKTRACE” on page 147.
Debugging tutorial for Windows
A browser-based tutorial is provided that contains information on how to
debug applications that use HP-MPI in the Windows environment. The
tutorial provides step-by-step procedures for performing common
debugging tasks using Visual Studio 2005.
The tutorial is located in the %MPI_ROOT%\help subdirectory.