activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pawel Remiszewski (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AMQ-5327) EOFException when sending char in MapMessage between Java and C++
Date Thu, 21 Aug 2014 10:47:12 GMT

     [ https://issues.apache.org/jira/browse/AMQ-5327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Pawel Remiszewski updated AMQ-5327:
-----------------------------------

    Description: 
Char values in MapMessage cause EOFException when sending message between Java and C++ (both
ways).
When sending messages with char values between Java <=> Java and c++ <=> c++ it
works without errors.

Don't know if the issue is in Java or c++ part, so I create 2 issues (one for Java ActiveMQ
and one for C++)

ActiveMQ version used: 5.10.0
ActiveMQ-CPP version used: 3.8.3

Also tried with older (3.7.0) and the newest (master from GIT) version of ActiveMQ-CPP and
the same error is thrown.

Scenario 1 (send message from Java to c++):
1. when MapMessage contains only one char value, no exception is thrown on c++ side, but value
is always equals to 0.
2. when MapMessage contains char value and some additional values (no matter what type) EOF
exception is thrown on c++ side.

Scenario 2 (send message from c++ to Java):
1. when MapMessage contains at lease one char value, EOF exception is thrown on Java side.

Java stacktrace:
{noformat}
javax.jms.JMSException: java.io.EOFException
	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
	at org.apache.activemq.command.ActiveMQMapMessage.loadContent(ActiveMQMapMessage.java:178)
	at org.apache.activemq.command.ActiveMQMapMessage.initializeReading(ActiveMQMapMessage.java:795)
	at org.apache.activemq.command.ActiveMQMapMessage.getMapNames(ActiveMQMapMessage.java:537)
	at activemq.test.TestConsumer.onMessage(TestConsumer.java:59)
	at activemq.test.TestConsumer.<init>(TestConsumer.java:39)
	at activemq.test.App.main(App.java:12)
Caused by: java.io.EOFException
	at java.io.DataInputStream.readChar(DataInputStream.java:365)
	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitive(MarshallingSupport.java:175)
	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:98)
	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:78)
	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:70)
	at org.apache.activemq.command.ActiveMQMapMessage.loadContent(ActiveMQMapMessage.java:174)
	... 5 more
{noformat}

  was:
Char values in MapMessage cause EOFException when sending message between Java and C++ (both
ways).
When sending messages with char values between Java <=> Java and c++ <=> c++ it
works without errors.

Don't know if the issue is in Java or c++ part, so I create 2 issues (one for Java ActiveMQ
and one for C++)

ActiveMQ version used: 5.10.0
ActiveMQ-CPP version used: 3.8.3

Also tried with older (3.7.0) and the newest (master from GIT) version of ActiveMQ-CPP and
the same error is thrown.

Scenario 1 (send message from Java to c++):
1. when MapMessage contains only one char value, no exception is thrown on c++ side, but value
is always equals to 0.
2. when MapMessage contains char value and some additional values (no matter what type) EOF
exception is thrown on c++ side.

Scenario 2 (send message from c++ to Java):
1. when MapMessage contains at lease one char value, EOF exception is thrown on Java side.

Java stacktrace:



> EOFException when sending char in MapMessage between Java and C++
> -----------------------------------------------------------------
>
>                 Key: AMQ-5327
>                 URL: https://issues.apache.org/jira/browse/AMQ-5327
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.10.0
>         Environment: Ubuntu 12.04, Windows Server 2008, Java 1.7
>            Reporter: Pawel Remiszewski
>            Priority: Critical
>
> Char values in MapMessage cause EOFException when sending message between Java and C++
(both ways).
> When sending messages with char values between Java <=> Java and c++ <=>
c++ it works without errors.
> Don't know if the issue is in Java or c++ part, so I create 2 issues (one for Java ActiveMQ
and one for C++)
> ActiveMQ version used: 5.10.0
> ActiveMQ-CPP version used: 3.8.3
> Also tried with older (3.7.0) and the newest (master from GIT) version of ActiveMQ-CPP
and the same error is thrown.
> Scenario 1 (send message from Java to c++):
> 1. when MapMessage contains only one char value, no exception is thrown on c++ side,
but value is always equals to 0.
> 2. when MapMessage contains char value and some additional values (no matter what type)
EOF exception is thrown on c++ side.
> Scenario 2 (send message from c++ to Java):
> 1. when MapMessage contains at lease one char value, EOF exception is thrown on Java
side.
> Java stacktrace:
> {noformat}
> javax.jms.JMSException: java.io.EOFException
> 	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> 	at org.apache.activemq.command.ActiveMQMapMessage.loadContent(ActiveMQMapMessage.java:178)
> 	at org.apache.activemq.command.ActiveMQMapMessage.initializeReading(ActiveMQMapMessage.java:795)
> 	at org.apache.activemq.command.ActiveMQMapMessage.getMapNames(ActiveMQMapMessage.java:537)
> 	at activemq.test.TestConsumer.onMessage(TestConsumer.java:59)
> 	at activemq.test.TestConsumer.<init>(TestConsumer.java:39)
> 	at activemq.test.App.main(App.java:12)
> Caused by: java.io.EOFException
> 	at java.io.DataInputStream.readChar(DataInputStream.java:365)
> 	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitive(MarshallingSupport.java:175)
> 	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:98)
> 	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:78)
> 	at org.apache.activemq.util.MarshallingSupport.unmarshalPrimitiveMap(MarshallingSupport.java:70)
> 	at org.apache.activemq.command.ActiveMQMapMessage.loadContent(ActiveMQMapMessage.java:174)
> 	... 5 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message