activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AMQ-4221) NPE plist (temp) sparse removal - filependingmessagecursor with selector and expiry
Date Thu, 13 Dec 2012 16:46:13 GMT

     [ 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

Mime
View raw message