threads/84778: libpthread busy loop/hang with Java when handling signals and Runtime.exec

freebsd at spatula.net freebsd at spatula.net
Tue Dec 6 15:50:05 PST 2005


The following reply was made to PR threads/84778; it has been noted by GNATS.

From: freebsd at spatula.net
To: bug-followup at FreeBSD.org
Cc: freebsd-java at FreeBSD.org
Subject: Re: threads/84778: libpthread busy loop/hang with Java when handling
 signals and Runtime.exec
Date: Tue, 6 Dec 2005 15:48:31 -0800 (PST)

 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/
 


More information about the freebsd-threads mailing list