fatal exception in 1.4.2-p5

Nick Johnson freebsd at spatula.net
Sun Dec 7 09:12:10 PST 2003


Here's a bit more information; when the fatal exception occurrs, the
process starts chewing up a huge amount of CPU, but doing a thread dump on
it reveals that none of the threads is actually doing anything.

Also, it looks like getservent isn't threadsafe; libc_r does not provide
its own implementation and getservent uses some static buffers... this in
turn means that getaddrinfo isn't threadsafe.  Indeed, the man page says
as much under "BUGS".

So either some locking needs to be added to
/j2se/src/solaris/native/java/net/Inet6AddressImpl.c and net_util_md.c or
getaddrinfo needs to be fixed to be threadsafe.  I'd supply a patch to do
the locking except I can't figure out a good place to init a mutex.

   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-java mailing list