Hi,

I believe this is fixed with the latest version of H2.

Regards,
Thomas


On Sat, May 4, 2013 at 7:04 AM, Ainimyoung <aiminyo...@gmail.com> wrote:

> Hi, I'm working on a project with H2 1.3.171 in server mode.
> Everything was fine while data growing daily until H2 hung due to a
> Java-level deadlock as below.
>
> Found one Java-level deadlock:
> =============================
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>   waiting to lock monitor 0x00000000008a5720 (object 0x00000006283c4dd0, a
> org.h2.engine.Database),
>   which is held by "H2 TCP Server (tcp://127.0.1.1:9092) thread"
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>   waiting to lock monitor 0x00000000007a0d00 (object 0x00000006283c9558, a
> org.h2.engine.Session),
>   which is held by "H2 TCP Server (tcp://127.0.1.1:9092) thread"
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>   waiting to lock monitor 0x00000000008a5720 (object 0x00000006283c4dd0, a
> org.h2.engine.Database),
>   which is held by "H2 TCP Server (tcp://127.0.1.1:9092) thread"
>
> Java stack information for the threads listed above:
> ===================================================
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>     at org.h2.engine.Engine.openSession(Engine.java:71)
>     - waiting to lock <0x00000006283c4dd0> (a org.h2.engine.Database)
>     at org.h2.engine.Engine.openSession(Engine.java:159)
>     - locked <0x000000062394e058> (a org.h2.engine.Engine)
>     at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
>     at org.h2.engine.Engine.createSession(Engine.java:121)
>     at org.h2.server.TcpServerThread.run(TcpServerThread.java:137)
>     at java.lang.Thread.run(Thread.java:722)
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>     at
> org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:101)
>     - waiting to lock <0x00000006283c9558> (a org.h2.engine.Session)
>     at org.h2.store.LobStorage.readBlock(LobStorage.java:226)
>     - locked <0x00000006283c4dd0> (a org.h2.engine.Database)
>     at
> org.h2.store.LobStorage$LobInputStream.fillBuffer(LobStorage.java:463)
>     at
> org.h2.store.LobStorage$LobInputStream.readFully(LobStorage.java:439)
>     at org.h2.store.LobStorage$LobInputStream.read(LobStorage.java:430)
>     at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
>     at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
>     at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
>     - locked <0x000000077ce60998> (a java.io.InputStreamReader)
>     at java.io.InputStreamReader.read(InputStreamReader.java:184)
>     at java.io.BufferedReader.fill(BufferedReader.java:154)
>     at java.io.BufferedReader.read1(BufferedReader.java:205)
>     at java.io.BufferedReader.read(BufferedReader.java:279)
>     - locked <0x000000077ce60998> (a java.io.InputStreamReader)
>     at java.io.Reader.read(Reader.java:140)
>     at org.h2.store.Data.copyString(Data.java:1293)
>     at org.h2.value.Transfer.writeValue(Transfer.java:462)
>     at org.h2.server.TcpServerThread.writeValue(TcpServerThread.java:487)
>     at org.h2.server.TcpServerThread.sendRow(TcpServerThread.java:469)
>     at org.h2.server.TcpServerThread.process(TcpServerThread.java:322)
>     at org.h2.server.TcpServerThread.run(TcpServerThread.java:150)
>     at java.lang.Thread.run(Thread.java:722)
> "H2 TCP Server (tcp://127.0.1.1:9092) thread":
>     at org.h2.engine.Database.update(Database.java:1429)
>     - waiting to lock <0x00000006283c4dd0> (a org.h2.engine.Database)
>     at org.h2.schema.Sequence.flush(Sequence.java:127)
>     - locked <0x00000006283c9558> (a org.h2.engine.Session)
>     - locked <0x00000006284102b0> (a org.h2.schema.Sequence)
>     at org.h2.schema.Sequence.getNext(Sequence.java:92)
>     - locked <0x00000006284102b0> (a org.h2.schema.Sequence)
>     at org.h2.expression.SequenceValue.getValue(SequenceValue.java:30)
>     at org.h2.table.Column.validateConvertUpdateSequence(Column.java:264)
>     - locked <0x00000006284101f8> (a org.h2.table.Column)
>     at org.h2.table.Table.validateConvertUpdateSequence(Table.java:692)
>     at org.h2.command.dml.Insert.insertRows(Insert.java:120)
>     at org.h2.command.dml.Insert.update(Insert.java:84)
>     at org.h2.command.CommandContainer.update(CommandContainer.java:75)
>     at org.h2.command.Command.executeUpdate(Command.java:230)
>     - locked <0x0000000628436c18> (a org.h2.engine.Session)
>     at org.h2.server.TcpServerThread.process(TcpServerThread.java:334)
>     - locked <0x0000000628436c18> (a org.h2.engine.Session)
>     at org.h2.server.TcpServerThread.run(TcpServerThread.java:150)
>     at java.lang.Thread.run(Thread.java:722)
>
> Found 1 deadlock.
>
> The entire jstack log is in attachment.
>
> Environment:
>     h2 1.3.171
>     java version "1.7.0_05"
>     Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
>     Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
>
> Can any one help? Thanks!
>
> Best Regards.
>
> --
> 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 h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at http://groups.google.com/group/h2-database?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to