Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Dec 2005 15:48:31 -0800 (PST)
From:      freebsd@spatula.net
To:        bug-followup@FreeBSD.org
Cc:        freebsd-java@FreeBSD.org
Subject:   Re: threads/84778: libpthread busy loop/hang with Java when handling signals and Runtime.exec
Message-ID:  <20051206154223.C2752@turing>
In-Reply-To: <20051206153047.J2752@turing>
References:  <200512062320.jB6NK9RS075945@freefall.freebsd.org> <20051206153047.J2752@turing>

next in thread | previous in thread | raw e-mail | index | archive | help
I have found the problem, at long last.

Resin uses a custom JNI library for acceleration of some features.  In 
their compilation process, they specify -lc_r for the threading library 
used in their JNI library.

This in turn seems to be the cause of unexpected and erratic behaviour 
when running Java with libpthread, and probably explains why the problems 
completely disappear when mapping Java to use libc_r.

Modifying the makefile to link the JNI library to libpthread completely 
alleviates the signal handling problems.  The process can be suspended and 
resumed from the keyboard ad-nauseam.  Removing the JNI library from the 
picture entirely has the same effect (Resin will use the native Java code 
if the JNI library cannot be loaded.)

I will follow up with the Resin folks and submit a patch to detect the 
thread library that is in use and use that one when compiling the JNI 
library.

Please close this bug.

    Nick

-- 
"The aptly-named morons.org is an obscenity-laced screed..."
 	-- Robert P. Lockwood, Catholic League director of research
Nick Johnson, version 2.1                             http://web.morons.org/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051206154223.C2752>