You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/11/06 12:46:00 UTC

[jira] [Commented] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

    [ https://issues.apache.org/jira/browse/PROTON-576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16676708#comment-16676708 ] 

ASF subversion and git services commented on PROTON-576:
--------------------------------------------------------

Commit d2c42ed5d143e00333215192253fb8b1b757b829 in qpid-proton-j's branch refs/heads/master from Jiri Danek
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton-j.git;h=d2c42ed ]

NO-JIRA: reinstate tests from PROTON-576 that required Java 7+. This closes #17.


> proton-j: codec support for UTF-8 encoding and decoding appears broken?
> -----------------------------------------------------------------------
>
>                 Key: PROTON-576
>                 URL: https://issues.apache.org/jira/browse/PROTON-576
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-j
>    Affects Versions: 0.7
>            Reporter: Dominic Evans
>            Priority: Major
>             Fix For: 0.8
>
>         Attachments: 02_fix_stringtype_encode_decode.patch, PROTON-576.patch
>
>
> It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java String's built-in UTF-8 decoder. However, the code doesn't seem quite right and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to parse:
> |   |   Cause:1       :-  java.lang.IllegalArgumentException: Cannot parse String
> |   |   Message:1     :-  Cannot parse String
> |   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse String
> |   |   	at org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
> |   |   	at org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
> |   |   	at org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
> |   |   	at org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
> |   |   	at org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
> |   |   	at org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
> |   |   	at org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
> |   |   	at org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org