You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Anthony Wood (JIRA)" <ji...@apache.org> on 2019/02/14 19:48:00 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=16768652#comment-16768652 ] 

Anthony Wood commented on AMQ-5995:
-----------------------------------

Three years later, there is still no warning about upgrades in the release notes.  This is simply a bug, and the "not a problem" response is a black mark against ActiveMQ.

I have hundreds of brokers in the field, with 100s to 1000s of backlogged persistent messages in the store at any given time. Deleting them all or waiting for them to deliver is a non-starter.

> 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
>            Priority: Major
>
> 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
(v7.6.3#76005)