[ 
https://issues.apache.org/jira/browse/QPID-8273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Rudyy updated QPID-8273:
-----------------------------
    Description: 
Qpid Broker-J versions 6.0.0-7.0.6 and 7.1.0 can crash when AMQP 0-8...0-10 
protocols are used in the following cases:
* on receiving malformed commands
* on receiving malformed message
* on sending malformed messages to the consumers

AMQP 1.0 is not affected by the defect



  was:
Broker can crash with BufferOverflowException when sending message to consumer. 
The stack trace like the one below is reported into Qpid Broker logs.
{noformat}
(o.a.q.s.Main) - Uncaught exception, shutting down.
java.nio.BufferOverflowException: null
        at java.nio.Buffer.nextPutIndex(Buffer.java:527)
        at java.nio.DirectByteBuffer.putLong(DirectByteBuffer.java:797)
        at 
org.apache.qpid.bytebuffer.QpidByteBuffer.putLong(QpidByteBuffer.java:500)
        at 
org.apache.qpid.framing.BasicContentHeaderProperties.writePropertyListPayload(BasicContentHeaderProperties.java:293)
        at 
org.apache.qpid.framing.BasicContentHeaderProperties.writePropertyListPayload(BasicContentHeaderProperties.java:471)
        at 
org.apache.qpid.framing.ContentHeaderBody.writePayload(ContentHeaderBody.java:100)
        at org.apache.qpid.framing.AMQFrame.writePayload(AMQFrame.java:69)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl$CompositeAMQBodyBlock.writePayload(ProtocolOutputConverterImpl.java:542)
        at 
org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl.writeFrame(AMQPConnection_0_8Impl.java:382)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeFrame(ProtocolOutputConverterImpl.java:501)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeMessageDeliveryUnchanged(ProtocolOutputConverterImpl.java:227)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeMessageDelivery(ProtocolOutputConverterImpl.java:138)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeMessageDelivery(ProtocolOutputConverterImpl.java:95)
        at 
org.apache.qpid.server.protocol.v0_8.ProtocolOutputConverterImpl.writeDeliver(ProtocolOutputConverterImpl.java:72)
        at 
org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl$WriteDeliverMethod.deliverToClient(AMQPConnection_0_8Impl.java:1275)
        at 
org.apache.qpid.server.protocol.v0_8.ConsumerTarget_0_8.sendToClient(ConsumerTarget_0_8.java:452)
        at 
org.apache.qpid.server.protocol.v0_8.ConsumerTarget_0_8$AckConsumer.doSend(ConsumerTarget_0_8.java:274)
        at 
org.apache.qpid.server.consumer.AbstractConsumerTarget.sendNextMessage(AbstractConsumerTarget.java:327)
        at 
org.apache.qpid.server.consumer.AbstractConsumerTarget.processPending(AbstractConsumerTarget.java:99)
        at 
org.apache.qpid.server.protocol.v0_8.AMQChannel.processPending(AMQChannel.java:3797)
        at 
org.apache.qpid.server.protocol.v0_8.AMQPConnection_0_8Impl$ProcessPendingIterator$1.run(AMQPConnection_0_8Impl.java:1447)
        at 
org.apache.qpid.server.transport.NonBlockingConnection.processPending(NonBlockingConnection.java:375)
        at 
org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:279)
        at 
org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:130)
        at 
org.apache.qpid.server.transport.SelectorThread$ConnectionProcessor.processConnection(SelectorThread.java:563)
        at 
org.apache.qpid.server.transport.SelectorThread$ConnectionProcessor.run(SelectorThread.java:551)
        at 
org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:521)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{noformat}




> [Broker-J][AMQP 0-8..0-91] Broker can crash with BufferOverflowException when 
> sending message to consumer
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-8273
>                 URL: https://issues.apache.org/jira/browse/QPID-8273
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-6.1.6, qpid-java-broker-7.0.3, 
> qpid-java-broker-7.0.2, qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, 
> qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, 
> qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, 
> qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, 
> qpid-java-6.1.5, qpid-java-broker-7.0.1, qpid-java-6.1.7, 
> qpid-java-broker-7.1.0, qpid-java-broker-7.0.4, qpid-java-broker-7.0.5, 
> qpid-java-broker-7.0.6
>            Reporter: Alex Rudyy
>            Assignee: Alex Rudyy
>            Priority: Critical
>             Fix For: qpid-java-broker-7.0.7, qpid-java-broker-7.1.1
>
>
> Qpid Broker-J versions 6.0.0-7.0.6 and 7.1.0 can crash when AMQP 0-8...0-10 
> protocols are used in the following cases:
> * on receiving malformed commands
> * on receiving malformed message
> * on sending malformed messages to the consumers
> AMQP 1.0 is not affected by the defect



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to