activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] [Assigned] (AMQ-4258) Endless loop when received incorrect AMQP message
Date Tue, 22 Jan 2013 18:46:13 GMT


Timothy Bish reassigned AMQ-4258:

    Assignee: Hiram Chirino

@Hiram, can you take a look at this one. 
> Endless loop when received incorrect AMQP message
> -------------------------------------------------
>                 Key: AMQ-4258
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.8.0
>            Reporter: Robert Balent
>            Assignee: Hiram Chirino
>            Priority: Critical
>         Attachments: exception.txt, patch1.txt, patch2.txt
> When you send incorrect message to AMQP transform, it will stuck in endless loop and
write lot of error messages to console output.
> This way, you can send numbers of incorrect messages and ActiveMQ will create new thread
for each of them. This way can attacker create thousands of threads in few minutes and completely
overload server machine.
> Problem is in org.apache.activemq.transport.amqp.AmqpProtocolConverter class. It throws
exception(exception.txt) and loop never ends:
> Line 158:
> int count = protonTransport.input(, frame.offset, frame.length);
> Two solutions are possible:
> 1. Add "return" statement to catch block (patch1.txt).
> 2. Run "frame.moveHead(count);" in finally block with some default positive count (patch2.txt)
> I would prefer the first variant.
> This happens when you try to send message from client with older version of AMQP protocol.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message