Ayende @ Rahien

Refunds available at head office

And now what?

It looks like the entire MSMQ .NET stack is riddled with threading bugs. At least if you think about using the async methods such as BeginPeek.

Nasty!

image

Comments

J
01/27/2009 06:08 PM by
J

have you ever thought about joining Microsoft as a tester? :)

Kelly Stuard
01/27/2009 06:43 PM by
Kelly Stuard

@J - haha - second that!

Ayende Rahien
01/27/2009 07:12 PM by
Ayende Rahien

shawn,

No, I am using the delegate passed to the async method

Justin Etheredge
01/27/2009 08:03 PM by
Justin Etheredge

If you are going to make a statement like this, then shouldn't you at least show the situation under which the error occurred? From what you have shown us, it is hard to ascertain if your claims are indeed true, or you are doing something wrong and just blaming it on the .net MSMQ apis.

Ayende Rahien
01/27/2009 08:16 PM by
Ayende Rahien

Justin,

Null Reference is almost always a bug.

In this case, I am access the AppSpecific property on a message, and it throws this error.

This is caused because of a bug in certain scenarios in which even though the queue is set to accept AppSpecific, it doesn't

James
01/27/2009 08:21 PM by
James

An assert failing in production code means that some invariant somewhere is no longer true, and that the author of the code considered such a situation a bug.

Therefore Oren's statement is valid.

Justin Etheredge
01/27/2009 08:22 PM by
Justin Etheredge

@Ayende Thanks for the clarification. I didn't doubt that it was a bug on their part, I just like seeing what caused them so that I know in the future where the dragons may be.

Ayende Rahien
01/27/2009 08:24 PM by
Ayende Rahien

No, that is actually not an assert that is failing.

The assert is in my code.

The problem is that NRE.

Mr_Me
01/27/2009 10:11 PM by
Mr_Me

@Mr Anonymous

Hey no fair - you stole my handle.

Jeremy Gray
01/27/2009 11:58 PM by
Jeremy Gray

Though context is and always would be helpful (or at least more informative ;) ) I'm with Oren on this one. NRE == bug.

Bruno Martínez
02/03/2009 05:52 PM by
Bruno Martínez

You should stop relying in ObjectDisposedException and not touch an object after disposing it. Think of ObjectDisposedException as a debuging aide.

Comments have been closed on this topic.