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

[jira] [Commented] (AMQ-5995) ActiveMQ exits on startup with UTFDataFormatException: bad string

    [ https://issues.apache.org/jira/browse/AMQ-5995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14943501#comment-14943501 ] 

Timothy Bish commented on AMQ-5995:
-----------------------------------

The version of openwire used to store data in the persistence layer was updated in 5.12.0 to fix ongoing interoperability issues across the various wire protocols that the broker supports.  The fix here would be to network a new broker to the older instance and drain off the messages in the JDBC store by creating demand on the new broker for the Queues that exist in your older store.

> ActiveMQ exits on startup with UTFDataFormatException: bad string
> -----------------------------------------------------------------
>
>                 Key: AMQ-5995
>                 URL: https://issues.apache.org/jira/browse/AMQ-5995
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.12.0
>            Reporter: Gijsbert van den Brink
>
> When upgrading from 5.11.1 to 5.12, ActiveMQ does not start and exits with an error (see full stack trace below). The issue occurs when ActiveMQ reads a message from the store (in my case an Oracle database using JDBCPersistenceAdapter) that was stored in 5.11.1 and tries to read in 5.12.0. 
> Tim Bain sugested on the mailing list that maybe the Openwire format is incompatible between 5.11.1 and 5.12.0. One thing I noticed when debugging this is that 5.11.1 uses v6.MessageIdMarshaller, while 5.12.0 uses v11. Not sure if that has anything to do with this issue though.
> ERROR o.a.activemq.broker.BrokerService - Failed to start Apache ActiveMQ ([eda2e5a4c4d0, null], {}) 
> java.io.UTFDataFormatException: bad string 
>         at org.apache.activemq.util.DataByteArrayInputStream.readUTF(DataByteArrayInputStream.java:315) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.BaseDataStreamMarshaller.looseUnmarshalString(BaseDataStreamMarshaller.java:571) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.MessageIdMarshaller.looseUnmarshal(MessageIdMarshaller.java:122) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.OpenWireFormat.looseUnmarshalNestedObject(OpenWireFormat.java:473) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.BaseDataStreamMarshaller.looseUnmarsalNestedObject(BaseDataStreamMarshaller.java:466) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.MessageMarshaller.looseUnmarshal(MessageMarshaller.java:220) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.ActiveMQMessageMarshaller.looseUnmarshal(ActiveMQMessageMarshaller.java:101) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.v11.ActiveMQObjectMessageMarshaller.looseUnmarshal(ActiveMQObjectMessageMarshaller.java:101) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:366) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:200) ~[activemq-client-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getLastMessageBrokerSequenceId(JDBCPersistenceAdapter.java:266) ~[activemq-jdbc-store-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.region.DestinationFactoryImpl.getLastMessageBrokerSequenceId(DestinationFactoryImpl.java:147) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.region.RegionBroker.<init>(RegionBroker.java:130) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.jmx.ManagedRegionBroker.<init>(ManagedRegionBroker.java:112) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:2297) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:2290) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:2247) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:981) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.getAdminConnectionContext(BrokerService.java:2518) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.startVirtualConsumerDestinations(BrokerService.java:2657) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:2509) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:692) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:684) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerService.start(BrokerService.java:605) ~[activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73) [activemq-spring-5.12.0.jar:5.12.0] 
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_75] 
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_75] 
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_75] 
>         at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_75] 
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1640) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1581) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:636) [spring-beans-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:934) [spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) [spring-context-3.2.11.RELEASE.jar:3.2.11.RELEASE] 
>         at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64) [xbean-spring-3.18.jar:3.18] 
>         at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52) [xbean-spring-3.18.jar:3.18] 
>         at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104) [activemq-spring-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104) [activemq-spring-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67) [activemq-spring-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) [activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) [activemq-broker-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87) [activemq-console-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:62) [activemq-console-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154) [activemq-console-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:62) [activemq-console-5.12.0.jar:5.12.0] 
>         at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104) [activemq-console-5.12.0.jar:5.12.0] 
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_75] 
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_75] 
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_75] 
>         at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_75] 
>         at org.apache.activemq.console.Main.runTaskClass(Main.java:262) [activemq.jar:5.12.0] 
>         at org.apache.activemq.console.Main.main(Main.java:115) [activemq.jar:5.12.0] 
> 2015-09-12 12:05:45,323 INFO  o.a.activemq.broker.BrokerService - Apache ActiveMQ 5.12.0 (eda2e5a4c4d0, null) is shutting down 
> 2015-09-12 12:05:45,324 INFO  o.a.a.broker.TransportConnector - Connector openwire stopped 
> See also: http://activemq.2283324.n4.nabble.com/ActiveMQ-exits-on-startup-with-UTFDataFormatException-bad-string-tc4701955.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)