Tracing might help you find out where it's getting stuck. Try starting your program from the console with the spawn command: spawn -@ filename.
You may need to first use trace * to enable tracing on all events. A tip - if you must have a tty to run your program (to type input to it), you can spawn an xterm and start the process there. Use the following alias for convenience:
alias tr-xterm spawn -. -@ /bin/csh -cf 'exec xterm -n PVM'
This means ``spawn an xterm on this host with tracing enabled''. When you start a PVM program in the xterm window, it will inherit the task context held by the xterm, and so have tracing enabled for it. The trace information will go back to the console.
A warning - some people write code that uses pvm_parent() to decide if a process is a master or slave. If you start the master as shown, it will have a parent task (the PVM console), and may do the wrong thing. There's no way right now to set a task's parent to null.
Note that the task context held by the xterm is freed when the task exits. To re-run the program, you'll need to start another xterm.