[rabbitmq-discuss] .NET Client - IModel.Close completes but the model is never actually shut down.

Eugene Kirpichov ekirpichov at gmail.com
Mon Sep 19 21:26:39 BST 2011


Some more information from the memory dump:
Some of the fields of the "runaway" consumer (the one that belongs to
the model that wasn't closed) are as follows:

m_model = null (though other consumers have it null too)
m_running = 1
m_shutdownReason = null
waiter = null
shutdownHandler = null
queueSize = 1

Hope this helps the diagnosis. I'll try to take a closer look at the
Client's code tomorrow.

On Mon, Sep 19, 2011 at 9:44 PM, Eugene Kirpichov <ekirpichov at gmail.com> wrote:
> I have a piece of code that consumes a queue.
>
> Then the following happens:
> * A message arrives to the consumer (HandleBasicDeliver)
> * At the same time (up to fractions of a millisecond) I'm doing
> IModel.Close() on this model, which completes ok.
> * I open another channel on this connection, which works fine.
> * That one consumer never gets a HandleModelShutdown() or OnCancel()
> event, and in fact the consumer remains visible in the management
> interface for many hours after these events, holding the
> unacknowledged message.
>
> I'm using RabbitMQ 2.6.1 and the .NET client 2.6.0.0.
>
> What can I do to diagnose this?
> Can this be a bug in the .NET client, or am I misusing it?
> I have a RabbitMQ log, I have a memory dump of my .NET client process.
>
> --
> Eugene Kirpichov
> Principal Engineer, Mirantis Inc. http://www.mirantis.com/
> Editor, http://fprog.ru/
>



-- 
Eugene Kirpichov
Principal Engineer, Mirantis Inc. http://www.mirantis.com/
Editor, http://fprog.ru/


More information about the rabbitmq-discuss mailing list