We are using RabbitMQ Server (v2.8.1) on Windows Server 2008 R2 x64. And we have a few NET 4.0 applications using the .NET RabbitMQ client library (v2.8.1). &nbsp;Recently, we encountered&nbsp;an issue that caused the client to hang and run the CPU at 100%. &nbsp;Interestingly enough, this issue occurred on two servers that are remote to the RabbitMQ broker server. &nbsp;We had another instance of the application running on the same box as RabbitMQ broker and it was unaffected.<div><br></div><div>For the two machines that were affected, we took a crash dump of the&nbsp;process&nbsp;and then fired up Windbg to look at the misbehaving threads and associated stack traces. &nbsp;The stack traces revealed an&nbsp;unhandled&nbsp;exception within the RabbitMQ client library that was being raised:</div><div><br></div><div><div>Exception type: &nbsp; System.IO.EndOfStreamException</div><div>Message: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SharedQueue closed</div><div>InnerException: &nbsp; &lt;none&gt;</div><div>StackTrace (generated):</div><div>&nbsp; &nbsp; SP &nbsp; &nbsp; &nbsp; IP &nbsp; &nbsp; &nbsp; Function</div><div>&nbsp; &nbsp; 053FF04C 00D05C77 UNKNOWN!RabbitMQ.Util.SharedQueue.EnsureIsOpen()+0x37</div><div>&nbsp; &nbsp; 053FF054 00D05B18 UNKNOWN!RabbitMQ.Util.SharedQueue.Dequeue(Int32, System.Object ByRef)+0x78</div><div>&nbsp; &nbsp; 053FF0D0 00D05914 UNKNOWN!RabbitMQ.Client.MessagePatterns.Subscription.Next(Int32, RabbitMQ.Client.Events.BasicDeliverEventArgs ByRef)+0x44</div></div><div><br></div><div>Perhaps there was some kind of network hiccup (I'm not sure), but in any case, when the subscription was attempting to read from the SharedQueue, it tried to read past the end of the stream and this caused the above exception which was not handled by the RabbitMQ client library. &nbsp;We're modifying our code slightly to address this issue for now, but you may want to have either&nbsp;Emile Joubert or&nbsp;Alexandru Scvortov take a look at the code see what can be done.</div><div><br></div><div>I wasn't exactly sure how to file an official bug report, so I thought I'd post the issue here.</div><div><br></div><div>One other "nice to have" that's on a slightly different topic but still related to the .NET client library would be to mark the various methods and properties within&nbsp;RabbitMQ.Client.MessagePatterns.Subscription as virtual such that they can be override (mocked) during testing or perhaps an interface created which Subscription implements. This would ease some of our testing because we had to create a wrapper class to make Subscription testable during our development.</div>