we are experiencing a strange problem while running out application under Windows XP with Java 1.6. Our GUI swing application suddenly halts and stops responding to any keyboard/mouse actions. This happens mostly on startup (extensive net I/O and swing components initialization) during 3-5% of launches. The problem is that halted JVM doesn't respond to any debugging commands: jstack utility and jconsole are freezing while trying to connect to the JVM process. Also, all JVM threads appear to be "inactive". While trying to get threads stack traces from a hung JVM, we created a special thread (see code below), but it also stops producing any output when the problem reproduces. So, we are completely unable to get stack traces of the JVM!
Upgrage from Java 1.6.0 to 1.6.0_02 did not help. The problem _seems_ to occcur more rarely, but it still reproduced several times. Some more facts:
- The problem NEVER reproduced in the debug mode under JBuilder - It never reproduced when JVM runs in a debug mode (with "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=3999,suspend=n" command line options) - It reproduced on several (3+) Windows XP PCs and _seems_ to reproduce more often on faster PCs - When the problem occurs, Windows shows "Not responding" status for the JVM process
We've spent a lot of time while trying to reproduce the problem on four Linux PCs (also with Java 1.6) as jstack utility has a -F (force) option on Linux, but it didn't reproduce at all.
Does anyone has ideas about the nature of the problem or knows any way to get stack traces of a non-responding JVM?
Any other recommendations are appreciated!
Code of a thread stack traces monitor:
Victor [ September 12, 2007: Message edited by: Jim Yingst ]