Mysterious (dead?)locking

Nigel Magnay <[email protected]>
Newsgroups gmane.comp.java.hsqldb.user
Message-ID <CAPYP83RU1AtEMGShuEb=gkTRmTMfoTKjreRYfqWr+Uj8jq2zAQ@mail.gmail.com>
Hi.

When we use HSQLDB for some system tests of a deployed webapp, about 60% of
the time the system freezes without completing.

We're on 2.3.0, and have moved to using MVCC.

On examination of the locked sessions, it would seem that everything is
waiting on a 'Checkpoint' operation (see below) by looking
at INFORMATION_SCHEMA.SYSTEM_SESSIONS - Everything is waiting on this, but
this is allegedly not waiting on anything itself.

The thread dump shows the checkpoint is coming from a regular timed task.

Is there anything I can do to further diagnose this, as I can't understand
why it's reporting connection 10 isn't waiting on anything - but the system
is locked solid.




INFORMATION_SCHEMA.SYSTEM_SESSIONS:
-----------------------------------------------------
[3, 2013-12-24 10:39:06.0, SA, true, true, false, 0, PUBLIC, false, 0, ,
10, SELECT VERSION FROM KMS_VERSION WHERE ID='KMS', 1]
[6, 2013-12-24 10:39:17.0, SA, true, false, false, 0, PUBLIC, false, 0, ,
10, SELECT * FROM QRTZ_SCHEDULER_STATE WHERE SCHED_NAME =
'schedulerFactoryBean', 1]
[7, 2013-12-24 10:39:34.0, SA, true, false, false, 0, PUBLIC, false, 0, ,
10, SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM
QRTZ_TRIGGERS WHERE SCHED_NAME = 'schedulerFactoryBean' AND TRIGGER_STATE =
? AND NEXT_FIRE_TIME <= ? AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR != -1
AND NEXT_FIRE_TIME >= ?)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC, 1]
*[10, 2013-12-24 10:41:53.0, _SYSTEM, true, false, false, 0, PUBLIC, false,
0, 3,7,6,11, , CHECKPOINT, 1]*
[11, 2013-12-24 10:42:13.0, SA, true, false, false, 0, PUBLIC, false, 0, ,
10, SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NAME =
'schedulerFactoryBean' AND NOT (MISFIRE_INSTR = -1) AND NEXT_FIRE_TIME < ?
AND TRIGGER_STATE = ?, 1]
[13, 2013-12-24 11:26:17.0, SA, true, false, false, 0, PUBLIC, false, 0, ,
, select * FROM INFORMATION_SCHEMA.SYSTEM_SESSIONS, 0]

Thread dump
----------------
Thread t@31: (state = BLOCKED)
 - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information
may be imprecise)
 - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14,
line=158 (Interpreted frame)
 -
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt()
@bci=1, line=811 (Interpreted frame)
 -
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(int)
@bci=55, line=969 (Interpreted frame)
 -
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(int)
@bci=24, line=1281 (Interpreted frame)
 - java.util.concurrent.CountDownLatch.await() @bci=5, line=207
(Interpreted frame)
 - org.hsqldb.lib.CountUpDownLatch.await() @bci=12 (Compiled frame)
 - org.hsqldb.Session.executeCompiledStatement(org.hsqldb.Statement,
java.lang.Object[], int) @bci=289 (Compiled frame)
 - org.hsqldb.Database$CheckpointRunner.run() @bci=25 (Interpreted frame)
 - org.hsqldb.lib.HsqlTimer$TaskRunner.run() @bci=19 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk

_______________________________________________
Hsqldb-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hsqldb-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.