[ 
https://issues.apache.org/activemq/browse/AMQ-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rob Davies resolved AMQ-1667.
-----------------------------

    Resolution: Fixed

Fixed by SVN revision 650386

> AMQ message store throws IllegalStateException/IndexOutOfBoundsExceptions 
> (5.1)
> -------------------------------------------------------------------------------
>
>                 Key: AMQ-1667
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1667
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.1.0
>         Environment: Windows XP
> java version "1.6.0_04"
> Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
> Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
>            Reporter: John F. Merryman
>            Assignee: Rob Davies
>             Fix For: 5.1.0
>
>         Attachments: AMQ-1667-Tests.jar
>
>
> In 5.1RC3, when doing a durable subscription test, only about 100~ messages 
> get sent, then IndexOutOfBoundsExceptions start to occur when messages are 
> sent. Only the first 100~ messages are received by the first durable 
> subscriber. 
> I can reproduce this error reliably. I will work on packaging a test program 
> to demonstrate this error.
> Stacktrace: 
> 2008-04-16 14:09:32,357 [topic://testSub] WARN  AMQMessageStore               
>  - Message could not be added to long term store: Trying to access an 
> inactive page: 999424
> java.lang.IllegalStateException: Trying to access an inactive page: 999424
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashIndex.lookupPage(HashIndex.java:283)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashPageInfo.begin(HashPageInfo.java:95)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashBin.getRetrievePage(HashBin.java:260)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashBin.getHashEntry(HashBin.java:236)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashBin.remove(HashBin.java:164)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashIndex.remove(HashIndex.java:246)
>       at 
> org.apache.activemq.kaha.impl.container.MapContainerImpl.remove(MapContainerImpl.java:324)
>       at 
> org.apache.activemq.kaha.impl.container.MapContainerImpl.place(MapContainerImpl.java:401)
>       at 
> org.apache.activemq.store.kahadaptor.TopicSubContainer.add(TopicSubContainer.java:62)
>       at 
> org.apache.activemq.store.kahadaptor.KahaTopicReferenceStore.addMessageReference(KahaTopicReferenceStore.java:95)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore$4.execute(AMQMessageStore.java:385)
>       at 
> org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:44)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.doAsyncWrite(AMQMessageStore.java:374)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.asyncWrite(AMQMessageStore.java:341)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore$1.iterate(AMQMessageStore.java:95)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> Later stacktraces look like this:
> 2008-04-16 14:09:33,140 [topic://testSub] WARN  AMQMessageStore               
>  - Message could not be added to long term store: Index: 1, Size: 1
> java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
>       at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>       at java.util.ArrayList.get(ArrayList.java:322)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashPage.getHashEntry(HashPage.java:194)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashPageInfo.getHashEntry(HashPageInfo.java:77)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashBin.getHashEntry(HashBin.java:239)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashBin.remove(HashBin.java:164)
>       at 
> org.apache.activemq.kaha.impl.index.hash.HashIndex.remove(HashIndex.java:246)
>       at 
> org.apache.activemq.kaha.impl.container.MapContainerImpl.remove(MapContainerImpl.java:324)
>       at 
> org.apache.activemq.kaha.impl.container.MapContainerImpl.place(MapContainerImpl.java:401)
>       at 
> org.apache.activemq.store.kahadaptor.TopicSubContainer.add(TopicSubContainer.java:62)
>       at 
> org.apache.activemq.store.kahadaptor.KahaTopicReferenceStore.addMessageReference(KahaTopicReferenceStore.java:95)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore$4.execute(AMQMessageStore.java:385)
>       at 
> org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:44)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.doAsyncWrite(AMQMessageStore.java:374)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore.asyncWrite(AMQMessageStore.java:341)
>       at 
> org.apache.activemq.store.amq.AMQMessageStore$1.iterate(AMQMessageStore.java:95)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
>       at 
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

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

Reply via email to