SYMPTOMS
If a COM+ application uses components that are written in Microsoft Visual J++, the COM+ application may experience a deadlock. You may notice this problem when clients call the application, and there is no response. In the Status view of the COM+ Microsoft Management Console (MMC) snap-in, several objects may appear active and in-call, and the call time may grow continuously.
To distinguish this deadlock from other deadlocks, attach a debugger (such as WinDbg.exe) to the Dllhost.exe process for the application. If you resolve the symbols for the process correctly, multiple threads will have call stacks similar to the following:
015dea94 77e8366e ntdll!_ZwWaitForMultipleObjects+0xb
015deae4 77e260f8 KERNEL32!WaitForMultipleObjectsEx+0xea
015deb40 77aa9460 USER32!MsgWaitForMultipleObjectsEx+0x153
015deb68 77aaa570 ole32!CCliModalLoop__BlockFn+0x79
015debcc 695378bc ole32!CoWaitForMultipleHandles+0xee
015dec28 69537544 COMSVCS!CActivity__EnterActivity+0x1be
015dec38 77aa7ab9 COMSVCS!CActivity__Enter+0x14
NOTE: When you use a debugger to examine a process at any given moment, the process under load may display multiple threads that are waiting as a result of calls to
CActivity__Enter. This behavior can be normal.
An application may encounter a deadlock because of other reasons (for example, because of database deadlocks). To ensure that you are encountering this particular deadlock, follow these steps:
- Examine the deadlock under the debugger.
- Notice the threads that are waiting, and then continue to debug.
- Run the program, and then examine the threads again.
If the same threads still appear blocked, you may be encountering this particular deadlock.
RESOLUTION
To resolve this problem, obtain Microsoft COM+ Hotfix Rollup 14. For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
302845 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 14
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack