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

This article was previously published under Q329954
This article has been archived. It is offered "as is" and will no longer be updated.
You experience a degradation in performance when you use Distributed Transaction Coordinator (DTC) on a multi-processor computer.
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.
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: 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.
Microsoft has confirmed that this is a problem in Microsoft Windows 2000.
In the dump file you see a large number of threads waiting for a thread that looks similar to this:
ntdll!ZwWaitForSingleObject+0xbKERNEL32!WaitForSingleObjectEx+0x71KERNEL32!WaitForSingleObject+0xf MSDTCPRX!CIConnSink::SendReceive+0x10d		  MSDTCPRX!CDtcToXaHelper::Init+0x1ce		  MSDTCPRX!CDtcToXaHelperFactory::Create+0x91 mtxoci!XARMCreate+0xcf		  
For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the following article number to view the article in the Microsoft Knowledge Base:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product

Article ID: 329954 - Last Review: 10/26/2013 17:40:54 - Revision: 1.4

Microsoft COM+ 1.0

  • kbnosurvey kbarchive kbwin2ksp4fix kbbug kbfix kbwin2000presp4fix KB329954
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)