[jboss-jira] [JBoss JIRA] (JBRULES-2463) Deadlock between ResourceChangeNotifierImpl.subscribeResourceChangeListener and ResourceChangeScannerImpl.subscribeNotifier
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Wed Feb 1 05:26:41 EST 2012
[ https://issues.jboss.org/browse/JBRULES-2463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Geoffrey De Smet updated JBRULES-2463:
--------------------------------------
Fix Version/s: 5.4.0.Beta3
(was: 5.4.0.Beta2)
> Deadlock between ResourceChangeNotifierImpl.subscribeResourceChangeListener and ResourceChangeScannerImpl.subscribeNotifier
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: JBRULES-2463
> URL: https://issues.jboss.org/browse/JBRULES-2463
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 5.0.1.FINAL
> Reporter: Andreas Kohn
> Assignee: Esteban Aliverti
> Fix For: 5.4.0.Beta3
>
>
> This deadlock was found by our continouos integration system which is building drools using mvn.
> Found one Java-level deadlock:
> =============================
> "Thread-42":
> waiting to lock monitor 0x00002aaaf8f2e8d0 (object 0x00002aaab4645830, a java.util.HashMap),
> which is held by "main"
> "main":
> waiting to lock monitor 0x00002aaaf4f3a028 (object 0x00002aaab46459b0, a java.util.HashMap),
> which is held by "Thread-42"
> Java stack information for the threads listed above:
> ===================================================
> "Thread-42":
> at org.drools.io.impl.ResourceChangeNotifierImpl.subscribeResourceChangeListener(ResourceChangeNotifierImpl.java:64)
> - waiting to lock <0x00002aaab4645830> (a java.util.HashMap)
> at org.drools.io.impl.ResourceChangeNotifierImpl.subscribeChildResource(ResourceChangeNotifierImpl.java:103)
> at org.drools.io.impl.ResourceChangeScannerImpl.scan(ResourceChangeScannerImpl.java:128)
> - locked <0x00002aaab46459b0> (a java.util.HashMap)
> at org.drools.io.impl.ResourceChangeScannerImpl$ProcessChangeSet.run(ResourceChangeScannerImpl.java:276)
> - locked <0x00002aaab46459b0> (a java.util.HashMap)
> - locked <0x00002aaade2c97d8> (a org.drools.io.impl.ResourceChangeScannerImpl$ProcessChangeSet)
> at java.lang.Thread.run(Thread.java:619)
> "main":
> at org.drools.io.impl.ResourceChangeScannerImpl.subscribeNotifier(ResourceChangeScannerImpl.java:64)
> - waiting to lock <0x00002aaab46459b0> (a java.util.HashMap)
> at org.drools.io.impl.ResourceChangeNotifierImpl.subscribeResourceChangeListener(ResourceChangeNotifierImpl.java:70)
> - locked <0x00002aaab4645830> (a java.util.HashMap)
> at org.drools.agent.impl.KnowledgeAgentImpl.processChangeSet(KnowledgeAgentImpl.java:150)
> - locked <0x00002aaade2c9c18> (a java.util.HashMap)
> at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:117)
> - locked <0x00002aaade2c9c18> (a java.util.HashMap)
> at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:109)
> at org.drools.agent.KnowledgeAgentTest.testModifyDirectory(KnowledgeAgentTest.java:776)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
> at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> Found 1 deadlock.
--
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