PDA

View Full Version : After a process-level single-step command, why does TotalView report: "Waiting to reach location"?



Josh-TotalView-Tech
07-07-2006, 07:19 AM
What are you trying to step over? If it's a function call that blocks--for example, it reads input from the terminal--TotalView will report that it is waiting to reach a location because a single-step command is synchronous; that is, it is waiting for the target process to complete the single-step operation. TotalView keeps trying to run the process to the "single-stepping goal" until it gets there or until you cancel the single-step command by hitting Cancel in the "Waiting to reach location" dialog. Pressing cancel will halt the process and cancel the single step operation.

When debugging multiprocess programs, if you single-step a process over a statement that cannot complete without allowing another process to run and if that process is stopped, the stepping process may look like it is hung. In parallel programs, this can occur if you try to single-step a process over a communication operation such as MPI_Recv that cannot complete without participation from another process; for example, it must wait for a process that will soon issue a corresponding MPI_Send.

In most cases, the solution is to use a group-level single-step command instead.