[jboss-jira] [JBoss JIRA] Created: (JBRULES-2463) Deadlock between ResourceChangeNotifierImpl.subscribeResourceChangeListener and ResourceChangeScannerImpl.subscribeNotifier

Andreas Kohn (JIRA) jira-events at lists.jboss.org
Sun Mar 28 13:37:38 EDT 2010


Deadlock between ResourceChangeNotifierImpl.subscribeResourceChangeListener and ResourceChangeScannerImpl.subscribeNotifier
---------------------------------------------------------------------------------------------------------------------------

                 Key: JBRULES-2463
                 URL: https://jira.jboss.org/jira/browse/JBRULES-2463
             Project: Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 5.0.1.FINAL
            Reporter: Andreas Kohn
            Assignee: Mark Proctor


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 contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list