Why don't you try IBM's JDK? The Volano test results show it to be a
powerful performer, and coupled with jikes, it makes pretty nifty
development environment. Seems like an all-around winner to me.
But that may not solve your problem. I seem to remember some funkiness
having to do with signals and green threads. Sorry I can't be more
helpful, but it might be a starting point.
--- Vladimir
Vladimir G. Ivanovic http://www.leonora.org/~vladimir
2770 Cowper St. [EMAIL PROTECTED]
Palo Alto, CA 94306-2447 +1 650 678 8014
"JE" == Joi Ellis <[EMAIL PROTECTED]> writes:
JE> I've been trying to write unit tests for a simple udp listener
JE> service. When I use a HotSpot jvm, the tests pass. When I use
JE> native threads, the tests pass. When I use green threads, or a
JE> classic JVM, the tests fail.
JE> The tests are braindead simple. Open a udp listen socket, open a
JE> send socket, send a packet, close the send socket, close the
JE> listen socket. The point of the tests isn't to test the sockets,
JE> it's to test other code's ability to decipher the received udp
JE> packet's payload properly. The send socket is part of the text
JE> fixture, ultimately the listen server is to be receiving packets
JE> from a remote device.
JE> Anyway, the FIRST use of the listen socket always works. The
JE> subsequent opens of the socket always FAIL, but only on green
JE> threads/classic JVMs.
JE> I've studied everything I can find on the Bug Parade, and tried
JE> everything they've listed as possible problems. I've tried adding
JE> sleeps() after the listen socket close(), I've tried using a
JE> singleton, I can't think of anything else to try.
JE> I need this code to work on any JVM, I have to support linux,
JE> windows, and solaris!
JE> Sun 1.2.2 -classic : fails Sun 1.2.2 : fails Sun 1.3.0 -classic
JE> : fails Sun 1.3.0 : success Sun 1.3.1b15 -classic : fails Sun
JE> 1.3.1b15 : success Blackdown 1.3.0FCS -classic: success (!!)
JE> Blackdown 1.3.0FCS : success
JE> As far as I can tell, the JVM is leaving the socket open in the
JE> kernel even though I've closed the socket, killed the thread,
JE> and GC'd the objects!
JE> I'm at my wits end. I've stepped through this with the debugger
JE> and tossed printlns all through the app and the tests and I can
JE> see the sockets being closed and both threads terminating. Still
JE> that damned socket remains, blocking all subsequent use within the
JE> JVM.
JE> If anyone can offer a suggestion, I'd really appreciate some
JE> pointers. I've already studied Sun's Bug IDS 4137483, 4319693,
JE> 4400235, and every other bugid those three cross-reference.
JE> I've wasted two whole days on this now and I'm giving up.
JE> -- Joi Ellis Software Engineer Aravox Technologies [EMAIL PROTECTED],
JE> [EMAIL PROTECTED]
JE> No matter what we think of Linux versus FreeBSD, etc., the one
JE> thing I really like about Linux is that it has Microsoft worried.
JE> Anything that kicks a monopoly in the pants has got to be good for
JE> something.
JE> - Chris Johnson
JE> ----------------------------------------------------------------------
JE> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
JE> with a subject of "unsubscribe". Trouble? Contact
JE> [EMAIL PROTECTED]
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]