Keith Wall created QPID-6974:
--------------------------------
Summary: Timeouts occurring within IoSender may result in an
illegal AMQP stream being sent to the peer
Key: QPID-6974
URL: https://issues.apache.org/jira/browse/QPID-6974
Project: Qpid
Issue Type: Bug
Components: Java Broker, Java Client
Affects Versions: qpid-java-6.0, 0.32
Reporter: Keith Wall
This defect applies to the legacy Java Client only for 6.0.0, and to both the
Java Broker and Java Client for <= 0.32.
If the IoSender is in use by multiple threads, as might be the case if a client
application were using multiple JMS Sessions on a single Conection, there is
the possibility that if a #send() call times out, another thread might succeed
in it #send call, if there is space becomes available in the buffer. This
could result in in a corrupt AMQP stream being received by the peer. The first
caller's buffer will be partially sent and then followed by second callers.
This would lead to same symptom as report in QPID-6206. The following stack
trace was generated by a 0.32 derivative.
{code}
2016-01-05 18:22:09,190 ERROR [IoReceiver - /xxx.xx.xx.xx:60578]
(AMQProtocolEngine.java:364) - Frame decoding
org.apache.qpid.framing.AMQFrameDecodingException: Incoming frame size of
570425344 is larger than negotiated maximum of 104857600 [error code 501:
frame error]
at org.apache.qpid.codec.AMQDecoder.decodable(AMQDecoder.java:342)
at org.apache.qpid.codec.AMQDecoder.decodeBuffer(AMQDecoder.java:256)
at
org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine$2.run(AMQProtocolEngine.java:334)
at
org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine$2.run(AMQProtocolEngine.java:311)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at
org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:310)
at
org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.received(AMQProtocolEngine.java:95)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:153)
at
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:51)
at
org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]