Prism 6.0 User's Guide

Chapter 11 Troubleshooting

This chapter discusses ways in which you can recognize and avoid potential difficulties when using Prism.

Troubleshooting Tips

You can improve the effectiveness of your Prism sessions by using the following troubleshooting tips.

Launch Prism Without Invoking bsub or mprun

Launch Prism the correct way by invoking Prism directly. For example, to launch Prism and load four a.out processes:

% prism -n 4 a.out

Do not attempt to launch Prism as an argument to bsub or mprun:

% bsub -n 4 prism a.out

It is unnecessary to launch Prism as an argument to bsub or mprun, since Prism invokes bsub and mprun internally. Therefore, using bsub or mprun to launch Prism is redundant. If you specify a Prism -n argument larger than one, launching Prism as an argument to bsub or mprun causes too many instances of Prism to be launched.

Avoid Using the -xs Compiler Option

Loading code compiled with the -xs option can require long load times. Prism does not require that you compile code with the -xs option.

Keep .o Files after Compilation

If you have not used -xs during compiling, do not move or delete the .o files of the program that you want to load into Prism. If you move or delete .o files, Prism can find no debugging information for the functions in those files, even though the final executable was compiled with the -g option.

Expect a Pause After Issuing the First run Command

MP Prism may pause for an unexpectedly long time after you issue the run command. During this pause the user interface is unresponsive. This pause is unavoidable. The pause is due to the delay caused while loading the LSF or CRE environments. The run command will go to completion.

Monitor Your Use of Color Resources

Prism may issue messages indicating that it needs additional color resources. For example,

Can't allocate color for snow2

When that happens, shut down any unnecessary color applications and try again.

Expect Only Stopped Processes to Be Displayed in the Where Graph

Prism does not show all processes in the Where graph. The Where graph shows only the stacks of stopped processes.

Use MP Prism to Load MPI Programs

Attempting to use scalar Prism to run an MPI program can cause Prism to abort the process and issue messages such as these:

[unknown MPI_COMM_WORLD unknown] ERROR in MPI_Init: 
unclassified error: RTE_Init_lib: 
Job must be submitted to CRE: No such job
Aborting.

To run an MPI program, you must launch MP Prism. You launch MP Prism by specifying a number of processes to run. Use the -n option to specify the number of processes. For example,

% prism -n 4 a.out

launches MP Prism and loads a.out.

Verify That /opt/SUNWlsf/bin Is in Your PATH

If LSF is your default run-time environment, and if the directory containing LSF executables is not set in your PATH variable, attempting to launch MP Prism will fail. For example,

hpc-450-3 44 =>prism -n 0 &  
   [1] 26614
hpc-450-3 45 =>/opt/SUNWhpc/bin/prism: bsub: not found
   [1]    Exit 1           
   prism -n 0

Use the -32 Option to Load 32-Bit Binaries For Performance Analysis on Solaris 7

Prism works with both 64-bit or 32-bit binaries on Solaris 7. However, it cannot do performance analysis of 32-bit binaries. To workaround that problem, use the -32 option. For example,

% prism -32 -n 4 a.out&

The -32 option ie unnecessary if you are not using Prism to do performance analysis.