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.