[ 
https://issues.apache.org/jira/browse/AMQ-3528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish resolved AMQ-3528.
-------------------------------

    Resolution: Fixed

The MessageDatabase code has been refactored on trunk and stores data such that 
this sort of thing should not happen any longer.  Suggest trying the latest 
5.6-SNAPSHOT with a clean data dir

                
> Failed to start ActiveMQ JMS Message Broker. Reason: 
> java.lang.ArrayIndexOutOfBoundsException
> ---------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3528
>                 URL: https://issues.apache.org/jira/browse/AMQ-3528
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.2, 5.5.0
>         Environment: windows 7, linux 
>            Reporter: linjinxiao
>            Assignee: Timothy Bish
>
> I connect the oracle db for store and manage message. It work fine for month. 
> But it throws an exception recently, and many different machine which broker 
> installed on throw the exception at the same time. 
> This can be fixed by unzip the install file and deploy again.
> This is the exception trace:
> 2011-09-29 09:50:20,866 | ERROR | Failed to start ActiveMQ JMS Message 
> Broker. Reason: java.lang.ArrayIndexOutOfBoundsException | 
> org.apache.activemq.broker.BrokerService | main
> java.lang.ArrayIndexOutOfBoundsException
>       at java.lang.System.arraycopy(Native Method)
>       at org.apache.kahadb.page.Transaction$2.read(Transaction.java:494)
>       at java.io.DataInputStream.readFully(DataInputStream.java:178)
>       at java.io.DataInputStream.readFully(DataInputStream.java:152)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase$HashSetStringMarshaller.readPayload(MessageDatabase.java:2352)
>       at 
> org.apache.activemq.store.kahadb.MessageDatabase$HashSetStringMarshaller.readPayload(MessageDatabase.java:2335)
>       at 
> org.apache.kahadb.index.BTreeNode$Marshaller.readPayload(BTreeNode.java:201)
>       at 
> org.apache.kahadb.index.BTreeNode$Marshaller.readPayload(BTreeNode.java:147)
>       at org.apache.kahadb.page.Transaction.load(Transaction.java:406)
>       at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
>       at org.apache.kahadb.index.BTreeIndex.loadNode(BTreeIndex.java:262)
>       at 
> org.apache.kahadb.index.BTreeNode$BTreeIterator.findNextPage(BTreeNode.java:103)
>       at 
> org.apache.kahadb.index.BTreeNode$BTreeIterator.hasNext(BTreeNode.java:121)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore$3.execute(KahaDBStore.java:736)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore$3.execute(KahaDBStore.java:726)
>       at org.apache.kahadb.page.Transaction.execute(Transaction.java:751)
>       at 
> org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore.getMessageCount(KahaDBStore.java:725)
>       at 
> org.apache.activemq.store.ProxyTopicMessageStore.getMessageCount(ProxyTopicMessageStore.java:116)
>       at 
> org.apache.activemq.broker.region.DurableTopicSubscription.add(DurableTopicSubscription.java:97)
>       at 
> org.apache.activemq.broker.region.Topic.addSubscription(Topic.java:146)
>       at 
> org.apache.activemq.broker.region.TopicRegion.addSubscriptionsForDestination(TopicRegion.java:197)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:132)
>       at 
> org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:301)
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>       at 
> org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:157)
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
>       at 
> org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
>       at 
> org.apache.activemq.broker.region.AbstractRegion.start(AbstractRegion.java:95)
>       at 
> org.apache.activemq.broker.region.RegionBroker.start(RegionBroker.java:199)
>       at 
> org.apache.activemq.broker.jmx.ManagedRegionBroker.start(ManagedRegionBroker.java:106)
>       at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
>       at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
>       at 
> org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:109)
>       at 
> org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1781)
>       at 
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:489)
>       at 
> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:60)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>       at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>       at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>       at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>       at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>       at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
>       at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>       at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>       at 
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
>       at 
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
>       at 
> org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:117)
>       at 
> org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:115)
>       at 
> org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:71)
>       at 
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
>       at 
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
>       at 
> org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
>       at 
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
>       at 
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>       at 
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143)
>       at 
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>       at 
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at org.apache.activemq.console.Main.runTaskClass(Main.java:251)
>       at org.apache.activemq.console.Main.main(Main.java:107)
> 2011-09-29 09:50:20,991 | INFO  | ActiveMQ Message Broker (localhost, null) 
> is shutting down | org.apache.activemq.broker.BrokerService | main
> 2011-09-29 09:50:20,991 | INFO  | Connector openwire Stopped | 
> org.apache.activemq.broker.TransportConnector | main
> 2011-09-29 09:50:21,007 | INFO  | 
> PListStore:D:\hsp\apache-activemq-5.4.2\bin\..\data\localhost\tmp_storage 
> stopped | org.apache.activemq.store.kahadb.plist.PListStore | main

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