Microsoft KB Archive/256952

= FIX: Microsoft Transaction Server (MTS) Fails with m_lcBinds == 0 Application Event Log Error =

Article ID: 256952

Article Last Modified on 9/26/2005

-

APPLIES TO


 * Microsoft Transaction Services 2.0

-



This article was previously published under Q256952



SYMPTOMS
You may see the following Microsoft Transaction Server (MTS) error message in the Application Event Log:

Internal Check Failure on condition: m_lcBinds == 0 (Package: MyPackage) (Microsoft Transaction Server Internals Information: File: d:\viper\src\runtime\mtxex\activity.cpp, Line: 287)



CAUSE
MTS does not check the return code from a call to a component's DllGetClassObject method. If the DllGetClassObject method fails, MTS still attempts to dereference the invalid IClassFactory pointer, which results in the termination of the Mtx.exe process with the event log message shown in the "Symptoms" section.



RESOLUTION
A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:

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

NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

This fix causes the error from the DLLGetClassObject method call to be returned to the base client, without terminating the Mtx.exe process.

NOTE: This hotfix postdates Windows NT 4 Service Pack 6a, so you can apply it on top of Service Pack 6a.



WORKAROUND
If the component is written in Microsoft Visual C++ or C, debug the component to determine why the DllGetClassObject method fails. If the component is written in Microsoft Visual Basic, remove the component from its MTS package and then reinstall it.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Keywords: kbbug kbfix kbqfe kbhotfixserver KB256952

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.