views:

122

answers:

1

How does one figure out CPU level deadlocks for a COM+ application? This is an application running on Win2K. Regardless of the load, 1 object which is used by all other objects starts building up call times suddenly and then the system crashes. The only way to restore the system to its normal working situation is by restarting the COM+ application.

The interesting part is this condition cannot be reproduced in QA or DEV. The only difference is CPU headcount and memory.

The COM+ application is the application component in a n-tier model that uses MSDAORA to connect to an Oracle v9.2 DB using v9.2 client.

Any ideas/ thoughts is much approaciated.

A: 

There's nothing special about COM+ applications with regard to deadlocks.

From the sounds of it, some code inside the application has a bug which causes the deadlock. As for why you can't reproduce in QA or Dev - threading is incredibly hard to get right, there's probably a very small timing window where something must happen to cause the deadlock, and you just aren't loading it up enough (or for long enough) in QA/Dev.

Unfortunately, it's impossible to diagnose what the actual bug is unless you have some very detailed logs, and most likely the application source code as well.

Orion Edwards