[ 
https://issues.apache.org/jira/browse/AMQ-3982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447225#comment-13447225
 ] 

Gary Tully commented on AMQ-3982:
---------------------------------

another stack trace that may help narrow down:{code}2012-09-03 13:08:59,043 
[IRM:0          ] - WARN  PListTest                      - Job[0] caught 
exception: null
java.lang.NullPointerException
        at org.apache.kahadb.util.LinkedNode.isTailNode(LinkedNode.java:68)
        at org.apache.kahadb.util.LinkedNode.getNext(LinkedNode.java:48)
        at org.apache.kahadb.index.ListNode$ListIterator.next(ListNode.java:184)
        at org.apache.kahadb.index.ListNode$ListIterator.next(ListNode.java:129)
        at 
org.apache.activemq.store.kahadb.plist.PList$PListIterator.next(PList.java:210)
        at 
org.apache.activemq.store.kahadb.plist.PList$PListIterator.next(PList.java:192)
        at 
org.apache.activemq.store.kahadb.plist.PListTest$Job.run(PListTest.java:578)
        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}
                
> Overlapping PList iterators can read wrong data or throw exceptions about 
> chunk streams not existing.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3982
>                 URL: https://issues.apache.org/jira/browse/AMQ-3982
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.6.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>            Priority: Critical
>             Fix For: 5.7.0
>
>         Attachments: new.txt
>
>
> When multiple PList iterators are in use and happen have an overlapping read 
> of PageFile data on disk they can reset each others seek offset and cause an 
> exception to be thrown about "chunk stream does not exist" or read of a page 
> in the Free list.  The reason is that the hasNext of PList iterator needs to 
> by sync'd on the index lock to prevent two iterators from entering into a 
> readPage call concurrently.  

--
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

Reply via email to