When ever I come across a command or service in Unix that crashes or fails to run properly I quickly go to the trace tools to trace the system commands. I often find that If I just follow the system trace i can usually see what was supposed to happen and didn’t. Unfortunatley not every unix flavor uses the same tracing commands.
In linux it is very simple prefix any command with strace and it will give you lots of system trace info.
In Solaris use the truss command.
In Irix use the par command.