[jboss-jira] [JBoss JIRA] (WFLY-6989) Java deadlock with IdleRemover thread
Stefano Maestri (JIRA)
issues at jboss.org
Wed Sep 14 06:42:00 EDT 2016
[ https://issues.jboss.org/browse/WFLY-6989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefano Maestri resolved WFLY-6989.
-----------------------------------
Resolution: Duplicate Issue
[~simkam] is right. Closing as duplicate issue
> Java deadlock with IdleRemover thread
> -------------------------------------
>
> Key: WFLY-6989
> URL: https://issues.jboss.org/browse/WFLY-6989
> Project: WildFly
> Issue Type: Bug
> Components: JCA
> Affects Versions: 10.0.0.Final
> Environment: Java 8 b102 64-bit on Linux
> Using Oracle 12.c with Oracle thin client drivers.
> Reporter: David Rothenberger
> Assignee: Stefano Maestri
>
> We have had two Java deadlock issues involving the IdleRemover thread.
> We are using the following datasource definition:
> Data source definition:
> {code:xml}
> <datasource jndi-name="java:/EntomoNonTxDS" pool-name="EntomoNonTxDS" enabled="true" use-java-context="true">
> <connection-url>jdbc:oracle:thin:@//somehost:1541/somethingelse</connection-url>
> <driver>ojdbc6.jar</driver>
> <pool>
> <max-pool-size>200</max-pool-size>
> <allow-multiple-users>true</allow-multiple-users>
> </pool>
> <timeout>
> <idle-timeout-minutes>5</idle-timeout-minutes>
> </timeout>
> <validation>
> <validate-on-match>true</validate-on-match>
> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
> <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
> </validation>
> </datasource>
> {code}
> The information from Java relevant to the deadlock:
> {noformat}
> Found one Java-level deadlock:
> =============================
> "WorkflowMgr":
> waiting for ownable synchronizer 0x00000002d37eb7f0, (a java.util.concurrent.locks.ReentrantLock$FairSync),
> which is held by "IdleRemover"
> "IdleRemover":
> waiting to lock monitor 0x00007eff4c0a80e8 (object 0x00000002d280e6f0, a org.jboss.jca.core.connectionmanager.pool.strategy.PoolByCri),
> which is held by "WorkflowMgr"
> "WorkflowMgr":
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000002d37eb7f0> (a java.util.concurrent.locks.ReentrantLock$FairSync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
> at java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:224)
> at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
> at org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover.internalRegisterPool(IdleRemover.java:184)
> at org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover.registerPool(IdleRemover.java:166)
> at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.initialize(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:184)
> at org.jboss.jca.core.connectionmanager.pool.mcp.ManagedConnectionPoolFactory.init(ManagedConnectionPoolFactory.java:191)
> at org.jboss.jca.core.connectionmanager.pool.mcp.ManagedConnectionPoolFactory.create(ManagedConnectionPoolFactory.java:173)
> at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getManagedConnectionPool(AbstractPool.java:306)
> - locked <0x00000002d280e6f0> (a org.jboss.jca.core.connectionmanager.pool.strategy.PoolByCri)
> at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:590)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:590)
> at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:429)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:747)
> at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:162)
> at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:73)
> ...
> "IdleRemover":
> at org.jboss.jca.core.connectionmanager.pool.AbstractPool.emptyManagedConnectionPool(AbstractPool.java:454)
> - waiting to lock <0x00000002d280e6f0> (a org.jboss.jca.core.connectionmanager.pool.strategy.PoolByCri)
> at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.removeIdleConnections(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1034)
> at org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover$IdleRemoverRunner.run(IdleRemover.java:275)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list