[rabbitmq-discuss] Possible bug in .NET library, with IConnection

Burtsev Aleksey brokenpipe.coder at gmail.com
Wed Jul 31 16:09:03 BST 2013


I have examined RabbitMQ .NET client library source codes, and I think I 
have managed to identify this bug.

What is happening is at the moment  ModelBase.BasicGet call is made 
ModelBase.m_closeReason is not null (model was closed)
The code inside ModelBase.BasicGet doesn't Enqueue BasicGetRpcContinuation 
because m_closeReason  is not null
but send this command to server using _Private_BasicGet(), this method 
checks ModelBase.m_sessions.m_closeReason which is not null, and then when 
server reply is received command handler for BasicGetEmpty tries to dequeue 
(calls Next()) item from m_continuationQueue in which 
BasicGetRpcContinuation  wasn't put.

On Wednesday, July 31, 2013 3:38:42 PM UTC+4, inforser.... at gmail.com wrote:
>
> {AMQP close-reason, initiated by Library, code=541, text="Unexpected 
> Exception", classId=0, methodId=0, cause=System.NullReferenceException: 
> Object reference not set to an instance of an object.
>    at RabbitMQ.Client.Impl.ModelBase.HandleBasicGetEmpty()
>    at 
> RabbitMQ.Client.Framing.Impl.v0_9_1.Model.DispatchAsynchronous(Command cmd)
>    at RabbitMQ.Client.Impl.ModelBase.HandleCommand(ISession session, 
> Command cmd)
>    at RabbitMQ.Client.Impl.SessionBase.OnCommandReceived(Command cmd)
>    at RabbitMQ.Client.Impl.Session.HandleFrame(Frame frame)
>    at RabbitMQ.Client.Impl.ConnectionBase.MainLoopIteration()
>    at RabbitMQ.Client.Impl.ConnectionBase.MainLoop()}
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130731/56abbef7/attachment.htm>


More information about the rabbitmq-discuss mailing list