INFO: MTS/COM+ Events 4104 and 4194 (291365)



The information in this article applies to:

  • Microsoft Transaction Server 2.0
  • Microsoft COM+ 1.0
  • Microsoft COM+ 1.5

This article was previously published under Q291365

SUMMARY

When a component that is installed into Microsoft Transaction Server (MTS) throws a fatal exception that is not handled, such as an Access Violation or Division by Zero, the following event (or similar) is logged in the Application event log:
Event Type: Error
Event Source: Transaction Server
Event Category: Context Wrapper
Event ID: 4104
Description: An object call caused an exception. <additional information about which object caused the exception> (Microsoft Transaction Server Internals Information: File: <file name and line number>)
(Exception: <exception code>)
(Address: <memory address>)
<function call stack>
In COM+ under Microsoft Windows 2000 and Microsoft Windows XP, the event may appear as follows:
Event Type: Error
Event Source: COM+
Event Category: SVC
Event ID: 4194
Description: The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.
<additional information about which object caused the exception>
The serious nature of this error has caused the process to terminate.
Exception: <exception code>
Address: <memory address>
Call Stack: <function call stack>

MORE INFORMATION

MTS and COM+ log this error because a component method caused an unhandled exception. The additional information may include some combination of the ProgID, CLSID, package name, interface name, interface ID (IID), and a number of the method that caused the unhandled exception. The exception code indicates what type of exception occurred. Common exception codes are c0000005 for an Access Violation or c0000094 for Division by Zero.

The function call stack (if present) gives the best indication as to exactly how the exception occurred. The function at the bottom of the stack was called first, and the one on the top was called most recently. If you generated debug symbols for your component dynamic-link library (DLL) when you compiled it, the call stack should display the function names from your custom component. Otherwise, the call stack displays the DLL name and the memory offset within the DLL where the exception occurred.

The best way to troubleshoot this error is to make sure that you have the debug symbols for your custom component. If you do not, set the appropriate Project settings to generate symbols, and then recompile your DLL. The "References" section includes information about how to generate debug symbols for a Visual Basic component. You should also install the debug symbols for Windows. Then, the next time the exception occurs, the Event log error returns a call stack that includes useful information.

If you cannot determine the cause of the exception in your code, please contact Microsoft Product Support for assistance. Before you call, please download the Debugging Tools for Windows from the following Microsoft Web site: Then, follow the instructions in Microsoft Knowledge Base article 286350 to use AutodumpPlus, which dumps the MTS or COM+ process when the exception occurs. The Support Professional can then provide an FTP site where you can upload the process dump(s) for examination.

For a complete list of Microsoft Product Support Services phone numbers and information about support costs, see the following Microsoft Web site:

REFERENCES

For additional information about debugging COM components under MTS or COM+, click the article numbers below to view the articles in the Microsoft Knowledge Base:

262187 INFO: Interpret the Microsoft Transaction Server Events in the Event Log

281630 HOWTO: Configure Visual Basic DLL Project Properties to Run in IIS, MTS, or COM+

261871 INFO: COM+ and MTS Debugging Resources

148659 HOWTO: Use AutodumpPlus to Troubleshoot "Hangs" and "Crashes" in a WinDNA/.NET Environment

286350 HOW TO: Use ADPlus to Troubleshoot "Hangs" and "Crashes"


Modification Type:MinorLast Reviewed:8/24/2005
Keywords:kberrmsg kbinfo KB291365