Recovering COM+ Applications from a hang state
Recently, I worked with some customer problems where they encountered issues with COM+ application going into a hang state. This causes sometimes the main applications to wait indefinitely without recovering from the problem.
In such circumstances, many users/developers of the com+ application manually check the state of the com+ application in the component services page and then they will kill the com+ surrogate process to recover from the situation.
However, this manual recovery method is a tedious process and it cannot be easily handled when there are multiple com+ application in some large-scale enterprises.
To automatically recover from these situations, you can configure the system to perform the following actions when a long-running COM+ component is detected. The problem can be solved in one of the two following ways, depending on the requirements of your application and server:
1. To Change Global COM+ behavior
To do this, use the following registry values:
In the registry path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump (Please create the keys if it does not exist), add the following keys and their corresponding values:
Key Value name: AverageCallThreshold
Data type: REG_DWORD
Value: Set to 3000 - this is maximum allowed duration of process execution, in seconds. If it is exceeded, a warning is raised.
Key Value name: Terminate
Data type: REG_DWORD
Value: Set to 1 - Process will be terminated on exceeding the maximum call threshold value which is configured above.
Key Value name : DumpType
Data type : REG_DWORD
Value: set to 2- No dump file will be generated. You can set the value as 0 if you want to generate a full dump file or set it to 1 for minidump file.
2. To Modify behavior of a specific COM+ application
In order to change the behavior of a specific COM+ application, instead of making a global server-wide change, create the above keys (AverageCallThreshold, Terminate and DumpType) and values in the following registry path:
Reference Articles https://support.microsoft.com/en-in/kb/910904