[rabbitmq-discuss] RabbitMQ crash caused by channel leak?

Ian Ragsdale ian.ragsdale at gmail.com
Thu Mar 11 20:28:48 GMT 2010

Hello all.  I've had a couple of RabbitMQ crashes recently, with a backtrace that looks like this:

=CRASH REPORT==== 11-Mar-2010::08:13:21 ===
    pid: <0.16638.1>
    registered_name: []
    exception error: a system limit has been reached
      in function  spawn/3
         called as spawn(rabbit_writer,mainloop,
      in call from rabbit_writer:start/3
      in call from rabbit_reader:send_to_new_channel/3
      in call from rabbit_reader:handle_frame/4
      in call from rabbit_reader:handle_input/3
      in call from rabbit_reader:mainloop/3
      in call from rabbit_reader:start_connection/3
    initial call: rabbit_reader:init(<0.396.0>)
    ancestors: [rabbit_tcp_client_sup,rabbit_sup,<0.109.0>]
    messages: [{'EXIT',<0.31524.15>,

<large amount of backtrace, messages, and a huge dictionary full of channels removed>

    trap_exit: true
    status: running
    heap_size: 514229
    stack_size: 23
    reductions: 68039905

Based on the number of channels in the logged dictionary, I'm guessing I hit a limit on the number of channels, which I'm guessing was the cause of the crash.  Does this sound like a likely cause?  I've identified and removed the code that was creating all the channels, but I'm concerned that it appears to be so easy for a single rogue client to take down the entire server.  Is there a way for me to prevent this?


More information about the rabbitmq-discuss mailing list