activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin C." <mart...@gmx.at>
Subject EOFException when accessing message's properties
Date Fri, 11 Mar 2011 08:27:19 GMT
Hi,

I am experiencing a corrupt message (see stacktrace below) which fails
when attempting to access the message's properties. We had this on two
occurances until now, both on a 5.3.2 broker. The issue happens
persists on 5.4.2, if we start it with the KahaDB datastore of the
5.3.2 instance. The message finally ended in a DLQ, but it also cannot
be processed from there.

The issue seems to only happen when deserializing the message (either
via network or from KahaDB on startup), as the message was viewable in
the webinterface of the broker before a restart, but afterwards, the
same exception occures when trying to browse the queue containing the
message in the web-interface.
Unfortunately I do not know a way to reproduce this, as this happens
only once every several-million messages. I also unfortunately cannot
provide the corrupt datastore due to sensitive data being included.

Do you have any idea, if/how I can recover the message somehow?

javax.jms.JMSException: java.io.EOFException
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
        at org.apache.activemq.filter.PropertyExpression.evaluate(PropertyExpression.java:199)
        at org.apache.activemq.command.ActiveMQMessage.getObjectProperty(ActiveMQMessage.java:462)
        at org.apache.activemq.command.ActiveMQMessage.getStringProperty(ActiveMQMessage.java:550)
        ... snip: some myapp.internal method calls ...
        at myapp.MessageHandler.onMessage(MessageHandler.java:101)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:534)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:241)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException
        at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
        at java.io.DataInputStream.readUTF(DataInputStream.java:572)
        at java.io.DataInputStream.readUTF(DataInputStream.java:547)
        at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:92)
        at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:73)
        at org.apache.activemq.command.Message.unmarsallProperties(Message.java:189)
        at org.apache.activemq.command.Message.getProperty(Message.java:151)
        at org.apache.activemq.filter.PropertyExpression.evaluate(PropertyExpression.java:197)
        ... 15 more


Thanks in advance,
Martin

Mime
View raw message