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

Matthias Radestock matthias at lshift.net
Sat Aug 8 08:44:16 BST 2009


Darien Kindlund wrote:
> Okay, so after enabling verbose logging, I was able to replicate the
> error, reliably.

including the "messages show up as unacknowledged after restart" problem?

> Specifically, I have a message that is approximately 91 MB in size.  A
> perl process using Net::Stomp sends the persistent message to an
> exchange which routes the message to a durable queue.  As soon as the
> perl process finishes sending the message, RabbitMQ v1.6.0 completely
> dies with _zero_ warning or logging.

The fact that it dies doesn't surprise me. I can think of at least two 
possible causes for this:

1) The current persister doesn't cope with such large messages very 
well. If the message was transient you may well be ok. Did you try 
running the test with transient messages? (NB: the queues can still be 

2) I noticed yesterday that the disconnect of a STOMP client can cause 
the contents of a delivery attempt to be logged as part of an error 
message. Logging such a large message may well bring down the server. I 
have filed a bug to get rid of that verbose error message. Meanwhile 
though, can you tell me whether your STOMP clients are well-behaved and 
issue a DISCONNECT at the end of a session?

You say rabbit died with zero logging. That may well be true, but rabbit 
  *did* produce a crash dump, and that should allow us to establish the 
cause of death.

> I don't believe my message format matters -- just the size of the
> message.  However, I will send the 91 MB example message in an email
> directly to you, since I don't think everyone on the list wants to get
> such a large attachment.  If you don't get the email containing the
> attachment (perhaps your mailserver blocks large attachments), then
> let me know what the best method for sending you the attachment.

I didn't get the second email, though I don't think I'll need the exact 
message - as you say, the content probably doesn't matter. So just send 
me the code & logs, and the erl_crash.dump (if it's not too large; if it 
is then please send me the first few k only).



More information about the rabbitmq-discuss mailing list