This article was previously published under Q268856
This article has been archived. It is offered "as is" and will no longer be updated.
If many transient subscriptions are present, and if some of the clients fail (crash) without unsubscribing, Orphaned Remote Transient subscription may corrupt the Event system. After a client fails (dies), it takes much longer to subscribe, unsubscribe, and fire an event. This time continually increases when more clients crash until the Event system is stopped and restarted. The following event is logged in the Event log:
Event Type: Error Event Source: EventSystem Event Category: Event Service Event ID: 4097 Description: The COM+ Event System detected a bad return code during its internal processing. HRESULT was 80070057 from line 55 of .\subscription.cpp. Please contact Microsoft Product Support Services to report this error.
When a transient subscription is created, COM+ stores an entry for the interface in the Global Interface Table (GIT). If that subscription is updated with a different interface, COM+ does not remove the old entry before it stores the new entry. This leads to memory leaks and, eventually, crashes.
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 theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
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 2.