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>