[jboss-jira] [JBoss JIRA] (JBRULES-3502) Deadlock trying to do concurrent insertions on the same KnowledgeSession

Mario Fusco (JIRA) jira-events at lists.jboss.org
Thu May 10 12:33:20 EDT 2012


Mario Fusco created JBRULES-3502:
------------------------------------

             Summary: Deadlock trying to do concurrent insertions on the same KnowledgeSession
                 Key: JBRULES-3502
                 URL: https://issues.jboss.org/browse/JBRULES-3502
             Project: Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
            Reporter: Mario Fusco
            Assignee: Mario Fusco


Concurrent insertions on the same KnowledgeSession ends up in a deadlock with 2 threads waiting each other as it follows:

Thread-1 at 1667 daemon, prio=5, in group 'main', status: 'WAIT'
	  at sun.misc.Unsafe.park(Unsafe.java:-1)
	  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
	  at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
	  at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
	  at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:172)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
	  at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)

Thread-0 at 1666 daemon, prio=5, in group 'main', status: 'WAIT'
	  at sun.misc.Unsafe.park(Unsafe.java:-1)
	  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
	  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
	  at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:807)
	  at org.drools.common.UpgradableReentrantReadWriteLock.lowPriorityWriteLock(UpgradableReentrantReadWriteLock.java:105)
	  at org.drools.common.UpgradableReentrantReadWriteLock.writeLock(UpgradableReentrantReadWriteLock.java:88)
	  at org.drools.common.AbstractRuleBase.lock(AbstractRuleBase.java:472)
	  at org.drools.reteoo.builder.PatternBuilder.attachObjectTypeNode(PatternBuilder.java:266)
	  at org.drools.reteoo.ClassObjectTypeConf.<init>(ClassObjectTypeConf.java:99)
	  at org.drools.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(ObjectTypeConfigurationRegistry.java:71)
	  at org.drools.reteoo.Rete.assertObject(Rete.java:107)
	  at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:286)
	  at org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:435)
	  at org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:977)
	  at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:322)
	  at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
	  at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list