[rabbitmq-discuss] Weird Crash (91MB message over STOMP) [Reproducible]

Darien Kindlund darien at kindlund.com
Sun Aug 9 08:28:58 BST 2009


Hi Matthias,

> Okay, I'll try and develop a compact version of the perl test code that I've
> got. If, for some reason, the message content actually matters, then you'll
> have to let me know the best way for me to send you a 91MB test file.  If
> you guys have no preferred method, then I'll use my company's default method
> (not email).

The perl code below will generate a ~96MB message and send it to
RabbitMQ via STOMP.  The exchange and destination need not even exist
on the server -- just as long as there's a valid vhost.  Once the
message is sent, RabbitMQ v1.6.0 will crash before the STOMP client
has a chance to even disconnect.

Please let me know if you're able to replicate the problem.  Once you
or Tony has an initial patch, I would recommend testing this code
against the following scenarios:

1) Sent to a non existent exchange
2) Sent to an existing exchange but with a non-existent destination (queue)
3) Sent to an existing exchange and existing non-durable queue
4) Sent to an existing exchange and existing durable queue

Repeat 1-4 with both persistent and non-persistent messages.

Thanks,
-- Darien

--- BEGIN CODE ---
#!/usr/bin/perl -w

use strict;
use warnings;

use Net::Stomp;

my $stomp = Net::Stomp->new({
                'hostname' => 'localhost',
                'port'     => '61613'
            });
$stomp->connect({
    'login'        => 'guest',
    'passcode'     => 'guest',
    'virtual-host' => '/',
});

$stomp->send({
    'exchange'      => 'foo',
    'delivery-mode' => 2,
    'destination'   => 'bar',
    'body'          => "a" x 100_000_000 . "\n",
});

$stomp->disconnect();
--- END CODE ---




More information about the rabbitmq-discuss mailing list