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.