I've commented on the JIRA[1] with my initial analysis... If we can confirm that the frames on the wire / what Proton is receiving match what the Java Broker log is saying it sent, then I think the problem is definitely on the Proton side of things.
-- Rob [1] https://issues.apache.org/jira/browse/QPID-6651?focusedCommentId=14637684&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14637684 On 22 July 2015 at 23:09, Philip Preston <[email protected]> wrote: > Raised https://issues.apache.org/jira/browse/QPID-6651 < > https://issues.apache.org/jira/browse/QPID-6651> > > > > On 22 Jul 2015, at 19:33, Philip Preston <[email protected]> wrote: > > > > Hey > > > > Yeah - as I said it was all pretty vanilla - so thought it was unusual. > > > > I’ll get the logs and open issue. > > > > I’ll kick the tires on later releases. > > > > Thanks > > > > Phil > > > > > >> On 22 Jul 2015, at 13:22, Rob Godfrey <[email protected]> wrote: > >> > >> Hi Phil, > >> > >> this seems odd - I know people have been sending and receiving to/from > the Java Broker successfully using Proton. Can you turn on debug logging > in the Java Broker (edit your log4j.xml config file and move all the > thresholds down to DEBUG for instance)? If you can create a JIRA for this > issue (https://issues.apache.org/jira/browse/QPID < > https://issues.apache.org/jira/browse/QPID>) and attach any DEBUG log as > attachments that would be really helpful. > >> > >> Out of interest - have you tried with newer versions of Proton? > >> > >> -- Rob > >> > >> On 22 July 2015 at 00:44, Philip Preston <[email protected] > <mailto:[email protected]>> wrote: > >> Hey > >> > >> I was testing the broker implementation that is currently being worked > on in OpenMAMA and came across an issue, which I have been able to recreate > with proton send / recv example apps. > >> > >> The issue is seen with sending large payloads to Java QPID Broker using > the proton send application as follows: > >> > >> ./send -a topic://127.0.0.1/MAMA/PHIL <> <string from file - in this > case 47104 bytes> > >> > >> And the receive as per below: > >> > >> ./recv topic://127.0.0.1/MAMA/PHIL <> > >> > >> I am running the Java QPID Broker v0.32 running with java v1.8.0_45 - > vanilla setup (although I have ran this java broker on Centos 7 along with > the clients to be sure not a mac thing). The message makes it to the recv > client and throws an assertion: > >> > >> Assertion failed: (msg && bytes && size), function pn_message_decode, > file > /Users/ppreston/Developer/Libraries/Source/qpid-proton/proton-c/src/message/message.c, > line 656. > >> Abort trap: 6 > >> > >> I am running proton v0.8 (debug build). Running in lldb I can see > whats failing: > >> > >> frame #0: 0x000000010002cef4 > libqpid-proton.2.dylib`pn_message_decode(msg=0x0000000100204c00, > bytes=0x000000010101d800, size=0) + 36 at message.c:656 > >> 653 > >> 654 int pn_message_decode(pn_message_t *msg, const char *bytes, > size_t size) > >> 655 { > >> -> 656 assert(msg && bytes && size); > >> 657 > >> 658 pn_message_clear(msg); > >> 659 > >> (lldb) p msg > >> (pn_message_t *) $0 = 0x0000000100204c00 > >> (lldb) p bytes > >> (const char *) $1 = 0x000000010101d800 "" > >> (lldb) p size > >> (size_t) $2 = 0 > >> (lldb) > >> > >> When I inspect the messages in Wireshark I can see it flags malformed > packet. Following is from the send client to the broker. > >> > >> > >> > >> Running the same clients to a C++ Qpid Broker v0.32, however, there are > no issues and the data is received in the recv client fine. The qpidd is > running vanilla with —topic-pattern parameter. > >> > >> Have checked the following combinations with large payloads (ruling out > different MTU on loopback vs active interfaces) > >> > >> send (mac) —> Java Broker (loopback mac) —> recv > (mac) : Fail > >> send (mac) —> Java Broker (vnic linux) —> recv > (mac) : Fail > >> send (linux) —> Java Broker (loopback linux) —> recv > (linux) : Fail > >> send (mac) —> C++ Broker (vnic linux) —> recv > (mac) : Pass > >> send (linux) —> C++ Broker (loopback linux) —> > recv (linux) : Pass > >> > >> Wanted to check whether anyone else has experienced this? Something > configuration based? I am not that familiar with QPID brokers so not > ruling out something I haven’t setup in Java that’s not needed in C++. > >> > >> Any help or guidance would be greatly appreciated before I go down a > rabbit hole. > >> > >> Thanks > >> > >> Phil > >> > >> > >> > >> > > > >
