When you get that NPE, is it recoverable or do you have some data that can reproduce, I tried a bunch of variants of unit tests around that area of the code but could not reproduce.
On 31 May 2010 10:27, Christian Grobmeier <grobme...@gmail.com> wrote: > Hello, > > we have upgraded from 5.3.x series to a snapshot version because we > got several KahaDB errors. It was fine for a long time but then we > suddenly had an KahaDB error again. Any idea where is this coming > from? I assume its again something on creating index or such. > > Thanks for any tips, > Christian > > > Java Runtime: Sun Microsystems Inc. 1.6.0_10 /usr/java/jre1.6.0_10 > Heap sizes: current=8896k free=7231k max=699072k > JVM args: -Xmx768M > -Dorg.apache.activemq.UseDedicatedTaskRunner=true > -Djava.util.logging.config.file=logging.properties > -Dcom.sun.management.jmxremote > > -Dactivemq.classpath=/opt/batchjobs/apache-activemq-5.4-SNAPSHOT-master/conf; > -Dactivemq.home=/opt/batchjobs/apache-activemq-5.4-SNAPSHOT-master > -Dactivemq.base=/opt/batchjobs/apache-activemq-5.4-SNAPSHOT-master > ACTIVEMQ_HOME: /opt/batchjobs/apache-activemq-5.4-SNAPSHOT-master > ACTIVEMQ_BASE: /opt/batchjobs/apache-activemq-5.4-SNAPSHOT-master > Loading message broker from: xbean:activemq.xml > INFO | > PListStore:/opt/batchjobs/col3fo/apache-activemq-5.4-SNAPSHOT-master/data/broker-production-master/tmp_storage > started > INFO | Using Persistence Adapter: > org.apache.activemq.store.kahadb.kahadbpersistenceadap...@63779885 > INFO | Replayed 28 operations from the journal in 0.037 seconds. > INFO | ActiveMQ 5.4-SNAPSHOT JMS Message Broker > (broker-production-master) is starting > INFO | For help or more information please see: > http://activemq.apache.org/ > INFO | Scheduler using directory: activemq-data/scheduler > INFO | Listening for connections at: tcp://l00sr329:61610 > INFO | Connector openwire Started > INFO | ActiveMQ JMS Message Broker (broker-production-master, > ID:l00sr329-36140-1275296510105-0:0) started > INFO | Logging to > org.slf4j.impl.JCLLoggerAdapter(org.eclipse.jetty.util.log) via > org.eclipse.jetty.util.log.Slf4jLog > INFO | jetty-7.0.1.v20091125 > INFO | ActiveMQ WebConsole initialized. > INFO | Initializing Spring FrameworkServlet 'dispatcher' > INFO | ActiveMQ Console at http://0.0.0.0:8160/admin > INFO | Started selectchannelconnec...@0.0.0.0:8160 > ERROR | Failed to fill batch > java.lang.NullPointerException > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109) > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:240) > at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:235) > at > org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:253) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:106) > at > org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157) > at org.apache.activemq.broker.region.Queue.doBrowse(Queue.java:850) > at > org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:632) > at org.apache.activemq.broker.region.Queue.access$100(Queue.java:89) > at org.apache.activemq.broker.region.Queue$2.run(Queue.java:122) > at > org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33) > at java.util.TimerThread.mainLoop(Unknown Source) > at java.util.TimerThread.run(Unknown Source) > ERROR | Failed to fill batch > java.lang.RuntimeException: java.lang.NullPointerException > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:256) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:106) > at > org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157) > at org.apache.activemq.broker.region.Queue.doBrowse(Queue.java:850) > at > org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:632) > at org.apache.activemq.broker.region.Queue.access$100(Queue.java:89) > at org.apache.activemq.broker.region.Queue$2.run(Queue.java:122) > at > org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33) > at java.util.TimerThread.mainLoop(Unknown Source) > at java.util.TimerThread.run(Unknown Source) > Caused by: java.lang.NullPointerException > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109) > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:240) > at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:235) > at > org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:253) > ... 9 more > ERROR | Problem retrieving message for browse > java.lang.RuntimeException: java.lang.RuntimeException: > java.lang.NullPointerException > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:109) > at > org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157) > at org.apache.activemq.broker.region.Queue.doBrowse(Queue.java:850) > at > org.apache.activemq.broker.region.Queue.expireMessages(Queue.java:632) > at org.apache.activemq.broker.region.Queue.access$100(Queue.java:89) > at org.apache.activemq.broker.region.Queue$2.run(Queue.java:122) > at > org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33) > at java.util.TimerThread.mainLoop(Unknown Source) > at java.util.TimerThread.run(Unknown Source) > Caused by: java.lang.RuntimeException: java.lang.NullPointerException > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:256) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:106) > ... 8 more > Caused by: java.lang.NullPointerException > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:109) > at > org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:120) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:240) > at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) > at > org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:235) > at > org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97) > at > org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:253) > ... 9 more > -- http://blog.garytully.com Open Source Integration http://fusesource.com