[rabbitmq-discuss] The rabbitmq-server stop command hangs

Matthias Radestock matthias at rabbitmq.com
Wed Nov 28 11:42:55 GMT 2012


On 28/11/12 11:29, Tim Watson wrote:
> Can you please confirm a couple of things for us: what plugins are
> enabled in your setup?

See Liz' earlier post:
<quote>
# rabbitmqctl eval 'app_utils:app_dependency_order([os_mon,
mnesia,rabbit] ++ rabbit_plugins:active(),true).'
[mnesia,mochiweb,amqp_client,webmachine,rabbitmq_mochiweb,os_mon,rabbit,
  rabbitmq_management_agent,rabbitmq_shovel,rabbitmq_management]
</quote>

I asked for this since it wasn't obvious to me
that the shutdown was hanging in the rabbit application.

If it isn't rabbit, then a prime candidate from the above list would be 
shovel.

Liz, are you using shovel? If so, what's the shovel configuration? And 
can you get the shovel status ("rabbitmqctl eval 
'rabbit_shovel_status:status().'") at the time the shutdown is hanging?

> The rabbit_reader seems to be attempting to consume data, and appears
> to be in 'start_connection' at shutdown time.

Nah, that's normal. start_connection calls the reader's main loop in a
non-tail position.

> The 'rabbit_reader:start_connection' trace looks a bit suspect too:
>
> stacktrace: [{rabbit_net,recv,2,[]}, {rabbit_reader,mainloop,2,[]},
> {rabbit_reader,start_connection,7,[]},
> {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]
>
> I wonder if a handshake has got stuck somehow? The rabbit_net:recv/2
> implementation does result in a blocking receive.

rabbit_net:recv is the normal place for the reader to sit when nothing
is happening. It has a catch-all 'Other' clause.

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list