-
Bug
-
Resolution: Fixed
-
Low
-
None
-
None
-
None
-
Solaris 8
JDK 1.4.2
OC4J 9.0.3
Embedded HSQL DB
Note the ConnectionKeeper and hsqldb.Log threads below, they are not marked as daemon. Should they be? As they are, it is not possible to cleanly shutdown the application server because these two threads are not "daemonized".
Full thread dump Java HotSpot(TM) Client VM (1.4.2-b28 mixed mode):
"Thread-3" prio=5 tid=0x001708c0 nid=0x18 waiting on condition [e2801000..e28019c8]
at java.lang.Thread.sleep(Native Method)
at com.atlassian.confluence.util.ConnectionKeeper.run(ConnectionKeeper.java:71)
"Thread-2" prio=5 tid=0x00746478 nid=0x17 waiting on condition [e2901000..e29019c8]
at java.lang.Thread.sleep(Native Method)
at org.hsqldb.Log.run(Unknown Source)
at java.lang.Thread.run(Thread.java:534)
"DestroyJavaVM" prio=5 tid=0x0002f1b0 nid=0x1 waiting on condition [0..ffbed188]
"Signal Dispatcher" daemon prio=10 tid=0x000dd4b0 nid=0x8 waiting on condition [0..0]
"Finalizer" daemon prio=8 tid=0x000d93a0 nid=0x6 in Object.wait() [e5281000..e52819c8]
at java.lang.Object.wait(Native Method)
- waiting on <0xe709de88> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0xe709de88> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x000d7a40 nid=0x5 in Object.wait() [e5381000..e53819c8]
at java.lang.Object.wait(Native Method)
- waiting on <0xe709dda8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0xe709dda8> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=5 tid=0x000d6ba8 nid=0x4 runnable
"VM Periodic Task Thread" prio=10 tid=0x000dfb08 nid=0xa waiting on condition
"Suspend Checker Thread" prio=10 tid=0x000dcb48 nid=0x7 runnable
Closing as per Nick's advice.