[ https://issues.apache.org/jira/browse/AMQ-3982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully updated AMQ-3982: ---------------------------- Comment: was deleted (was: 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