We've discovered a bug in the Solaris JVM that we're using (1.5.0_08-b03). What happens is that we have a long running JVM that once a minute forks an executable via
java.lang.Runtime.execand reads its
stdout. After a long time, one of the forks doesn't actually make it to the exec, and the thread that asked for the
execdoesn't continue. That's why I think it's a JVM bug: the
execcall is made and only completes half of its job.
I describe the problem on a Sun forum here.
I definitely have to upgrade the JVM to see if that helps...