BUG: Multithreaded applications can deadlock because of asynchronous cleanup

Article translations Article translations
Article ID: 327443 - View products that this article applies to.
This article was previously published under Q327443
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all


Under certain conditions, a class that is derived from the System.EnterpriseServices.ServicedComponent class that runs in a COM+ application may stop responding (deadlock).


This problem is caused by an Activity deadlock. Activities can deadlock on multithreaded applications because of an asynchronous cleanup of component references.


To resolve this problem, the client of the COM+ objects should systematically call the Dispose method. This call enables deterministic cleanup of the COM+ objects. You must call the Dispose method when you have finished using ServicedComponent objects.


Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.


For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
318000 FIX: Various problems when you call transactional COM+ components from ASP.NET
312118 The system memory usage and the handle counts increase more than you may expect when your application contains components that are derived from the System.EnterpriseServices.ServicedComponent class
For more information about Enterprise Services (COM+) in .NET, visit the following Microsoft Web site:


Article ID: 327443 - Last Review: February 27, 2014 - Revision: 4.4
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
  • Microsoft Enterprise Services (included with the .NET Framework) 1.0
  • Microsoft COM+ 1.0
kbnosurvey kbarchive kbbug kbgarbagecollect kbnofix KB327443

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com