Knut Anders Hatlen wrote:
Rick Hillegas <[EMAIL PROTECTED]> writes:

I would appreciate people's advice about how to track down a hang in
the Junit tests. I have added a new test case to
TableFunctionTest. When I execute the test standalone, it runs
fine. When I execute the surrounding suite, everything succeeds
also. However, when I run the full set of junit tests, the run hangs
in a later suite. I tried increasing the memory given to the testrun,
but this does not fix the problem. I would appreciate:

1) advice about how to instrument the test run so that I know which
test case I'm hanging in

A thread dump could possibly help, and it would show if there are any
Java level deadlocks. Either do a kill -QUIT on the Java process, or use
the jstack utility bundled with the JDK (I'm assuming that you're still
using JDK 1.5 on Mac?).

2) random theories which may occur to you

stress.multi hung in many runs last week because of a deadlock between
TableDescriptorOIDCache and TableDescriptorNameCache. Should be fixed
now, though. A thread dump would tell whether that's the problem.

Thanks, Knut. Increasing the max PermGen size got the tests past the out-of-memory-error. They then hung on test case 8515 out of 8520, in org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1. I interrupted the tests with "kill -quit" as you recommended. I'm attaching the console output.

Regards,
-Rick
runswingjunittests is a script which sets up the classpath and then
runs the swing runner with this command:

java -Xmx512m -XX:MaxPermSize=128M 
-DderbyTesting.oldReleasePath=/Users/rh161140/derby/upgradeReleases 
junit.swingui.TestRunner -noloadin

(Without the -XX:MaxPermSize switch, the tests would stop with an
out-of-memory error, running out of PermGen space.)

Once the swing runner is brought up, I run the master script:

   org.apache.derbyTesting.functionTests.suites.All

Here's the console output:

mainline (1.5) > runswingjunittests
Mon Mar 10 14:48:56 PDT 2008
Deleting old test run...
Old test run deleted.
Mon Mar 10 14:48:56 PDT 2008
sanity is sane
java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE09, SQLERRMC: 
Cannot start replication slave mode for database 
'/Users/rh161140/derby/mainline/testRun/db_slave/wombat'. The database has 
already been booted. 
        at 
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
        at 
org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
        at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:149)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun$1.run(ReplicationRun.java:1008)
        at java.lang.Thread.run(Thread.java:613)
Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: 
-1, SQLSTATE: XRE09, SQLERRMC: Cannot start replication slave mode for database 
'/Users/rh161140/derby/mainline/testRun/db_slave/wombat'. The database has 
already been booted. 
        at 
org.apache.derby.client.am.Connection.completeSqlca(Connection.java:2090)
        at 
org.apache.derby.client.net.NetConnectionReply.parseRdbAccessFailed(NetConnectionReply.java:537)
        at 
org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(NetConnectionReply.java:430)
        at 
org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(NetConnectionReply.java:294)
        at 
org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(NetConnectionReply.java:121)
        at 
org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(NetConnection.java:887)
        at 
org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(NetConnection.java:811)
        at 
org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:644)
        at 
org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:451)
        at 
org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:219)
        at 
org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(ClientJDBCObjectFactoryImpl.java:270)
        at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:140)
        ... 4 more
java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XRE07, SQLERRMC: 
Could not perform operation because the database is not in replication master 
mode.
        at 
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
        at 
org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
        at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:149)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.failOver_direct(ReplicationRun.java:1152)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.failOver(ReplicationRun.java:1091)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local.testReplication_Local(ReplicationRun_Local.java:146)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at 
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:101)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.swingui.TestRunner$16.run(TestRunner.java:698)
Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: 
-1, SQLSTATE: XRE07, SQLERRMC: Could not perform operation because the database 
is not in replication master mode.
        at 
org.apache.derby.client.am.Connection.completeSqlca(Connection.java:2090)
        at 
org.apache.derby.client.net.NetConnectionReply.parseRdbAccessFailed(NetConnectionReply.java:537)
        at 
org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(NetConnectionReply.java:430)
        at 
org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(NetConnectionReply.java:294)
        at 
org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(NetConnectionReply.java:121)
        at 
org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(NetConnection.java:887)
        at 
org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(NetConnection.java:811)
        at 
org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:644)
        at 
org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:451)
        at 
org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:219)
        at 
org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(ClientJDBCObjectFactoryImpl.java:270)
        at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:140)
        ... 29 more


At this point the tests are hung on test case 8515 out of 8520, running
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1.
I attempted to kill the test process with "kill -quit". This produced the 
following dump:

Full thread dump Java HotSpot(TM) Client VM (1.5.0_13-119 mixed mode, sharing):

"Thread-958" prio=6 tid=0x4882f470 nid=0xa26400 runnable 
[0xb1845000..0xb1845d90]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at org.apache.derby.client.net.Reply.fill(Reply.java:174)
        at 
org.apache.derby.client.net.Reply.ensureALayerDataInBuffer(Reply.java:215)
        at org.apache.derby.client.net.Reply.readDssHeader(Reply.java:317)
        at 
org.apache.derby.client.net.Reply.startSameIdChainParse(Reply.java:1147)
        at 
org.apache.derby.client.net.NetConnectionReply.readSecurityCheck(NetConnectionReply.java:112)
        at 
org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(NetConnection.java:886)
        at 
org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(NetConnection.java:811)
        at 
org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:644)
        at 
org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:451)
        at 
org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:219)
        at 
org.apache.derby.client.net.ClientJDBCObjectFactoryImpl.newNetConnection(ClientJDBCObjectFactoryImpl.java:270)
        at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:140)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        - locked <0x25bea680> (a java.lang.Class)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        - locked <0x25bea680> (a java.lang.Class)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun$1.run(ReplicationRun.java:1008)
        at java.lang.Thread.run(Thread.java:613)

"process reaper" daemon prio=6 tid=0x4882f1a0 nid=0xa25600 runnable 
[0xb1743000..0xb1743d90]
        at java.lang.UNIXProcess.waitForProcessExit(Native Method)
        at java.lang.UNIXProcess.access$700(UNIXProcess.java:17)
        at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:83)

"Thread-957" prio=6 tid=0x4882eec0 nid=0x9f8a00 runnable 
[0xb16c2000..0xb16c2d90]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:194)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
        - locked <0x0f841c38> (a java.io.BufferedInputStream)
        at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
        at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
        - locked <0x0f845cc0> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        - locked <0x0f845cc0> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.processDEBUGOutput(ReplicationRun.java:2419)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.access$000(ReplicationRun.java:43)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun$4.run(ReplicationRun.java:2136)
        at java.lang.Thread.run(Thread.java:613)

"process reaper" daemon prio=6 tid=0x4882ed40 nid=0x954c00 runnable 
[0xb1641000..0xb1641d90]
        at java.lang.UNIXProcess.waitForProcessExit(Native Method)
        at java.lang.UNIXProcess.access$700(UNIXProcess.java:17)
        at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:83)

"Thread-956" prio=6 tid=0x4881bb10 nid=0xa23a00 runnable 
[0xb10b6000..0xb10b6d90]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:194)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
        - locked <0x0f847ed0> (a java.io.BufferedInputStream)
        at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
        at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
        - locked <0x0f84bf58> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        - locked <0x0f84bf58> (a java.io.InputStreamReader)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.processDEBUGOutput(ReplicationRun.java:2419)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.access$000(ReplicationRun.java:43)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun$4.run(ReplicationRun.java:2136)
        at java.lang.Thread.run(Thread.java:613)

"Timer-88" daemon prio=6 tid=0x48805410 nid=0x9f7c00 in Object.wait() 
[0xb153f000..0xb153fd90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0d5c3208> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"derby.antiGC" daemon prio=1 tid=0x4881cfc0 nid=0x9f3200 in Object.wait() 
[0xb143d000..0xb143dd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0d4b6fc8> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0d4b6fc8> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"Timer-87" daemon prio=6 tid=0x01026130 nid=0x9c2e00 in Object.wait() 
[0xb13bc000..0xb13bcd90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0c679110> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"derby.antiGC" daemon prio=1 tid=0x4880a6e0 nid=0x9a0e00 in Object.wait() 
[0xb133b000..0xb133bd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0c675530> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0c675530> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"Timer-86" daemon prio=6 tid=0x47380040 nid=0x9bc400 in Object.wait() 
[0xb12ba000..0xb12bad90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0c397708> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"derby.antiGC" daemon prio=1 tid=0x473e19a0 nid=0x94e400 in Object.wait() 
[0xb1137000..0xb1137d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0c394608> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0c394608> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"derby.antiGC" daemon prio=1 tid=0x473c8db0 nid=0x8afa00 in Object.wait() 
[0xb1239000..0xb1239d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0c0efe18> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0c0efe18> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"derby.antiGC" daemon prio=1 tid=0x47339b40 nid=0x953400 in Object.wait() 
[0xb11b8000..0xb11b8d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0be4b180> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0be4b180> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"derby.antiGC" daemon prio=1 tid=0x473915a0 nid=0x94a800 in Object.wait() 
[0xb1035000..0xb1035d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bb4ff48> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
        - locked <0x0bb4ff48> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"derby.rawStoreDaemon" daemon prio=6 tid=0x473a65e0 nid=0x966e00 in 
Object.wait() [0xb17c4000..0xb17c4d90]
        at java.lang.Object.wait(Native Method)
        at 
org.apache.derby.impl.services.daemon.BasicDaemon.rest(BasicDaemon.java:571)
        - locked <0x0bb51d40> (a 
org.apache.derby.impl.services.daemon.BasicDaemon)
        at 
org.apache.derby.impl.services.daemon.BasicDaemon.run(BasicDaemon.java:388)
        at java.lang.Thread.run(Thread.java:613)

"Timer-85" daemon prio=6 tid=0x473b7cc0 nid=0x96ba00 in Object.wait() 
[0xb0f33000..0xb0f33d90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0bb51de8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"derby.antiGC" daemon prio=1 tid=0x4739d530 nid=0x968e00 in Object.wait() 
[0xb0db0000..0xb0db0d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0bb51e58> (a 
org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Object.wait(Object.java:474)
        at 
org.apache.derby.impl.services.monitor.AntiGC.run(BaseMonitor.java:2196)
        - locked <0x0bb51e58> (a org.apache.derby.impl.services.monitor.AntiGC)
        at java.lang.Thread.run(Thread.java:613)

"Timer-84" daemon prio=6 tid=0x473b02c0 nid=0x963200 in Object.wait() 
[0xb14be000..0xb14bed90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x0bb2e200> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"TestRunner-Thread" prio=6 tid=0x0101e2e0 nid=0x831400 waiting for monitor 
entry [0xb0fb4000..0xb0fb4d90]
        at java.sql.DriverManager.getConnection(DriverManager.java:187)
        - waiting to lock <0x25bea680> (a java.lang.Class)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster_direct(ReplicationRun.java:825)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun.startMaster(ReplicationRun.java:696)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1._testPreStartedMaster(ReplicationRun_Local_StateTest_part1.java:359)
        at 
org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationRun_Local_StateTest_part1.testReplication_Local_StateTest_part1(ReplicationRun_Local_StateTest_part1.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at 
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:101)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.extensions.TestSetup.run(TestSetup.java:25)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at junit.swingui.TestRunner$16.run(TestRunner.java:698)

"DestroyJavaVM" prio=5 tid=0x010013b0 nid=0xb0801000 waiting on condition 
[0x00000000..0xb0800060]

"TimerQueue" daemon prio=5 tid=0x01011f50 nid=0x927800 runnable 
[0xb0eb2000..0xb0eb2d90]
        at java.lang.Object.wait(Native Method)
        at javax.swing.TimerQueue.run(TimerQueue.java:236)
        - locked <0x07d84ea0> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Thread.java:613)

"AWT-EventQueue-0" prio=6 tid=0x01010960 nid=0x920400 in Object.wait() 
[0xb0e31000..0xb0e31d90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.awt.EventQueue.getNextEvent(EventQueue.java:345)
        - locked <0x07d1e668> (a java.awt.EventQueue)
        at 
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:216)
        at 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

"Java2D Disposer" daemon prio=10 tid=0x0100dfe0 nid=0x90be00 in Object.wait() 
[0xb0d14000..0xb0d14d90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x07d14230> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x07d14230> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:125)
        at java.lang.Thread.run(Thread.java:613)

"AWT-Shutdown" prio=5 tid=0x0100d250 nid=0x8d7400 in Object.wait() 
[0xb0c8a000..0xb0c8ad90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x07d142b8> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:474)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259)
        - locked <0x07d142b8> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:613)

"AWT-AppKit" daemon prio=5 tid=0x0100ce40 nid=0xa010bfa0 runnable 
[0x00000000..0xbfffc6b8]

"Low Memory Detector" daemon prio=5 tid=0x01008fa0 nid=0x805800 runnable 
[0x00000000..0x00000000]

"CompilerThread0" daemon prio=9 tid=0x01008570 nid=0x81a400 waiting on 
condition [0x00000000..0xb0b077d8]

"Signal Dispatcher" daemon prio=9 tid=0x01008110 nid=0x819600 waiting on 
condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x01007940 nid=0x818400 in Object.wait() 
[0xb0a05000..0xb0a05d90]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x07cf61c8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x01007560 nid=0x816c00 in Object.wait() 
[0xb0984000..0xb0984d90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x07cf6248> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=9 tid=0x01006cb0 nid=0x815e00 runnable 

"VM Periodic Task Thread" prio=9 tid=0x01009b00 nid=0x806600 waiting on 
condition 

"Exception Catcher Thread" prio=10 tid=0x01001660 nid=0x80b200 runnable 

Then I brought down the swing junit runner by hitting Stop and then Exit.

Reply via email to