Microsoft KB Archive/910904

From BetaArchive Wiki

Article ID: 910904

Article Last Modified on 12/5/2007



APPLIES TO

  • Microsoft COM+ 1.5
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition



Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


INTRODUCTION

This article describes a change in the functionality of Microsoft COM+ (Component Services) in Microsoft Windows Server 2003. By default, when a COM+ component experiences an unusually high call time, no information is recorded for the COM+ component that experiences the problem. Additionally, no action is taken to try to recover from the problem.

After you apply Microsoft Windows Server 2003 Service Pack 2 (SP2), an event is logged when a COM+ component experiences an unusually high call time. The event log identifies the COM+ component that experiences the problem. Additionally, the event log mentions this Microsoft Knowledge Base article. You can configure the system to perform one or both of the following actions:

  • Automatically collect a process dump file for root cause analysis of the problem.
  • Terminate the process to help recover from the problem without manual intervention.

After the system collects a dump file, you can use the Debug Diagnostics Tool (DebugDiag) to generate a report that describes the problem. Additionally, this report describes the possible solutions for the problem, if they are known.

MORE INFORMATION

Default behavior

Consider the following scenario:

  • You apply Windows Server 2003 SP2.
  • The call time for a COM+ component exceeds 10 minutes.
  • While the application that hosts this long-running COM+ component is still running, you open the Component Services Microsoft Management Console (MMC) snap-in.

In this scenario, the following event is logged in the Application log: Event Type: Information
Event Source: COM+
Event Category: (117)
Event ID: 782
Description: The average call duration has exceeded 10 minutes. If this is not the expected behavior, please see article 910904 in the Microsoft Knowledge Base at http://support.microsoft.com for details on how to use the COM+ AutoDump feature to automatically generate dump files and/or terminate the process if the problem occurs again.
Server Application ID: {YourAppID}
Server Application Instance ID: {YourAppInstanceID}
Server Application Name: YourAppName

Configuration options

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

You can configure the system to perform one or both of the following actions when a long-running COM+ component is detected:

  • Automatically collect a process dump file.
  • Terminate the process.

To do this, use the following registry values:

Value name: AverageCallThreshold
Data type: REG_DWORD
Description: Threshold, in seconds, when the appropriate actions will be taken
Default value: 0

Value name: DumpType
Data type: REG_DWORD
Description:

0 = Generate a full dump file
1 = Generate a minidump file
2 = No dump file


Default value: 0

Value name: Terminate
Data type: REG_DWORD
Description:

0 = Process will continue
1 = Process will be terminated


Default value: 0

To globally define the actions to be taken for all COM+ components on the computer, add the configuration values under the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump


To define the actions to be taken for a specific COM+ component regardless of the global settings, add the configuration values under the following registry key:

HKEY_CLASSES_ROOT\AppId\{<YourAppID>}\CLSID\{<YourCLSID>}


Recommendations

Collect full dump files

For best supportability, collect a full dump file when a COM+ component experiences an unusually high call time. For example, to do this, create the following single registry value:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump AverageCallThreshold = 300


See the "Considerations" section for more information about how to select an appropriate AverageCallThreshold registry value for your particular environment.

Similarly, collect a full dump file when an unhandled exception occurs in a COM+ application. To do this, click to select the Enable Image Dump on Application Fault check box on the Dump tab in the properties of each COM+ application.

Analyze the dump files

When a dump file is produced, perform an initial analysis of the problem. To do this, follow these steps:

  1. Download and install the appropriate version of the Microsoft Internet Information Services (IIS) Diagnostics Toolkit. For more information about how to obtain the IIS Diagnostics Toolkit, visit the following Microsoft Web site:
  2. Use the Debug Diagnostics Tool (DebugDiag) of the IIS Diagnostics Toolkit to generate an analysis report for the dump file. To do this, follow these steps:
    1. Click Start, point to Programs, point to IIS Diagnostics (32 bit), point to Debug Diagnostics Tool, and then click Debug Diagnostics Tool 1.0.
    2. If the Select Rule Type dialog box opens, click Cancel.
    3. On the Tools menu, click Options And Settings.
    4. Click the Folders and Search Paths tab.
    5. In the Symbol Search Path For Analysis box, type srv*C:\symbols\*http://msdl.microsoft.com/download/symbols.
    6. Click the Advanced Analysis tab.
    7. In the Available Analysis Scripts list, click IISAnalysis.asp.
    8. Click Add Data Files.
    9. Select the dump file that you want to analyze, and then click OK.
    10. Click Start Analysis.

      The resulting HTML report is displayed in a new Microsoft Internet Explorer window on the desktop. Additionally, this report is saved to the DebugDiag Reports directory. The default location for this directory is C:\Program Files\IIS Resources\DebugDiag\Reports.
  3. To resolve the problem, follow the guidance that is provided in the "Recommendation" section of the report. This section of the report may recommend the following things:
    • It may direct you to a Microsoft Knowledge Base article that describes known issues.
    • It may provide the developers of the application with information that they can use to make corrections.
    • It may suggest that you follow up with the appropriate vendor or with Microsoft Support. When you contact Microsoft Support for more help, provide the report file to speed the analysis process. The full dump file may also be requested if it is necessary.

Considerations

The AverageCallThreshold registry value

A value of 300 seconds is an appropriate threshold for many environments. However, the ideal value may vary depending on the particular environment. To make sure that action is taken as quickly as possible but only when a legitimate problem occurs, select the smallest possible value that is exceeded only in a problematic scenario.

The TerminateProcess registry value

Terminating the process when high call times occur may help the COM+ component automatically recover from some problems. This may be especially desirable in environments where high availability is a major concern. When you use this feature, notice that it is especially important to select an appropriate AverageCallThreshold registry value to avoid unintentionally terminating the process.

The DumpType registry value

Minidump files are faster to create and take less disk space than full dump files. However, minidump files are less useful for problem analysis because they frequently lack the required data. Typical full dump files for a Dllhost.exe process are approximately 10 megabytes (MB) to 50 MB and take a matter of seconds to generate. However, the size of full dump files varies depending on the size of the working set of the process that is dumped.

The dump file options

By default, the dump files are stored in the %systemroot%\system32\com\dmp directory. You can use the settings in the Image Dump Directory box and under the Maximum Number of Dump Images area for the appropriate COM+ application to control the location of the dump files and the number of dump files.

The call time

The call time for a COM+ component is a running average for all instances of the COM+ component. The call time is calculated by the COM+ System Application. Additionally, the call time is displayed in the Call Time (ms) column of the Status View in the Component Services MMC snap-in.

Keywords: kbqfe kbinfo KB910904