On Mon, 2008-10-27 at 13:39 -0700, Scott Stark wrote:
I just ran into this shutdown deadlock stopping the current jbossas
trunk profileservice config. Looks like a problem with some background
hsqldb thread our HypersonicDatabase mbean wrapper.
It's entirely a Hypersonic problem. If you trim your thread dump
to the relevant bit there's an issue with
HsqlTimer.cancel() -> HsqlTimer$Task.cancel()
HsqlTimer.nextTask() -> HsqlTimer$Task.isCancelled()
locking some Object and HsqlTimer$TaskQueue in different orders.
"JBoss Shutdown Hook" daemon prio=5 tid=0x3e4a3e30 nid=0xd8d800 waiting
for monitor entry [0xb1499000..0xb149ad90]
at org.hsqldb.lib.HsqlTimer$TaskQueue.signalTaskCancelled(Unknown
Source)
- waiting to lock <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
at org.hsqldb.lib.HsqlTimer$Task.cancel(Unknown Source)
- locked <0x06266568> (a java.lang.Object)
at org.hsqldb.lib.HsqlTimer.cancel(Unknown Source)
at org.hsqldb.scriptio.ScriptWriterBase.stop(Unknown Source)
at org.hsqldb.scriptio.ScriptWriterBase.close(Unknown Source)
at org.hsqldb.persist.Log.closeLog(Unknown Source)
- locked <0x06221b70> (a org.hsqldb.persist.Log)
at org.hsqldb.persist.Log.close(Unknown Source)
"HSQLDB Timer @6e4d5b" daemon prio=5 tid=0x3e45a030
nid=0x3f2fd400
waiting for monitor entry [0xb263d000..0xb263dd90]
at org.hsqldb.lib.HsqlTimer$Task.isCancelled(Unknown Source)
- waiting to lock <0x06266568> (a java.lang.Object)
at org.hsqldb.lib.HsqlTimer$TaskQueue.peekTask(Unknown Source)
- locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
at org.hsqldb.lib.HsqlTimer.nextTask(Unknown Source)
- locked <0x0e9dbe10> (a org.hsqldb.lib.HsqlTimer$TaskQueue)
at org.hsqldb.lib.HsqlTimer$TaskRunner.run(Unknown Source)
at java.lang.Thread.run(Thread.java:613)
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Adrian Brock
Chief Scientist
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx