dynamobi/dynamobi — Issue #203: [LDB-118] deadlocks got while running concurrent query and ddl statements
Author: dynamobi-build
Created: 2011-12-30 02:21:30+00:00
State: open
Labels: LDB

[reporter="kvu", created="Mon, 17 Jul 2006 11:55:23 -0500 (GMT-05:00)"]
The below script caused a deadlock (notes: the script was ok if run without thread r1)

To reproduce the issue:

go to open/luciddb/test/sql/concurrency

add the below script cretdrp-write.mtsql to the above directory

edit test.xml: add these lines before cleanup hook:

------------------------------------------------------------------------------------------------------------------------

file="${open.dir}/luciddb/test/sql/concurrency/cretdrp-write.mtsql"/>

------------------------------------------------------------------------------------------------------------------------

----------------------------------------

script cretdrp-write.mtsql:

----------------------------------------

@nolockstep

@setup

-- check ddl vs read and write

SET SCHEMA 'concurrency';

select * from t1;

select * from t2;

@end

---------------------------------------------------------

@thread comp

set schema 'concurrency';

-- @sync

@sync

@sync

select * from t1;

select * from t2;

select * from t11;

select * from t12;

select * from t13;

select * from t14;

select * from t15;

select * from t21;

select * from t22;

select * from t23;

select * from t24;

select * from t25;

select * from t31;

select * from t32;

select * from t33;

select * from t34;

select * from t35;

select * from t41;

select * from t42;

select * from t43;

select * from t44;

select * from t45;

select * from t51;

select * from t52;

select * from t53;

select * from t54;

select * from t55;

drop index t11idx;

drop index t12idx;

drop index t13idx;

drop index t14idx;

drop index t15idx;

drop index t21idx;

drop index t22idx;

drop index t23idx;

drop index t24idx;

drop index t25idx;

drop index t31idx;

drop index t32idx;

drop index t33idx;

drop index t34idx;

drop index t35idx;

drop index t41idx;

drop index t42idx;

drop index t43idx;

drop index t44idx;

drop index t45idx;

drop index t51idx;

drop index t52idx;

drop index t53idx;

drop index t54idx;

drop index t55idx;

drop table t11;

drop table t12;

drop table t13;

drop table t14;

drop table t15;

drop table t21;

drop table t22;

drop table t23;

drop table t24;

drop table t25;

drop table t31;

drop table t32;

drop table t33;

drop table t34;

drop table t35;

drop table t41;

drop table t42;

drop table t43;

drop table t44;

drop table t45;

drop table t51;

drop table t52;

drop table t53;

drop table t54;

drop table t55;

@end

---------------------------------------------------------

@thread ddl1

SET SCHEMA 'concurrency';

-- @sync

@sync

create table t11 (n integer);

create table t12 (n integer);

create table t13 (n integer);

create table t14 (n integer);

create table t15 (n integer);

create index t11idx on t11(n);

create index t12idx on t12(n);

create index t13idx on t13(n);

create index t14idx on t14(n);

create index t15idx on t15(n);

@sync

@end

---------------------------------------------------------

@thread ddl2

SET SCHEMA 'concurrency';

-- @sync

@sync

create table t21 (n integer);

create table t22 (n integer);

create table t23 (n integer);

create table t24 (n integer);

create table t25 (n integer);

create index t21idx on t21(n);

create index t22idx on t22(n);

create index t23idx on t23(n);

create index t24idx on t24(n);

create index t25idx on t25(n);

@sync

@end

---------------------------------------------------------

@thread ddl3

SET SCHEMA 'concurrency';

-- @sync

@sync

create table t31 (n integer);

create table t32 (n integer);

create table t33 (n integer);

create table t34 (n integer);

create table t35 (n integer);

create index t31idx on t31(n);

create index t32idx on t32(n);

create index t33idx on t33(n);

create index t34idx on t34(n);

create index t35idx on t35(n);

@sync

@end

---------------------------------------------------------

@thread ddl4

SET SCHEMA 'concurrency';

-- @sync

@sync

create table t41 (n integer);

create table t42 (n integer);

create table t43 (n integer);

create table t44 (n integer);

create table t45 (n integer);

create index t41idx on t41(n);

create index t42idx on t42(n);

create index t43idx on t43(n);

create index t44idx on t44(n);

create index t45idx on t45(n);

@sync

@end

---------------------------------------------------------

@thread ddl5

SET SCHEMA 'concurrency';

-- @sync

@sync

create table t51 (n integer);

create table t52 (n integer);

create table t53 (n integer);

create table t54 (n integer);

create table t55 (n integer);

create index t51idx on t51(n);

create index t52idx on t52(n);

create index t53idx on t53(n);

create index t54idx on t54(n);

create index t55idx on t55(n);

@sync

@end

---------------------------------------------------------

@thread r1

set schema 'concurrency';

@sync

insert into t1 values (1),(2),(3);

insert into t2 select * from t1;

@sync

-- @sync

@end

----------------------------

The thread dump:

----------------------------

[bh] ===== FULL THREAD DUMP ===============

[bh] Mon Jul 17 11:34:27 2006

[bh] BEA JRockit(R) R26.3.0-32-58710-1.5.0_06-20060308-2022-linux-ia32

[bh] "Main Thread" id=1 idx=0x2 tid=10145 prio=5 alive, in native, waiting

[bh] -- Waiting for notification on: net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor@0xcf81b30[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at java/lang/Object.wait(J)V(Native Method)

[bh] at java/lang/Thread.join(J)V(Unknown Source)

[bh] ^-- Lock released while waiting: net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor@0xcf81b30[fat lock]

[bh] at java/lang/Thread.join()V(Unknown Source)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentTestCase.executeTest(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator;Z)V(FarragoTestConcurrentTestCase.java:183)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedTestCase.runScript(Ljava/lang/String;)V(FarragoTestConcurrentScriptedTestCase.java:85)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentTest.runTest()V(FarragoTestConcurrentTest.java:117)

[bh] at com/lucidera/luciddb/test/SqlTest$MtsqlTestCase.go()V(SqlTest.java:413)

[bh] at com/lucidera/luciddb/test/SqlTest.runMtsqlTest()V(SqlTest.java:207)

[bh] at com/lucidera/luciddb/test/SqlTest.testSql()V(SqlTest.java:149)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] at jrockit/reflect/NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)

[bh] at jrockit/reflect/NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/reflect/VirtualNativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at junit/framework/TestCase.runTest()V(TestCase.java:164)

[bh] at junit/framework/TestCase.runBare()V(TestCase.java:130)

[bh] at junit/framework/TestResult$1.protect()V(TestResult.java:110)

[bh] at junit/framework/TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V(TestResult.java:128)

[bh] at junit/framework/TestResult.run(Ljunit/framework/TestCase;)V(TestResult.java:113)

[bh] at junit/framework/TestCase.run(Ljunit/framework/TestResult;)V(TestCase.java:120)

[bh] at junit/framework/TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V(TestSuite.java:228)

[bh] at junit/framework/TestSuite.run(Ljunit/framework/TestResult;)V(TestSuite.java:223)

[bh] at org/eigenbase/blackhawk/extension/exectask/junit/JUnitRunner.run()V(JUnitRunner.java:78)

[bh] at org/eigenbase/blackhawk/extension/exectask/junit/JunitTestLogicTask.run(Lorg/eigenbase/blackhawk/task/TaskContext;)Lorg/eigenbase/blackhawk/task/TaskContext;(JunitTestLogicTask.java:56)

[bh] at org/eigenbase/blackhawk/core/test/AbstractTestLogicTask.runtask(Lorg/eigenbase/blackhawk/task/TaskContext;)Lorg/eigenbase/blackhawk/task/TaskContext;(AbstractTestLogicTask.java:169)

[bh] at org/eigenbase/blackhawk/core/test/vehicle/LocalTestVehicle.runTask(Lorg/eigenbase/blackhawk/task/Task;Lorg/eigenbase/blackhawk/task/TaskContext;)Lorg/eigenbase/blackhawk/task/TaskContext;(LocalTestVehicle.java:64)

[bh] at org/eigenbase/blackhawk/core/test/vehicle/LocalTestVehicle.runTask(Lorg/eigenbase/blackhawk/task/Task;)Lorg/eigenbase/blackhawk/task/TaskContext;(LocalTestVehicle.java:58)

[bh] at org/eigenbase/blackhawk/core/test/vehicle/LocalTestVehicle.run(Lorg/eigenbase/blackhawk/core/process/ProcessHandler;Lorg/eigenbase/blackhawk/core/test/TestLogicTask;)V(LocalTestVehicle.java:39)

[bh] at org/eigenbase/blackhawk/core/ExecutionTaskHelper.runTestLogic()V(ExecutionTaskHelper.java:141)

[bh] at org/eigenbase/blackhawk/core/AbstractExecutionTask.runWithoutTimeout()V(AbstractExecutionTask.java:660)

[bh] at org/eigenbase/blackhawk/core/AbstractExecutionTask.run()Z(AbstractExecutionTask.java:601)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.callHooks()V(BaseTwoPassTask.java:85)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.execute()V(BaseTwoPassTask.java:56)

[bh] at org/apache/tools/ant/Task.perform()V(Task.java:364)

[bh] at org/eigenbase/blackhawk/util/AntUtils.perform(Ljava/util/Collection;)V(AntUtils.java:33)

[bh] at org/eigenbase/blackhawk/core/BaseTaskContainer.preAlwaysDo()Z(BaseTaskContainer.java:196)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.callHooks()V(BaseTwoPassTask.java:83)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.execute()V(BaseTwoPassTask.java:56)

[bh] at org/apache/tools/ant/Task.perform()V(Task.java:364)

[bh] at org/eigenbase/blackhawk/core/TestRunner.run()Z(TestRunner.java:77)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.callHooks()V(BaseTwoPassTask.java:85)

[bh] at org/eigenbase/blackhawk/core/BaseTwoPassTask.execute()V(BaseTwoPassTask.java:56)

[bh] at org/apache/tools/ant/UnknownElement.execute()V(UnknownElement.java:275)

[bh] at org/apache/tools/ant/Task.perform()V(Task.java:364)

[bh] at org/apache/tools/ant/Target.execute()V(Target.java:341)

[bh] at org/apache/tools/ant/Target.performTasks()V(Target.java:369)

[bh] at org/apache/tools/ant/Project.executeSortedTargets(Ljava/util/Vector;)V(Project.java:1216)

[bh] at org/apache/tools/ant/Project.executeTarget(Ljava/lang/String;)V(Project.java:1185)

[bh] at org/apache/tools/ant/helper/DefaultExecutor.executeTargets(Lorg/apache/tools/ant/Project;[Ljava/lang/String;)V(DefaultExecutor.java:40)

[bh] at org/apache/tools/ant/Project.executeTargets(Ljava/util/Vector;)V(Project.java:1068)

[bh] at org/apache/tools/ant/Main.runBuild(Ljava/lang/ClassLoader;)V(Main.java:668)

[bh] at org/apache/tools/ant/Main.startAnt([Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)V(Main.java:187)

[bh] at org/apache/tools/ant/Main.start([Ljava/lang/String;Ljava/util/Properties;Ljava/lang/ClassLoader;)V(Main.java:150)

[bh] at org/apache/tools/ant/Main.main([Ljava/lang/String;)V(Main.java:240)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "(Signal Handler)" id=2 idx=0x4 tid=10148 prio=5 alive, in native, daemon

[bh] "(Code Generation Thread 1)" id=3 idx=0x6 tid=10149 prio=5 alive, in native, native_waiting, daemon

[bh] "(Code Optimization Thread 1)" id=4 idx=0x8 tid=10150 prio=5 alive, in native, native_waiting, daemon

[bh] "(GC Main Thread)" id=5 idx=0xa tid=10151 prio=5 alive, in native, daemon

[bh] "(GC Worker Thread 1)" id=? idx=0xc tid=10152 prio=5 alive, native_waiting, daemon

[bh] "(VM Periodic Task)" id=6 idx=0xe tid=10153 prio=10 alive, in native, daemon

[bh] "Finalizer" id=7 idx=0x10 tid=10154 prio=8 alive, in native, native_waiting, daemon

[bh] at jrockit/memory/Finalizer.getPendingFinalizee(Z)Ljava/lang/Object;(Native Method)

[bh] at jrockit/memory/Finalizer.access$100(Z)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/memory/Finalizer$4.run()V(Unknown Source)

[bh] at java/lang/Thread.run()V(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Reference Handler" id=8 idx=0x12 tid=10155 prio=10 alive, in native, native_waiting, daemon

[bh] at java/lang/ref/Reference.getPending()Ljava/lang/ref/Reference;(Native Method)

[bh] at java/lang/ref/Reference.access$000()Ljava/lang/ref/Reference;(Unknown Source)

[bh] at java/lang/ref/Reference$ReferenceHandler.run()V(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Active Reference Queue Daemon" id=14 idx=0x14 tid=10163 prio=1 alive, in native, waiting, daemon

[bh] -- Waiting for notification on: java/lang/ref/ReferenceQueue$Lock@0x848d358[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at java/lang/Object.wait(J)V(Native Method)

[bh] at java/lang/ref/ReferenceQueue.remove(J)Ljava/lang/ref/Reference;(ReferenceQueue.java:116)

[bh] ^-- Lock released while waiting: java/lang/ref/ReferenceQueue$Lock@0x848d358[fat lock]

[bh] at org/openide/util/Utilities$ActiveQueue.run()V(Utilities.java:2442)

[bh] at java/lang/Thread.run()V(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "HSQLDB Timer @10b4d61" id=15 idx=0x16 tid=10164 prio=5 alive, in native, waiting, daemon

[bh] -- Waiting for notification on: org/hsqldb/lib/HsqlTimer@0x8513b08[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at java/lang/Object.wait(J)V(Native Method)

[bh] at org/hsqldb/lib/HsqlTimer.nextTask()Lorg/hsqldb/lib/HsqlTimer$Task;(Unknown Source)

[bh] ^-- Lock released while waiting: org/hsqldb/lib/HsqlTimer@0x8513b08[fat lock]

[bh] at org/hsqldb/lib/HsqlTimer$TaskRunner.run()V(Unknown Source)

[bh] at java/lang/Thread.run()V(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "MDR event dispatcher" id=16 idx=0x18 tid=10167 prio=5 alive, in native, waiting, daemon

[bh] -- Waiting for notification on: java/util/LinkedList@0xa0f5380[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.wait(Ljava/lang/Object;J)V(Unknown Source)

[bh] at java/lang/Object.wait()V(Native Method)

[bh] at org/netbeans/mdr/util/EventNotifier$EventsDelivery.run()V(EventNotifier.java:257)

[bh] ^-- Lock released while waiting: java/util/LinkedList@0xa0f5380[fat lock]

[bh] at java/lang/Thread.run()V(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Timer-0" id=17 idx=0x1a tid=10172 prio=5 alive, in native, waiting

[bh] -- Waiting for notification on: java/util/TaskQueue@0xc0af8e0[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at java/lang/Object.wait(J)V(Native Method)

[bh] at java/util/TimerThread.mainLoop()V(Timer.java:509)

[bh] ^-- Lock released while waiting: java/util/TaskQueue@0xc0af8e0[fat lock]

[bh] at java/util/TimerThread.run()V(Timer.java:462)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor comp" id=25 idx=0x1c tid=10194 prio=5 alive, in native, waiting

[bh] -- Waiting for notification on: net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor$Sync@0xcf839e0[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.wait(Ljava/lang/Object;J)V(Unknown Source)

[bh] at java/lang/Object.wait()V(Native Method)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor$Sync.waitForOthers()V(FarragoTestConcurrentCommandExecutor.java:299)

[bh] ^-- Lock released while waiting: net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor$Sync@0xcf839e0[fat lock]

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$SynchronizationCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:641)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor ddl1" id=26 idx=0x1e tid=10195 prio=5 alive, in native, blocked

[bh] -- Blocked trying to get lock: java/lang/Integer@0x8535e48[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.fatLockBlockOrSpin(ILjrockit/vm/ObjectMonitor;II)V(Unknown Source)

[bh] at jrockit/vm/Locks.lockFat(Ljava/lang/Object;ILjrockit/vm/ObjectMonitor;Z)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnterSecondStage(Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnter(Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at net/sf/farrago/db/FarragoDbSession.prepare(Lnet/sf/farrago/db/FarragoDbStmtContextBase;Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:810)

[bh] at net/sf/farrago/db/FarragoDbStmtContext.prepare(Ljava/lang/String;Z)V(FarragoDbStmtContext.java:108)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEngineConnection.prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;(FarragoJdbcEngineConnection.java:327)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1041)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor ddl2" id=27 idx=0x20 tid=10196 prio=5 alive, in native

[bh] at net/sf/farrago/fennel/FennelStorage.executeJavaCmd(Lnet/sf/farrago/fem/fennel/FemCmd;)J(Native Method)

[bh] at net/sf/farrago/fennel/FennelCmdExecutorImpl.executeJavaCmd(Lnet/sf/farrago/fem/fennel/FemCmd;)J(FennelCmdExecutorImpl.java:45)

[bh] at net/sf/farrago/fennel/FennelDbHandle.executeCmd(Lnet/sf/farrago/fem/fennel/FemCmd;)J(FennelDbHandle.java:252)

[bh] at net/sf/farrago/fennel/FennelTxnContext.commit()V(FennelTxnContext.java:152)

[bh] at net/sf/farrago/db/FarragoDbSession.commitImpl()V(FarragoDbSession.java:612)

[bh] at net/sf/farrago/db/FarragoDbSession.executeDdl(Lnet/sf/farrago/session/FarragoSessionDdlValidator;Lnet/sf/farrago/catalog/FarragoReposTxnContext;Lnet/sf/farrago/session/FarragoSessionDdlStmt;)V(FarragoDbSession.java:956)

[bh] at net/sf/farrago/db/FarragoDbSession.prepareImpl(Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;Lnet/sf/farrago/session/FarragoSessionStmtValidator;Lnet/sf/farrago/catalog/FarragoReposTxnContext;[Z)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:913)

[bh] at net/sf/farrago/db/FarragoDbSession.prepare(Lnet/sf/farrago/db/FarragoDbStmtContextBase;Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:829)

[bh] ^-- Holding lock: java/lang/Integer@0x8535e48[fat lock]

[bh] at net/sf/farrago/db/FarragoDbStmtContext.prepare(Ljava/lang/String;Z)V(FarragoDbStmtContext.java:108)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEnginePreparedDdl.executeDdl()V(FarragoJdbcEnginePreparedDdl.java:91)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEnginePreparedDdl.executeUpdate()I(FarragoJdbcEnginePreparedDdl.java:80)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1047)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor ddl3" id=28 idx=0x22 tid=10197 prio=5 alive, in native, blocked

[bh] -- Blocked trying to get lock: java/lang/Integer@0x8535e48[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.fatLockBlockOrSpin(ILjrockit/vm/ObjectMonitor;II)V(Unknown Source)

[bh] at jrockit/vm/Locks.fatLockReacquire(Ljava/lang/Object;Ljava/lang/Thread;)Ljrockit/vm/ObjectMonitor;(Unknown Source)

[bh] at jrockit/vm/Locks.lockFat(Ljava/lang/Object;ILjrockit/vm/ObjectMonitor;Z)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnterSecondStage(Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnter(Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at net/sf/farrago/db/FarragoDbSession.prepare(Lnet/sf/farrago/db/FarragoDbStmtContextBase;Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:810)

[bh] at net/sf/farrago/db/FarragoDbStmtContext.prepare(Ljava/lang/String;Z)V(FarragoDbStmtContext.java:108)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEngineConnection.prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;(FarragoJdbcEngineConnection.java:327)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1041)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor ddl4" id=29 idx=0x24 tid=10198 prio=5 alive, in native, blocked

[bh] -- Blocked trying to get lock: java/lang/Integer@0x8535e48[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.fatLockBlockOrSpin(ILjrockit/vm/ObjectMonitor;II)V(Unknown Source)

[bh] at jrockit/vm/Locks.lockFat(Ljava/lang/Object;ILjrockit/vm/ObjectMonitor;Z)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnterSecondStage(Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnter(Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at net/sf/farrago/db/FarragoDbSession.prepare(Lnet/sf/farrago/db/FarragoDbStmtContextBase;Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:810)

[bh] at net/sf/farrago/db/FarragoDbStmtContext.prepare(Ljava/lang/String;Z)V(FarragoDbStmtContext.java:108)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEngineConnection.prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;(FarragoJdbcEngineConnection.java:327)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1041)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor ddl5" id=30 idx=0x26 tid=10199 prio=5 alive, in native, blocked

[bh] -- Blocked trying to get lock: java/lang/Integer@0x8535e48[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.fatLockBlockOrSpin(ILjrockit/vm/ObjectMonitor;II)V(Unknown Source)

[bh] at jrockit/vm/Locks.lockFat(Ljava/lang/Object;ILjrockit/vm/ObjectMonitor;Z)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnterSecondStage(Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/Locks.monitorEnter(Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at net/sf/farrago/db/FarragoDbSession.prepare(Lnet/sf/farrago/db/FarragoDbStmtContextBase;Ljava/lang/String;Lnet/sf/farrago/util/FarragoAllocationOwner;ZLnet/sf/farrago/session/FarragoSessionAnalyzedSql;)Lnet/sf/farrago/session/FarragoSessionExecutableStmt;(FarragoDbSession.java:810)

[bh] at net/sf/farrago/db/FarragoDbStmtContext.prepare(Ljava/lang/String;Z)V(FarragoDbStmtContext.java:108)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEngineConnection.prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;(FarragoJdbcEngineConnection.java:327)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1041)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] "Command Executor r1" id=31 idx=0x28 tid=10200 prio=5 alive, in native, waiting

[bh] -- Waiting for notification on: org/netbeans/mdr/util/MultipleReadersMutex@0xa1016c8[fat lock]

[bh] at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)

[bh] at jrockit/vm/Locks.wait(Ljava/lang/Object;J)V(Unknown Source)

[bh] at java/lang/Object.wait()V(Native Method)

[bh] at org/netbeans/mdr/util/MultipleReadersMutex.enter(Z)V(MultipleReadersMutex.java:113)

[bh] ^-- Lock released while waiting: org/netbeans/mdr/util/MultipleReadersMutex@0xa1016c8[fat lock]

[bh] at org/netbeans/mdr/NBMDRepositoryImpl.beginTrans(Z)V(NBMDRepositoryImpl.java:227)

[bh] at net/sf/farrago/catalog/FarragoMdrReposImpl.beginReposTxn(Z)V(FarragoMdrReposImpl.java:231)

[bh] at net/sf/farrago/runtime/FarragoRuntimeContext.getStreamHandle(Ljava/lang/String;Z)Lnet/sf/farrago/fennel/FennelStreamHandle;(FarragoRuntimeContext.java:567)

[bh] at net/sf/farrago/runtime/FarragoRuntimeContext.newFennelTupleIter(Lnet/sf/farrago/runtime/FennelTupleReader;Ljava/lang/String;ILjava/lang/Object;)Lorg/eigenbase/runtime/TupleIter;(FarragoRuntimeContext.java:502)

[bh] at net/sf/farrago/dynamic/stmt22057/ExecutableStmt.execute(Lnet/sf/farrago/runtime/FarragoRuntimeContext;)Ljava/lang/Object;(Unknown Source)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] at jrockit/reflect/NativeMethodInvoker.invoke0(Ljava/lang/Object;ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)

[bh] at jrockit/reflect/NativeMethodInvoker.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)

[bh] at java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;I)Ljava/lang/Object;(Unknown Source)

[bh] at net/sf/farrago/query/FarragoExecutableJavaStmt.execute(Lnet/sf/farrago/session/FarragoSessionRuntimeContext;)Ljava/sql/ResultSet;(FarragoExecutableJavaStmt.java:135)

[bh] at net/sf/farrago/db/FarragoDbStmtContext.execute()V(FarragoDbStmtContext.java:211)

[bh] at net/sf/farrago/jdbc/engine/FarragoJdbcEnginePreparedNonDdl.executeUpdate()I(FarragoJdbcEnginePreparedNonDdl.java:101)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentScriptedCommandGenerator$SqlCommand.doExecute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentScriptedCommandGenerator.java:1047)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandGenerator$AbstractCommand.execute(Lnet/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor;)V(FarragoTestConcurrentCommandGenerator.java:592)

[bh] at net/sf/farrago/test/concurrent/FarragoTestConcurrentCommandExecutor.run()V(FarragoTestConcurrentCommandExecutor.java:154)

[bh] at jrockit/vm/RNI.c2java(IIII)V(Native Method)

[bh] -- end of trace

[bh] Blocked lock chains

[bh] ===================

[bh] Chain 2:

[bh] "Command Executor ddl3" id=28 idx=0x22 tid=10197 waiting for java/lang/Integer@0x8535e48 held by:

[bh] "Command Executor ddl2" id=27 idx=0x20 tid=10196 in chain 1

[bh] Chain 3:

[bh] "Command Executor ddl4" id=29 idx=0x24 tid=10198 waiting for java/lang/Integer@0x8535e48 held by:

[bh] "Command Executor ddl2" id=27 idx=0x20 tid=10196 in chain 1

[bh] Chain 4:

[bh] "Command Executor ddl5" id=30 idx=0x26 tid=10199 waiting for java/lang/Integer@0x8535e48 held by:

[bh] "Command Executor ddl2" id=27 idx=0x20 tid=10196 in chain 1

[bh] Open lock chains

[bh] ================

[bh] Chain 1:

[bh] "Command Executor ddl1" id=26 idx=0x1e tid=10195 waiting for java/lang/Integer@0x8535e48 held by:

[bh] "Command Executor ddl2" id=27 idx=0x20 tid=10196 (active)

[bh] ===== END OF THREAD DUMP ===============