NullPointerException logged every 30 seconds after 
---------------------------------------------------

                 Key: AMQ-3804
                 URL: https://issues.apache.org/jira/browse/AMQ-3804
             Project: ActiveMQ
          Issue Type: Bug
          Components: Message Store
    Affects Versions: 5.6.0
         Environment: Windows XP SP3
            Reporter: Rajib Rashid


this is a duplicate of AMQ-3677 which was marked resolved. however i am still 
noticing this issue using the 5.6 snapshot release from apr 11, 2012. in this 
case activemq server was shutdown by terminating the java process. when the 
server is started again, following exception is logged every 30 seconds:

{code}
2012-04-11 14:06:53,786 org.apache.activemq.broker.region.Topic[ActiveMQ 
Broker[ZyrionMessageBus] Scheduler]: (ERROR) (   Topic.java:683) Failed to 
remove expired Message from the store 
java.lang.NullPointerException
        at 
org.apache.activemq.store.kahadb.MessageDatabase.removeAckLocation(MessageDatabase.java:2005)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.updateIndex(MessageDatabase.java:1259)
        at 
org.apache.activemq.store.kahadb.MessageDatabase$15.execute(MessageDatabase.java:1046)
        at org.apache.kahadb.page.Transaction.execute(Transaction.java:769)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:1044)
        at 
org.apache.activemq.store.kahadb.MessageDatabase$13.visit(MessageDatabase.java:977)
        at 
org.apache.activemq.store.kahadb.data.KahaRemoveMessageCommand.visit(KahaRemoveMessageCommand.java:220)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.process(MessageDatabase.java:969)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:881)
        at 
org.apache.activemq.store.kahadb.MessageDatabase.store(MessageDatabase.java:863)
        at 
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.doAcknowledge(KahaDBStore.java:715)
        at 
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.acknowledge(KahaDBStore.java:701)
        at 
org.apache.activemq.store.kahadb.KahaDBTransactionStore.acknowledge(KahaDBTransactionStore.java:519)
        at 
org.apache.activemq.store.kahadb.KahaDBTransactionStore$2.acknowledge(KahaDBTransactionStore.java:222)
        at org.apache.activemq.broker.region.Topic.acknowledge(Topic.java:489)
        at 
org.apache.activemq.broker.region.Topic.messageExpired(Topic.java:681)
        at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:562)
        at org.apache.activemq.broker.region.Topic.access$100(Topic.java:62)
        at org.apache.activemq.broker.region.Topic$6.run(Topic.java:662)
        at 
org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
        at java.util.TimerThread.mainLoop(Unknown Source)
        at java.util.TimerThread.run(Unknown Source)
{code}

here is the server configuration:

{code}
<beans
    xmlns="http://www.springframework.org/schema/beans";
    xmlns:amq="http://activemq.apache.org/schema/core";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://activemq.apache.org/schema/core 
http://activemq.apache.org/schema/core/activemq-core.xsd";>

  <!-- Allows us to use system properties as variables in this configuration 
file -->
  <bean 
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
  
  <!-- Configure the ActiveMQ broker -->
  <broker
      xmlns="http://activemq.apache.org/schema/core";
      brokerName="ZyrionMessageBus" 
      useJmx="false"
      dataDirectory="${activemq.base}/../../utils/spool/jms"
      deleteAllMessagesOnStartup="false"
      advisorySupport="false"
      offlineDurableSubscriberTimeout="7200000"
      offlineDurableSubscriberTaskSchedule="1800000">

    [...]

    <!-- Configure message persistence for the broker -->
    <persistenceAdapter>
      <kahaDB directory="${activemq.base}/../../utils/spool/jms/kahadb" 
ignoreMissingJournalfiles="true" checkForCorruptJournalFiles="true" 
checksumJournalFiles="true"/>
    </persistenceAdapter>
{code}

i can provide a copy of the kahadb directory if necessary to duplicate the 
issue. let me know if you require any additional information. thanks



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to