COM+ Application That Uses Visual J++ Components May Deadlock (301377)



The information in this article applies to:

  • Microsoft COM+ 1.0, when used with:
    • the operating system: Microsoft Windows 2000

This article was previously published under Q301377

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:
  1. Examine the deadlock under the debugger.
  2. Notice the threads that are waiting, and then continue to debug.
  3. 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


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.

MORE INFORMATION

For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:

296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot


Modification Type:MajorLast Reviewed:6/5/2003
Keywords:kbbug kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB301377