[
https://issues.apache.org/jira/browse/AMQ-8398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17555829#comment-17555829
]
Rodolfo edited comment on AMQ-8398 at 6/18/22 4:13 AM:
--------------------------------------------------------
Hello
I observed kind of similar behavior.
if I submit a valid utf-8 via stomp that contains an +*4-byte unicode code
points*+ as decrypted above (example from golang stomp producer)
- JMS/Java client is unable to decode (bytes) the message, unable to consume
the message (java.io.UTFDataFormatException) in my observation the exception is
not throws, blocking the messages.
- If I try to consume/clean the message with a python stomp concumer (the
messages not get consume)
- Active MQ web console the message show "Error" if try to read in that way.
+*AmazonMQ 5.16.2*+
golang producer (go 1.16 + github.com/go-stomp/stomp/v3 v3.0.1)
java consumer (org.apache.activemq 5.17.0)
python3 consumer (stomp.py 7.0.0)
was (Author: JIRAUSER291175):
Hello
I observed kind of similar behavior.
if I submit a valid utf-8 via stomp that contains an +*4-byte unicode code
points*+ as decrypted above (example from golang stomp producer)
- later the JMS/Java client is unable to decode (bytes) the message, unable to
consume the message (java.io.UTFDataFormatException) in my observation the
exception is not throws and get kind of freeze, blocking other messages.
- If I try to consume/clean the message with a python stomp soncumer (the text
message not get consume)
- Active MQ web console the message show Error.
+*AmazonMQ 5.16.2*+
golang producer (go 1.16 + github.com/go-stomp/stomp/v3 v3.0.1)
java consumer (org.apache.activemq 5.17.0)
python3 consumer (stomp.py 7.0.0)
> 4-byte Unicode message from JMS to STOMP will be corrupted
> ----------------------------------------------------------
>
> Key: AMQ-8398
> URL: https://issues.apache.org/jira/browse/AMQ-8398
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker, STOMP, Transport
> Affects Versions: 5.16.3
> Reporter: Simon Lundstrom
> Assignee: Jean-Baptiste Onofré
> Priority: Major
> Fix For: 5.18.0, 5.17.2
>
>
> When sending a message from:
> JMS producer to STOMP consumer
> or
> STOMP producer to JMS consumer
> which contains a 4-byte unicode code points e.g.
> https://unicode-table.com/en/1F5A4/ there is a corruption of the message.
> In the JMS to STOMP case the code point gets converted to:
> {{ef bf bd ef bf bd}} when it should be {{f0 9f 96 a4}}.
> and in the STOMP to JMS case the JMS client throws an exception:
> {code}
> Exception in thread "main" javax.jms.JMSException:
> java.io.UTFDataFormatException
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72)
> at
> org.apache.activemq.command.ActiveMQTextMessage.decodeContent(ActiveMQTextMessage.java:104)
> at
> org.apache.activemq.command.ActiveMQTextMessage.getText(ActiveMQTextMessage.java:84)
> at testkonsument.App.JMS(App.java:86)
> at testkonsument.App.main(App.java:42)
> Caused by: java.io.UTFDataFormatException
> at
> org.apache.activemq.util.MarshallingSupport.convertUTF8WithBuf(MarshallingSupport.java:389)
> at
> org.apache.activemq.util.MarshallingSupport.readUTF8(MarshallingSupport.java:358)
> at
> org.apache.activemq.command.ActiveMQTextMessage.decodeContent(ActiveMQTextMessage.java:101)
> ... 3 more
> {code}
> Using 4-byte unicode points
> from STOMP to STOMP
> or
> from JMS to JMS
> is not a problem, both works and does not corrupt the code point.
> Note that 2- (e.g. https://unicode-table.com/en/00F6/) or 3-byte (e.g.
> https://unicode-table.com/en/2614/) Unicode code points does NOT get
> corrupted, even if the same message includes a 4-byte Unicode code point.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)