2013-09-10 12:52:16
Full thread dump OpenJDK 64-Bit Server VM (23.7-b01 mixed mode):

"RMI TCP Connection(2)-127.0.0.1" daemon prio=10 tid=0x00007f739c005000 
nid=0x35ef runnable [0x00007f73fb97a000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:150)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    - locked <0x00000007d7a900a0> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - <0x00000007d77d3188> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"JMX server connection timeout 390" daemon prio=10 tid=0x00007f73a0011800 
nid=0x35ea in Object.wait() [0x00007f73fba7b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007d78565c8> (a [I)
    at 
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
    - locked <0x00000007d78565c8> (a [I)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"RMI Scheduler(0)" daemon prio=10 tid=0x00007f73a000c800 nid=0x35e8 waiting 
on condition [0x00007f73fbb7c000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000007d773e610> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
    at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
    at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"RMI TCP Connection(1)-127.0.0.1" daemon prio=10 tid=0x00007f739c004000 
nid=0x35e7 runnable [0x00007f740c12e000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:150)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    - locked <0x00000007d77ea360> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
    at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - <0x00000007d77d2c88> (a 
java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" daemon prio=10 tid=0x00007f73a80bc000 nid=0x35e3 
runnable [0x00007f740c644000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
    at java.net.ServerSocket.implAccept(ServerSocket.java:530)
    at java.net.ServerSocket.accept(ServerSocket.java:498)
    at 
sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
    at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:387)
    at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:359)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"Attach Listener" daemon prio=10 tid=0x00007f73e4001000 nid=0x35e0 waiting 
on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"H2 TCP Server (tcp://127.0.1.1:4445) thread" prio=10 
tid=0x00007f73c8007800 nid=0x34b5 waiting for monitor entry 
[0x00007f740c846000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.h2.engine.Engine.openSession(Engine.java:154)
    - waiting to lock <0x00000007d9644da0> (a org.h2.engine.Engine)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:139)
    at org.h2.engine.Engine.createSession(Engine.java:122)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 TCP Server (tcp://127.0.1.1:4445) thread" prio=10 
tid=0x00007f73c8004800 nid=0x3454 waiting for monitor entry 
[0x00007f740c947000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.h2.engine.Engine.openSession(Engine.java:71)
    - waiting to lock <0x00000007d95f8118> (a org.h2.engine.Database)
    at org.h2.engine.Engine.openSession(Engine.java:160)
    - locked <0x00000007d9644da0> (a org.h2.engine.Engine)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:139)
    at org.h2.engine.Engine.createSession(Engine.java:122)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 TCP Server (tcp://127.0.1.1:4445) thread" prio=10 
tid=0x00007f73c8006000 nid=0x3410 waiting for monitor entry 
[0x00007f740ca48000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at 
org.h2.store.LobStorageBackend$LobInputStream.<init>(LobStorageBackend.java:615)
    - waiting to lock <0x00000007d95f8118> (a org.h2.engine.Database)
    - locked <0x00000007d95ffde8> (a org.h2.engine.Session)
    at 
org.h2.store.LobStorageBackend.getInputStream(LobStorageBackend.java:331)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:439)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:151)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 Log Writer D2A" daemon prio=10 tid=0x00007f73c007d000 nid=0x327d 
waiting for monitor entry [0x00007f740cb49000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.h2.engine.Database.flush(Database.java:1850)
    - waiting to lock <0x00000007d95f8118> (a org.h2.engine.Database)
    at org.h2.store.WriterThread.run(WriterThread.java:87)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 File Lock Watchdog /tmp/data/d2a.lock.db" daemon prio=10 
tid=0x00007f73c001d000 nid=0x327c waiting on condition [0x00007f740cd50000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at org.h2.store.FileLock.run(FileLock.java:493)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 TCP Server (tcp://127.0.1.1:4445) thread" prio=10 
tid=0x00007f73c8003000 nid=0x3278 waiting for monitor entry 
[0x00007f740cc4f000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.h2.store.LobStorageBackend.addLob(LobStorageBackend.java:368)
    - waiting to lock <0x00000007d95ffde8> (a org.h2.engine.Session)
    at org.h2.store.LobStorageBackend.createClob(LobStorageBackend.java:551)
    at org.h2.value.ValueLobDb.link(ValueLobDb.java:191)
    at org.h2.index.PageDataIndex.add(PageDataIndex.java:118)
    at org.h2.table.RegularTable.addRow(RegularTable.java:125)
    at org.h2.table.Table.updateRows(Table.java:449)
    at org.h2.command.dml.Update.update(Update.java:144)
    at org.h2.command.CommandContainer.update(CommandContainer.java:79)
    at org.h2.command.Command.executeUpdate(Command.java:235)
    - locked <0x00000007d95f8118> (a org.h2.engine.Database)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:335)
    - locked <0x00000007d95f8040> (a org.h2.engine.Session)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:151)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"H2 TCP Server (tcp://127.0.1.1:4445)" prio=10 tid=0x00007f7418876800 
nid=0x3254 runnable [0x00007f740ce51000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
    at java.net.ServerSocket.implAccept(ServerSocket.java:530)
    at java.net.ServerSocket.accept(ServerSocket.java:498)
    at org.h2.server.TcpServer.listen(TcpServer.java:244)
    at org.h2.tools.Server.run(Server.java:549)
    at java.lang.Thread.run(Thread.java:724)

   Locked ownable synchronizers:
    - None

"Service Thread" daemon prio=10 tid=0x00007f741812d000 nid=0x3252 runnable 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread1" daemon prio=10 tid=0x00007f741812a800 nid=0x3251 
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread0" daemon prio=10 tid=0x00007f7418127800 nid=0x3250 
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"JDWP Command Reader" daemon prio=10 tid=0x00007f73e8001000 nid=0x324c 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"JDWP Event Helper Thread" daemon prio=10 tid=0x00007f7418125800 nid=0x324a 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x00007f7418122000 
nid=0x3248 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Signal Dispatcher" daemon prio=10 tid=0x00007f7418112000 nid=0x3246 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Finalizer" daemon prio=10 tid=0x00007f74180b9800 nid=0x3245 in 
Object.wait() [0x00007f74144f3000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007d95c8db8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
    - locked <0x00000007d95c8db8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)

   Locked ownable synchronizers:
    - None

"Reference Handler" daemon prio=10 tid=0x00007f74180b7800 nid=0x3244 in 
Object.wait() [0x00007f74145f4000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007d95c8b08> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:503)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
    - locked <0x00000007d95c8b08> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
    - None

"main" prio=10 tid=0x00007f7418010800 nid=0x323e waiting on condition 
[0x00007f7420ed2000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at com.data2act.cli.H2Runner.main(H2Runner.java:55)

   Locked ownable synchronizers:
    - None

"VM Thread" prio=10 tid=0x00007f74180af000 nid=0x3243 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f741801e800 nid=0x323f 
runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f7418020800 nid=0x3240 
runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f7418022000 nid=0x3241 
runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f7418024000 nid=0x3242 
runnable 

"VM Periodic Task Thread" prio=10 tid=0x00007f741812f800 nid=0x3253 waiting 
on condition 

JNI global references: 1997


Found one Java-level deadlock:
=============================
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
  waiting to lock monitor 0x00007f73bc005010 (object 0x00000007d9644da0, a 
org.h2.engine.Engine),
  which is held by "H2 TCP Server (tcp://127.0.1.1:4445) thread"
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
  waiting to lock monitor 0x00007f73ec001fd0 (object 0x00000007d95f8118, a 
org.h2.engine.Database),
  which is held by "H2 TCP Server (tcp://127.0.1.1:4445) thread"
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
  waiting to lock monitor 0x00007f73bc003b10 (object 0x00000007d95ffde8, a 
org.h2.engine.Session),
  which is held by "H2 TCP Server (tcp://127.0.1.1:4445) thread"
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
  waiting to lock monitor 0x00007f73ec001fd0 (object 0x00000007d95f8118, a 
org.h2.engine.Database),
  which is held by "H2 TCP Server (tcp://127.0.1.1:4445) thread"

Java stack information for the threads listed above:
===================================================
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
    at org.h2.engine.Engine.openSession(Engine.java:154)
    - waiting to lock <0x00000007d9644da0> (a org.h2.engine.Engine)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:139)
    at org.h2.engine.Engine.createSession(Engine.java:122)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
    at java.lang.Thread.run(Thread.java:724)
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
    at org.h2.engine.Engine.openSession(Engine.java:71)
    - waiting to lock <0x00000007d95f8118> (a org.h2.engine.Database)
    at org.h2.engine.Engine.openSession(Engine.java:160)
    - locked <0x00000007d9644da0> (a org.h2.engine.Engine)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:139)
    at org.h2.engine.Engine.createSession(Engine.java:122)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
    at java.lang.Thread.run(Thread.java:724)
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
    at org.h2.store.LobStorageBackend.addLob(LobStorageBackend.java:368)
    - waiting to lock <0x00000007d95ffde8> (a org.h2.engine.Session)
    at org.h2.store.LobStorageBackend.createClob(LobStorageBackend.java:551)
    at org.h2.value.ValueLobDb.link(ValueLobDb.java:191)
    at org.h2.index.PageDataIndex.add(PageDataIndex.java:118)
    at org.h2.table.RegularTable.addRow(RegularTable.java:125)
    at org.h2.table.Table.updateRows(Table.java:449)
    at org.h2.command.dml.Update.update(Update.java:144)
    at org.h2.command.CommandContainer.update(CommandContainer.java:79)
    at org.h2.command.Command.executeUpdate(Command.java:235)
    - locked <0x00000007d95f8118> (a org.h2.engine.Database)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:335)
    - locked <0x00000007d95f8040> (a org.h2.engine.Session)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:151)
    at java.lang.Thread.run(Thread.java:724)
"H2 TCP Server (tcp://127.0.1.1:4445) thread":
    at 
org.h2.store.LobStorageBackend$LobInputStream.<init>(LobStorageBackend.java:615)
    - waiting to lock <0x00000007d95f8118> (a org.h2.engine.Database)
    - locked <0x00000007d95ffde8> (a org.h2.engine.Session)
    at 
org.h2.store.LobStorageBackend.getInputStream(LobStorageBackend.java:331)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:439)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:151)
    at java.lang.Thread.run(Thread.java:724)

Found 1 deadlock.


On Tuesday, September 10, 2013 10:28:46 AM UTC+2, Noel Grandin wrote:
>
>
> > Everything runs fine, up to some point here H2 just stops listening. I 
> > then ran it in eclipse, to see what the threads were doing; but I see 
> > a thread deadlock (in eclipse the thread shows up red:) 
> > 
>
> I have fixed a deadlock recently, but it doesn't look like yours. 
> Taking a dump of the current thread stacks and posting it here would be 
> useful. 
> VisualVM is useful for this, otherwise a screenshot from Eclipse would 
> also do. 
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to