Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-5995

ActiveMQ exits on startup with UTFDataFormatException: bad string

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: 5.12.0
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                vandenbrink@zorgdomein.nl Gijsbert van den Brink
              • Votes:
                1 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: