Chuck Rolke created DISPATCH-825:
------------------------------------
Summary: Corrupted data on larger (>100Kb) messages
Key: DISPATCH-825
URL: https://issues.apache.org/jira/browse/DISPATCH-825
Project: Qpid Dispatch
Issue Type: Bug
Environment: Fedora 25. Master branch qpid-dispatch and qpid-cpp
tools: qpid-send, qpid-receive
Reporter: Chuck Rolke
h1. Setup
h3. Start a dispatch router with this conf file:
{noformat}
# Router to run qpid-interop-test
router {
mode: interior
id: Router.A
workerThreads: 4
allowUnsettledMulticast: yes
}
listener {
host: 0.0.0.0
port: 5672
authenticatePeer: no
saslMechanisms: ANONYMOUS
}
listener {
host: localhost
port: 5672
authenticatePeer: no
saslMechanisms: ANONYMOUS
}
address {
prefix: jms.queue.qpid-interop.#
distribution: balanced
}
log {
module: DEFAULT
enable: debug+
}
({noformat}
h3. Start a receiver to receive 1000 messages:
{noformat}
qpid-receive -a jms.queue.qpid-interop.test --connection-options
"{protocol:amqp1.0}" -m 1000 -f --print-content no --print-headers yes
--ack-frequency 1
{noformat}
h3. Start 1000 senders each with a different length message
{noformat}
#!/bin/bash
for i in `seq 100512 101511`;
do
qpid-send -a jms.queue.qpid-interop.test --connection-options
"{protocol:amqp1.0}" -m 1 --content-size $i
done
{noformat}
h1. Result
Eventually the receive program will exit with an error:
{noformat}
qpid-receive: Out of Bounds:
requested advance of 100552 at 42 but only 100444 available
(/home/chug/git/qpid-cpp/src/qpid/amqp/Decoder.cpp:307)
{noformat}
h2. Observations
* Putting qd_log statements in the qd_message_send path, one at each
pn_link_send() invocation, allows the setup to run the 1000 messages
repeatedly. Probably it would fail eventually but in this condition it is
harder to debug.
* I suspect a interlock issue between sending and receiving a single message
but adding a dozen or so assert has not revealed anything yet.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]