You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (Resolved) (JIRA)" <ji...@apache.org> on 2011/10/11 22:05:11 UTC

[jira] [Resolved] (AMQ-3528) Failed to start ActiveMQ JMS Message Broker. Reason: java.lang.ArrayIndexOutOfBoundsException

     [ 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