Possible Bug

Kurt Miller lists at intricatesoftware.com
Wed Sep 3 02:06:17 UTC 2008


On Tuesday 02 September 2008 6:38:45 pm Stephen Sanders wrote:
> We have an application that fork/execs processes at a low frequency rate
> ( ~1/minute).  The system is under a reasonably heavy
> processor/network/disk load as it is capturing data at 1Gbps+.
> 
> At what appear to be random intervals, the parent process in the fork
> starts consuming 100% CPU.  It looks like the monitor thread in
> UNIXProcess is the culprit.
> 
> I've not been able to down load the diablo patches from the FreeBSD web
> site, however, it appears OpenJDK that there may be a window for this
> sort of thing to happen in UNIXProcess_md.c.
> 
> In Java_java_lang_UNIXProcess_waitForExit(), waitpid() could very easily
> fail returning an EINTR as there are no options to the waitpid call..
> This will could cause a tight loop. The error section of the man page
> says that if WNOHANG is NOT set then unblocked signals or SIGCHLD will
> cause EINTR errors.
> 
> I'll attempt to get the patches from the eyesbeyond web site and verify
> this claim.
> 
> Thanks for your attention.
> 
> 

You didn't mention which FreeBSD version you are running. If it is 6.3
you need to apply this errata to fix a pthread fork bug that exhibits
the symptoms you have described:

http://security.freebsd.org/advisories/FreeBSD-EN-08:01.libpthread.asc

The need for this errata on 6.3 is described in the RELEASENOTE.txt file
that comes with diablo.

-Kurt


More information about the freebsd-java mailing list