Hi, I believe this is fixed with the latest version of H2.
Regards, Thomas On Sat, May 4, 2013 at 7:04 AM, Ainimyoung <[email protected]> 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 [email protected]. > To post to this group, send email to [email protected]. > 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 [email protected]. To post to this group, send email to [email protected]. 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.
