You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Eduardo Corral (JIRA)" <ji...@apache.org> on 2008/12/09 09:26:05 UTC

[jira] Created: (AMQ-2026) PublishOnQueueConsumedMessageUsingActivemqXMLTest sometimes hangs on tearDown

PublishOnQueueConsumedMessageUsingActivemqXMLTest  sometimes hangs on tearDown
------------------------------------------------------------------------------

                 Key: AMQ-2026
                 URL: https://issues.apache.org/activemq/browse/AMQ-2026
             Project: ActiveMQ
          Issue Type: Bug
          Components: Test Cases
    Affects Versions: 5.2.0
         Environment: Solaris 9 9/04 SPARC, Java 1.5.0_11-b03, Maven 2.0.9, ActiveMQ 5.2.0 (Revision: 724629)
            Reporter: Eduardo Corral
            Priority: Minor


While executing the full install, with {{maven clean install}}, tests sometimes get stuck on {{PublishOnQueueConsumedMessageUsingActivemqXMLTest}}. A thread dump reveals that main thread is waiting for VM transport to stop on tearDown:

{noformat}

"ActiveMQ Transport Stopper: vm://localhost#0" prio=10 tid=0x00129790 nid=0x6f waiting on condition [0xf167e000..0xf167fc28]
        at sun.misc.Unsafe.park(Native Method)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:681)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:837)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1144)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:199)
        at org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint(JournalPersistenceAdapter.java:319)
        at org.apache.activemq.store.journal.JournalMessageStore.getMessageCount(JournalMessageStore.java:403)
        at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.getStoreSize(QueueStorePrefetch.java:63)
        - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
        at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.gc(AbstractStoreCursor.java:212)
        - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
        at org.apache.activemq.broker.region.cursors.StoreQueueCursor.gc(StoreQueueCursor.java:257)
        - locked <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
        at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:308)
        at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:324)
        at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:392)
        at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
        at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
        at org.apache.activemq.advisory.AdvisoryBroker.removeConsumer(AdvisoryBroker.java:222)
        at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
        at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:121)
        at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:565)
        at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:600)
        at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:705)
        - locked <0xb4c1e158> (a org.apache.activemq.broker.TransportConnection)
        at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1000)
        at org.apache.activemq.broker.TransportConnection$3.run(TransportConnection.java:925)

"main" prio=10 tid=0x00036a00 nid=0x1 waiting for monitor entry [0xffbfc000..0xffbfe8b8]
        at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:79)
        - waiting to lock <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
        at org.apache.activemq.broker.region.Queue.stop(Queue.java:541)
        at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:109)
        - locked <0xb4baed50> (a java.lang.Object)
        at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
        at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:614)
        at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:109)
        at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:185)
        at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:117)
        at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
        at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
        at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1580)
        at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
        at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:521)
        at org.apache.activemq.usecases.PublishOnQueueConsumedMessageUsingActivemqXMLTest.tearDown(PublishOnQueueConsumedMessageUsingActivemqXMLTest.java:71)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        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.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:585)
        at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:160)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
        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:585)
        at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:182)
        at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:743)

{noformat}

{{org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint}}  is waiting on

{noformat}
if (sync) {
   LOG.debug("Waking for checkpoint to complete.");
   latch.await();
}
{noformat}

But on the thread dump I see no {{ActiveMQ Journal Checkpoint Worker}} to perform the actual {{org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint}}. I haven't thoroughly inspected the code, but it seems that the journal is already stopped when the message count is requested. ¿Is this test-setup related or is some problem with the stop sequence?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQ-2026) PublishOnQueueConsumedMessageUsingActivemqXMLTest sometimes hangs on tearDown

Posted by "Eduardo Corral (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eduardo Corral updated AMQ-2026:
--------------------------------

    Attachment: PublishOnQueueConsumedMessageUsingActivemqXMLTest.stack.txt

Full thread dump

> PublishOnQueueConsumedMessageUsingActivemqXMLTest  sometimes hangs on tearDown
> ------------------------------------------------------------------------------
>
>                 Key: AMQ-2026
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2026
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Test Cases
>    Affects Versions: 5.2.0
>         Environment: Solaris 9 9/04 SPARC, Java 1.5.0_11-b03, Maven 2.0.9, ActiveMQ 5.2.0 (Revision: 724629)
>            Reporter: Eduardo Corral
>            Priority: Minor
>         Attachments: PublishOnQueueConsumedMessageUsingActivemqXMLTest.stack.txt
>
>
> While executing the full install, with {{maven clean install}}, tests sometimes get stuck on {{PublishOnQueueConsumedMessageUsingActivemqXMLTest}}. A thread dump reveals that main thread is waiting for VM transport to stop on tearDown:
> {noformat}
> "ActiveMQ Transport Stopper: vm://localhost#0" prio=10 tid=0x00129790 nid=0x6f waiting on condition [0xf167e000..0xf167fc28]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:681)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:837)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1144)
>         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:199)
>         at org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint(JournalPersistenceAdapter.java:319)
>         at org.apache.activemq.store.journal.JournalMessageStore.getMessageCount(JournalMessageStore.java:403)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.getStoreSize(QueueStorePrefetch.java:63)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.gc(AbstractStoreCursor.java:212)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.gc(StoreQueueCursor.java:257)
>         - locked <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:308)
>         at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:324)
>         at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:392)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.advisory.AdvisoryBroker.removeConsumer(AdvisoryBroker.java:222)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:121)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:565)
>         at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:600)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:705)
>         - locked <0xb4c1e158> (a org.apache.activemq.broker.TransportConnection)
>         at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1000)
>         at org.apache.activemq.broker.TransportConnection$3.run(TransportConnection.java:925)
> "main" prio=10 tid=0x00036a00 nid=0x1 waiting for monitor entry [0xffbfc000..0xffbfe8b8]
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:79)
>         - waiting to lock <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.stop(Queue.java:541)
>         at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:109)
>         - locked <0xb4baed50> (a java.lang.Object)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:614)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:109)
>         at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:185)
>         at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:117)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1580)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:521)
>         at org.apache.activemq.usecases.PublishOnQueueConsumedMessageUsingActivemqXMLTest.tearDown(PublishOnQueueConsumedMessageUsingActivemqXMLTest.java:71)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         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.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:585)
>         at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:160)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
>         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:585)
>         at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:182)
>         at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:743)
> {noformat}
> {{org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint}}  is waiting on
> {noformat}
> if (sync) {
>    LOG.debug("Waking for checkpoint to complete.");
>    latch.await();
> }
> {noformat}
> But on the thread dump I see no {{ActiveMQ Journal Checkpoint Worker}} to perform the actual {{org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint}}. I haven't thoroughly inspected the code, but it seems that the journal is already stopped when the message count is requested. ¿Is this test-setup related or is some problem with the stop sequence?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AMQ-2026) PublishOnQueueConsumedMessageUsingActivemqXMLTest sometimes hangs on tearDown

Posted by "Bruce Snyder (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruce Snyder updated AMQ-2026:
------------------------------

    Fix Version/s: 5.5.0
                       (was: 5.4.1)

> PublishOnQueueConsumedMessageUsingActivemqXMLTest  sometimes hangs on tearDown
> ------------------------------------------------------------------------------
>
>                 Key: AMQ-2026
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2026
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Test Cases
>    Affects Versions: 5.2.0
>         Environment: Solaris 9 9/04 SPARC, Java 1.5.0_11-b03, Maven 2.0.9, ActiveMQ 5.2.0 (Revision: 724629)
>            Reporter: Eduardo Corral
>            Priority: Minor
>             Fix For: 5.5.0
>
>         Attachments: PublishOnQueueConsumedMessageUsingActivemqXMLTest.stack.txt
>
>
> While executing the full install, with {{maven clean install}}, tests sometimes get stuck on {{PublishOnQueueConsumedMessageUsingActivemqXMLTest}}. A thread dump reveals that main thread is waiting for VM transport to stop on tearDown:
> {noformat}
> "ActiveMQ Transport Stopper: vm://localhost#0" prio=10 tid=0x00129790 nid=0x6f waiting on condition [0xf167e000..0xf167fc28]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:681)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:837)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1144)
>         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:199)
>         at org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint(JournalPersistenceAdapter.java:319)
>         at org.apache.activemq.store.journal.JournalMessageStore.getMessageCount(JournalMessageStore.java:403)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.getStoreSize(QueueStorePrefetch.java:63)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.gc(AbstractStoreCursor.java:212)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.gc(StoreQueueCursor.java:257)
>         - locked <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:308)
>         at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:324)
>         at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:392)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.advisory.AdvisoryBroker.removeConsumer(AdvisoryBroker.java:222)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:121)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:565)
>         at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:600)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:705)
>         - locked <0xb4c1e158> (a org.apache.activemq.broker.TransportConnection)
>         at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1000)
>         at org.apache.activemq.broker.TransportConnection$3.run(TransportConnection.java:925)
> "main" prio=10 tid=0x00036a00 nid=0x1 waiting for monitor entry [0xffbfc000..0xffbfe8b8]
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:79)
>         - waiting to lock <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.stop(Queue.java:541)
>         at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:109)
>         - locked <0xb4baed50> (a java.lang.Object)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:614)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:109)
>         at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:185)
>         at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:117)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1580)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:521)
>         at org.apache.activemq.usecases.PublishOnQueueConsumedMessageUsingActivemqXMLTest.tearDown(PublishOnQueueConsumedMessageUsingActivemqXMLTest.java:71)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         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.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:585)
>         at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:160)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
>         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:585)
>         at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:182)
>         at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:743)
> {noformat}
> {{org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint}}  is waiting on
> {noformat}
> if (sync) {
>    LOG.debug("Waking for checkpoint to complete.");
>    latch.await();
> }
> {noformat}
> But on the thread dump I see no {{ActiveMQ Journal Checkpoint Worker}} to perform the actual {{org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint}}. I haven't thoroughly inspected the code, but it seems that the journal is already stopped when the message count is requested. ¿Is this test-setup related or is some problem with the stop sequence?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (AMQ-2026) PublishOnQueueConsumedMessageUsingActivemqXMLTest sometimes hangs on tearDown

Posted by "Eduardo Corral (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47959#action_47959 ] 

ecorral edited comment on AMQ-2026 at 12/9/08 12:32 AM:
---------------------------------------------------------------

Full thread dump added

      was (Author: ecorral):
    Full thread dump
  
> PublishOnQueueConsumedMessageUsingActivemqXMLTest  sometimes hangs on tearDown
> ------------------------------------------------------------------------------
>
>                 Key: AMQ-2026
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2026
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Test Cases
>    Affects Versions: 5.2.0
>         Environment: Solaris 9 9/04 SPARC, Java 1.5.0_11-b03, Maven 2.0.9, ActiveMQ 5.2.0 (Revision: 724629)
>            Reporter: Eduardo Corral
>            Priority: Minor
>         Attachments: PublishOnQueueConsumedMessageUsingActivemqXMLTest.stack.txt
>
>
> While executing the full install, with {{maven clean install}}, tests sometimes get stuck on {{PublishOnQueueConsumedMessageUsingActivemqXMLTest}}. A thread dump reveals that main thread is waiting for VM transport to stop on tearDown:
> {noformat}
> "ActiveMQ Transport Stopper: vm://localhost#0" prio=10 tid=0x00129790 nid=0x6f waiting on condition [0xf167e000..0xf167fc28]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:681)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:837)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1144)
>         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:199)
>         at org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint(JournalPersistenceAdapter.java:319)
>         at org.apache.activemq.store.journal.JournalMessageStore.getMessageCount(JournalMessageStore.java:403)
>         at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.getStoreSize(QueueStorePrefetch.java:63)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.gc(AbstractStoreCursor.java:212)
>         - locked <0xb4cbad70> (a org.apache.activemq.broker.region.cursors.QueueStorePrefetch)
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.gc(StoreQueueCursor.java:257)
>         - locked <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:308)
>         at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:324)
>         at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:392)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.advisory.AdvisoryBroker.removeConsumer(AdvisoryBroker.java:222)
>         at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:114)
>         at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:121)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:565)
>         at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:600)
>         at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:705)
>         - locked <0xb4c1e158> (a org.apache.activemq.broker.TransportConnection)
>         at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1000)
>         at org.apache.activemq.broker.TransportConnection$3.run(TransportConnection.java:925)
> "main" prio=10 tid=0x00036a00 nid=0x1 waiting for monitor entry [0xffbfc000..0xffbfe8b8]
>         at org.apache.activemq.broker.region.cursors.StoreQueueCursor.stop(StoreQueueCursor.java:79)
>         - waiting to lock <0xb4cbba18> (a org.apache.activemq.broker.region.cursors.StoreQueueCursor)
>         at org.apache.activemq.broker.region.Queue.stop(Queue.java:541)
>         at org.apache.activemq.broker.region.AbstractRegion.stop(AbstractRegion.java:109)
>         - locked <0xb4baed50> (a java.lang.Object)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.region.RegionBroker.doStop(RegionBroker.java:614)
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.doStop(ManagedRegionBroker.java:109)
>         at org.apache.activemq.broker.region.RegionBroker.stop(RegionBroker.java:185)
>         at org.apache.activemq.broker.TransactionBroker.stop(TransactionBroker.java:117)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerFilter.stop(BrokerFilter.java:158)
>         at org.apache.activemq.broker.BrokerService$3.stop(BrokerService.java:1580)
>         at org.apache.activemq.util.ServiceStopper.stop(ServiceStopper.java:41)
>         at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:521)
>         at org.apache.activemq.usecases.PublishOnQueueConsumedMessageUsingActivemqXMLTest.tearDown(PublishOnQueueConsumedMessageUsingActivemqXMLTest.java:71)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         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.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:585)
>         at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
>         at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:160)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:81)
>         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:585)
>         at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:182)
>         at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:743)
> {noformat}
> {{org.apache.activemq.store.journal.JournalPersistenceAdapter.checkpoint}}  is waiting on
> {noformat}
> if (sync) {
>    LOG.debug("Waking for checkpoint to complete.");
>    latch.await();
> }
> {noformat}
> But on the thread dump I see no {{ActiveMQ Journal Checkpoint Worker}} to perform the actual {{org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint}}. I haven't thoroughly inspected the code, but it seems that the journal is already stopped when the message count is requested. ¿Is this test-setup related or is some problem with the stop sequence?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.