[
https://issues.apache.org/jira/browse/AMQ-4221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-4221.
-----------------------------
Resolution: Fixed
fix in http://svn.apache.org/viewvc?rev=1421373&view=rev
dangling reference to free page in listindex, can lead to npe (best case) or
corruption if page is subsequently reused by another listindex or cce in other
cases.
Effects the filependingmessage cursor with sparse expiry, one example would be
a sparse selector where the remainder (on disk) expire.
> NPE plist (temp) sparse removal - filependingmessagecursor with selector and
> expiry
> -----------------------------------------------------------------------------------
>
> Key: AMQ-4221
> URL: https://issues.apache.org/jira/browse/AMQ-4221
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.7.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Fix For: 5.8.0
>
>
> {code}2012-12-13 11:37:27,027 [calhost] Task-1] - ERROR Queue
> - Failed to page in more queue messages
> java.lang.NullPointerException
> at org.apache.kahadb.index.ListNode.access$200(ListNode.java:37)
> at
> org.apache.kahadb.index.ListNode$NodeMarshaller.writePayload(ListNode.java:265)
> at
> org.apache.kahadb.index.ListNode$NodeMarshaller.writePayload(ListNode.java:255)
> at org.apache.kahadb.page.Transaction.store(Transaction.java:248)
> at org.apache.kahadb.index.ListIndex.storeNode(ListIndex.java:326)
> at org.apache.kahadb.index.ListNode.store(ListNode.java:332)
> at org.apache.kahadb.index.ListNode.access$500(ListNode.java:37)
> at
> org.apache.kahadb.index.ListNode$ListIterator.remove(ListNode.java:227)
> at
> org.apache.activemq.store.kahadb.plist.PList$PListIterator$1.execute(PList.java:229)
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:771)
> at
> org.apache.activemq.store.kahadb.plist.PList$PListIterator.remove(PList.java:226)
> at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor$DiskIterator.remove(FilePendingMessageCursor.java:517)
> at
> org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.remove(FilePendingMessageCursor.java:321)
> at
> org.apache.activemq.broker.region.Queue.doPageInForDispatch(Queue.java:1735)
> at
> org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1948)
> at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1465)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:680)
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira