[jboss-jira] [JBoss JIRA] Commented: (JBAOP-713) Deadlock on Rebuildingchain test

Flavia Rainone (JIRA) jira-events at lists.jboss.org
Fri Apr 3 19:07:22 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBAOP-713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12460583#action_12460583 ] 

Flavia Rainone commented on JBAOP-713:
--------------------------------------

The fact that thre is only one thread waiting on a lock suggests that the thread that acquired the lock didn't release it. The result: a dangling acquired lock and a thread trying to acquire this lock.

> Deadlock on Rebuildingchain test
> --------------------------------
>
>                 Key: JBAOP-713
>                 URL: https://jira.jboss.org/jira/browse/JBAOP-713
>             Project: JBoss AOP
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.1.0.CR2
>            Reporter: Flavia Rainone
>            Assignee: Flavia Rainone
>             Fix For: 2.0.2.GA
>
>
> I found this deadlock when fixing JBAOP-567:
>   [junit] Full thread dump Java HotSpot(TM) Server VM (1.5.0_12-b04 mixed mode):
>     [junit] 
>     [junit] "Thread-19" prio=1 tid=0x8c86a4a0 nid=0x22a8 waiting on condition [0x8c9a4000..0x8c9a5130]
>     [junit]     at sun.misc.Unsafe.park(Native Method)
>     [junit]     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>     [junit]     at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:716)
>     [junit]     at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:746)
>     [junit]     at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1076)
>     [junit]     at java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync.wlock(ReentrantReadWriteLock.java:342)
>     [junit]     at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:637)
>     [junit]     at org.jboss.aop.Advisor.lockWriteChain(Advisor.java:1795)
>     [junit]     at org.jboss.aop.ClassAdvisor.lockWriteChains(ClassAdvisor.java:706)
>     [junit]     at org.jboss.aop.ClassAdvisor.doRebuildInterceptorsForAddedBinding(ClassAdvisor.java:1156)
>     [junit]     at org.jboss.aop.ClassAdvisor$RebuildInterceptorsAction$1$2.run(ClassAdvisor.java:2297)
>     [junit]     at java.security.AccessController.doPrivileged(Native Method)
>     [junit]     at org.jboss.aop.ClassAdvisor$RebuildInterceptorsAction$1.rebuildInterceptorsForAddedBinding(ClassAdvisor.java:2293)
>     [junit]     at org.jboss.aop.ClassAdvisor.rebuildInterceptorsForAddedBinding(ClassAdvisor.java:1143)
>     [junit]     at org.jboss.aop.GeneratedClassAdvisor.access$1501(GeneratedClassAdvisor.java:65)
>     [junit]     at org.jboss.aop.GeneratedClassAdvisor$ClassAdvisorStrategy.rebuildInterceptorsForAddedBinding(GeneratedClassAdvisor.java:1538)
>     [junit]     at org.jboss.aop.GeneratedClassAdvisor.rebuildInterceptorsForAddedBinding(GeneratedClassAdvisor.java:244)
>     [junit]     at org.jboss.aop.Advisor.newBindingAdded(Advisor.java:1124)
>     [junit]     - locked <0xadd75028> (a org.jboss.test.aop.rebuildingchain.ConstructorExecutionSyncThread$Pojo$ConstructorExecutionSyncThread$PojoAdvisor)
>     [junit]     at org.jboss.aop.AspectManager.updateAdvisorsForAddedBinding(AspectManager.java:1515)
>     [junit]     - locked <0xadd76870> (a java.util.WeakHashMap)
>     [junit]     at org.jboss.aop.AspectManager.updateAdvisorsForAddedBinding(AspectManager.java:1538)
>     [junit]     - locked <0x91c3aaa0> (a java.util.WeakHashMap)
>     [junit]     at org.jboss.aop.AspectManager.addBinding(AspectManager.java:1473)
>     [junit]     - locked <0x91bf58d8> (a java.util.WeakHashMap)
>     [junit]     at org.jboss.test.aop.rebuildingchain.RebuildThread.linkNewAdvice(RebuildThread.java:84)
>     [junit]     at org.jboss.test.aop.rebuildingchain.RebuildThread.run(RebuildThread.java:53)
>     [junit] 
>     [junit] "Low Memory Detector" daemon prio=1 tid=0x8d60dbb0 nid=0x2292 runnable [0x00000000..0x00000000]
>     [junit] 
>     [junit] "CompilerThread1" daemon prio=1 tid=0x8d60c7b0 nid=0x2291 waiting on condition [0x00000000..0x8d1fa018]
>     [junit] 
>     [junit] "CompilerThread0" daemon prio=1 tid=0x8d60b810 nid=0x2290 waiting on condition [0x00000000..0x8d27b198]
>     [junit] 
>     [junit] "AdapterThread" daemon prio=1 tid=0x8d60a840 nid=0x228f waiting on condition [0x00000000..0x00000000]
>     [junit] 
>     [junit] "Signal Dispatcher" daemon prio=1 tid=0x8d609950 nid=0x228e waiting on condition [0x00000000..0x00000000]
>     [junit] 
>     [junit] "Finalizer" daemon prio=1 tid=0x8d6004b0 nid=0x228c in Object.wait() [0x8d5fe000..0x8d5ff0b0]
>     [junit]     at java.lang.Object.wait(Native Method)
>     [junit]     - waiting on <0x91c21260> (a java.lang.ref.ReferenceQueue$Lock)
>     [junit]     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>     [junit]     - locked <0x91c21260> (a java.lang.ref.ReferenceQueue$Lock)
>     [junit]     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>     [junit]     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>     [junit] 
>     [junit] "Reference Handler" daemon prio=1 tid=0x0921f1a0 nid=0x228b in Object.wait() [0x8d79c000..0x8d79ce30]
>     [junit]     at java.lang.Object.wait(Native Method)
>     [junit]     - waiting on <0x91c249e0> (a java.lang.ref.Reference$Lock)
>     [junit]     at java.lang.Object.wait(Object.java:474)
>     [junit]     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>     [junit]     - locked <0x91c249e0> (a java.lang.ref.Reference$Lock)
>     [junit] 
>     [junit] "main" prio=1 tid=0x09179988 nid=0x2285 in Object.wait() [0xbfd97000..0xbfd97d68]
>     [junit]     at java.lang.Object.wait(Native Method)
>     [junit]     - waiting on <0xadfc0540> (a org.jboss.test.aop.rebuildingchain.RebuildThread)
>     [junit]     at java.lang.Thread.join(Thread.java:1095)
>     [junit]     - locked <0xadfc0540> (a org.jboss.test.aop.rebuildingchain.RebuildThread)
>     [junit]     at java.lang.Thread.join(Thread.java:1148)
>     [junit]     at org.jboss.test.aop.rebuildingchain.RebuildingChainTestCase.assertRebuildingChainWithJoin(RebuildingChainTestCase.java:237)
>     [junit]     at org.jboss.test.aop.rebuildingchain.RebuildingChainTestCase.testConstructorExecutionWithJoin(RebuildingChainTestCase.java:115)
>     [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     [junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     [junit]     at java.lang.reflect.Method.invoke(Method.java:585)
>     [junit]     at junit.framework.TestCase.runTest(TestCase.java:154)
>     [junit]     at junit.framework.TestCase.runBare(TestCase.java:127)
>     [junit]     at junit.framework.TestResult$1.protect(TestResult.java:106)
>     [junit]     at junit.framework.TestResult.runProtected(TestResult.java:124)
>     [junit]     at junit.framework.TestResult.run(TestResult.java:109)
>     [junit]     at junit.framework.TestCase.run(TestCase.java:118)
>     [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
>     [junit]     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>     [junit]     at junit.framework.TestSuite.run(TestSuite.java:203)
>     [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
>     [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
>     [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
>     [junit] 
>     [junit] "VM Thread" prio=1 tid=0x0921cc68 nid=0x228a runnable 
>     [junit] 
>     [junit] "GC task thread#0 (ParallelGC)" prio=1 tid=0x09193a78 nid=0x2288 runnable 
>     [junit] 
>     [junit] "GC task thread#1 (ParallelGC)" prio=1 tid=0x091946c8 nid=0x2289 runnable 
>     [junit] 
>     [junit] "VM Periodic Task Thread" prio=1 tid=0x8d60f748 nid=0x2293 waiting on condition 
>     [junit] 

-- 
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