[ https://issues.apache.org/jira/browse/AMQ-2026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dejan Bosanac updated AMQ-2026: ------------------------------- Fix Version/s: (was: 5.4.2) 5.5.0 > PublishOnQueueConsumedMessageUsingActivemqXMLTest sometimes hangs on tearDown > ------------------------------------------------------------------------------ > > Key: AMQ-2026 > URL: https://issues.apache.org/jira/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.