Hi,

we've seen the following Java level deadlock in H2, version 1.3.169. It was 
reported by a user, I'm not sure how reproducible this is.

Jan


Found one Java-level deadlock:
=============================
"pool-2-thread-71":
  waiting to lock monitor 0x00007f82b000c440 (object 0x000000058e7ce568, a 
java.lang.Object),
  which is held by "Thread 551"
"Thread 551":
  waiting to lock monitor 0x00007f82b000c248 (object 0x000000058e6ffe58, a 
org.h2.engine.Database),
  which is held by "Thread 548"
"Thread 548":
  waiting to lock monitor 0x00007f82b000c440 (object 0x000000058e7ce568, a 
java.lang.Object),
  which is held by "Thread 551"

Java stack information for the threads listed above:
===================================================
"pool-2-thread-71":
    at org.h2.engine.Database.beforeWriting(Database.java:2272)
    - waiting to lock <0x000000058e7ce568> (a java.lang.Object)
    at org.h2.command.Command.executeQuery(Command.java:181)
    at org.h2.jdbc.JdbcConnection.isReadOnly(JdbcConnection.java:531)
    at 
org.apache.commons.dbcp.DelegatingConnection.isReadOnly(DelegatingConnection.java:362)
    at 
org.apache.commons.dbcp.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:711)
    at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1174)
    at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
    <...>
"Thread 551":
    at org.h2.engine.Database.reconnectModified(Database.java:317)
    - waiting to lock <0x000000058e6ffe58> (a org.h2.engine.Database)
    at org.h2.engine.Database.beforeWriting(Database.java:2272)
    - locked <0x000000058e7ce568> (a java.lang.Object)
    at org.h2.command.Command.executeQuery(Command.java:181)
    at org.h2.jdbc.JdbcConnection.isReadOnly(JdbcConnection.java:531)
    at 
org.apache.commons.dbcp.DelegatingConnection.isReadOnly(DelegatingConnection.java:362)
    at 
org.apache.commons.dbcp.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:711)
    at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1174)
    at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
    <...>
"Thread 548":
    at org.h2.engine.Database.afterWriting(Database.java:2294)
    - waiting to lock <0x000000058e7ce568> (a java.lang.Object)
    at org.h2.command.Command.executeQuery(Command.java:205)
    - locked <0x000000058e6ffe58> (a org.h2.engine.Database)
    at org.h2.jdbc.JdbcConnection.isReadOnly(JdbcConnection.java:531)
    at 
org.apache.commons.dbcp.DelegatingConnection.isReadOnly(DelegatingConnection.java:362)
    at 
org.apache.commons.dbcp.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:711)
    at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1174)
    at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
    <...>

Found 1 deadlock.


-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/h2-database/-/jukFaWMxnjMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to