Microsoft KB Archive/329954

= FIX: Performance Issues on Multi-processor Computers with MSDTCPRX.dll =

Article ID: 329954

Article Last Modified on 10/6/2005

-

APPLIES TO


 * Microsoft COM+ 1.0

-



This article was previously published under Q329954

Additional query words: kbWin2000preSP4COMRollup23Fi



SYMPTOMS
You experience a degradation in performance when you use Distributed Transaction Coordinator (DTC) on a multi-processor computer.



CAUSE
Msdtcrpx.dll holds on to a critical section while it makes an outbound remote procedure call (RPC). This may cause the server performance to slow because all the other threads must wait for the RPC call to complete before they can run. This problem may also cause the server to stop responding. If the RPC call does not return from the remote computer, the server cannot process any more calls. All threads must wait for this blocking thread to return. This situation causes the server to stop responding.



RESOLUTION
To resolve this problem, obtain the Microsoft COM+ Rollup Hotfix 23. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

330081 INFO: Availability of Windows 2000 Post-Service Pack 3 COM+ Hotfix Rollup Package 23

A supported fix is now available from Microsoft, but it is only intended to correct the problem described in this article. Only apply it to systems that are experiencing this specific problem. This fix may receive additional testing to further ensure product quality. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Microsoft Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, 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.



STATUS
Microsoft has confirmed that this is a problem in Microsoft Windows 2000.



MORE INFORMATION
In the dump file you see a large number of threads waiting for a thread that looks similar to this:

ntdll!ZwWaitForSingleObject+0xb

KERNEL32!WaitForSingleObjectEx+0x71

KERNEL32!WaitForSingleObject+0xf

MSDTCPRX!CIConnSink::SendReceive+0x10d

MSDTCPRX!CDtcToXaHelper::Init+0x1ce

MSDTCPRX!CDtcToXaHelperFactory::Create+0x91

mtxoci!XARMCreate+0xcf

