Microsoft KB Archive/286365

= INFO: MTS/COM+ Event ID: 4097 =

Article ID: 286365

Article Last Modified on 2/16/2007

-

APPLIES TO


 * Microsoft Transaction Services 2.0
 * Microsoft COM+ 1.0

-



This article was previously published under Q286365



SUMMARY
When Microsoft Transaction Server or Microsoft COM+ encounters a fatal exception, such as an access violation, one of the following errors may be logged in the Application Event Log:

Under COM+ (in Microsoft Windows 2000)

Event Type: Error

Event Source: COM+

Event ID: 4097

Description:

The run-time environment has detected an inconsistency in its internal state. Please contact Microsoft Product Support Services to report this error. 

Under MTS (in Microsoft Windows NT 4.0):

Event Type: Error

Event Source: Transaction Server

Event ID: 4097

Description:

The run-time environment has detected an inconsistency in its internal state and has terminated the process. Please contact Microsoft Product Support Services to report this error. 



MORE INFORMATION
This error indicates that the internal error handling for MTS or COM+, which is known as Failfast, caught a potentially fatal exception. There are a wide variety of causes, and the event description includes specific error information about the nature and cause of the exception.

For example, if a component generates a fatal exception, MTS or COM+ handles that exception to make sure that it does not adversely affect the rest of the system's operation. However, because it is unlikely that the exception left the memory space of the hosting process in a consistent state (and there is no way to be sure whether it did), Failfast terminates the process that hosted the component that caused the exception.

It is also possible for a database driver to cause this error. MTS loads dynamic-link library files (DLLs) to interface with database drivers; if the driver cannot be loaded for some reason, MTS may Failfast.

How to Troubleshoot Event ID 4097
Use the following steps to troubleshoot the Event ID 4097 error message:  If your custom components access a database, upgrade to the latest version of the Microsoft Data Access Components (MDAC). You can download the latest version of MDAC from the following Microsoft Web site:

http://msdn2.microsoft.com/en-us/data/aa937695.aspx

 If your components access a third-party database system (such as Oracle, Sybase, or DB2), make sure that you have the newest version of the database client drivers that are compatible with MTS and COM+. For more information on using these database systems, see the &quot;References&quot; section. Use OLEView.exe to verify that your custom components can be instantiated. To do this, follow these steps:  Run OLEView.exe. Under All Objects, locate the ProgID of your component. Click the plus sign (+) next to the ProgID to create an instance of your component. If it succeeds, the ProgID turns to bold type and expands to display the component interfaces.</li></ol> </li> Re-apply the current service pack for Windows NT or 2000. Windows NT 4.0 users should apply Service Pack 6a, if possible.</li> If your components are written in Microsoft Visual Basic, verify that they were compiled with the Unattended Execution and Retained in Memory check boxes selected in the Project Properties dialog box. If they were not, set these options, as well as Binary Compatibility, in the Visual Basic Project Properties dialog box, and recompile the DLL(s).</li> Upgrade the server to the latest version of the Visual Basic run-time files. For information on how to obtain the latest version of the Visual Basic run-time files, see the &quot;References&quot; section.</li> Include robust error handling in your component code. Robust error handling both improves the stability of your components and provides rich error information for debugging.</li></ul>

If you encounter this error message, and none of the preceding steps resolves the problem, please contact Microsoft Product Support for assistance. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, please go to the following address on the World Wide Web:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

<div class="references_section">