You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Gordon Sim (JIRA)" <ji...@apache.org> on 2018/05/16 17:08:00 UTC

[jira] [Commented] (PROTON-1846) [proton-c] Message decode fails with PN_OUT_OF_MEMORY if there are large lists in the message

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

Gordon Sim commented on PROTON-1846:
------------------------------------

Attached a javascript sender application that also shows the problem. If you use this to send to a proton client e.g. simple_send through a router/broker, or direct_send, in python or c++, the proton client fails with an error. A qpid::messaging client however, e.g. qpid-receive, can receive the message.

> [proton-c]  Message decode fails with PN_OUT_OF_MEMORY if there are large lists in the message
> ----------------------------------------------------------------------------------------------
>
>                 Key: PROTON-1846
>                 URL: https://issues.apache.org/jira/browse/PROTON-1846
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: proton-c-0.22.0
>            Reporter: Ganesh Murthy
>            Priority: Major
>         Attachments: send_large_structured_body.js
>
>
> Steps to reproduce -
>  
>  # Start the Qpid Dispatch router
>  # Run the following script that creates a bunch of addresses
>  # for i in `seq 1 6546`; do echo "\{\"prefix\":\"address-$i\",\"distribution\":\"balanced\"}" | qdmanage CREATE --type=org.apache.qpid.dispatch.router.config.address --name address-$i --stdin; done
>  # now run qdmanage QUERY --type=address
>  # You will receive a Data error (-10)
> The following diff seems to fix the issue
> diff --git a/c/src/core/data.h b/c/src/core/data.h
> index 94dc7d67..f4320e2a 100644
> --- a/c/src/core/data.h
> +++ b/c/src/core/data.h
> @@ -27,7 +27,7 @@
>  #include "decoder.h"
>  #include "encoder.h"
>  
> -typedef uint16_t pni_nid_t;
> +typedef uint32_t pni_nid_t;
>  #define PNI_NID_MAX ((pni_nid_t)-1)



--
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