FIX: JScript Garbage Collector Is in Inconsistent State When Many Cross-Thread Calls Are Made (266071)
The information in this article applies to:
- Microsoft JScript 5.0
- Microsoft Internet Explorer (Programming) 5
- Microsoft Internet Explorer (Programming) 5.01
This article was previously published under Q266071 SYMPTOMS Any multi-threaded host that uses JScript to make calls to
marshaled objects may experience spurious script errors and application
failures. CAUSE JScript implements a mark and sweep garbage collector.
During the sweep phase of a garbage collection, if the garbage collector has a
reference to a proxy, a release of the proxy causes a call out to the marshaled
object. During this call out, another thread may make a call into the thread on
which the garbage collector is running. The garbage collector has code to
detect this case and abort the garbage collection procedure so that the
incoming call can execute script code correctly.
To abort the
garbage collector in progress, the code must clear the bits set during the mark
phase. The code was incorrectly setting the bits instead of clearing them.
RESOLUTIONTo 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
To resolve this problem, install version 5.5 of the
Microsoft Windows Script Engines. STATUSMicrosoft
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 1.
This problem was corrected in version 5.5 of the Windows
Script Engines.
REFERENCESFor more
information about developing Web-based solutions for Microsoft Internet
Explorer, visit the following Microsoft Web sites:
Modification Type: | Major | Last Reviewed: | 5/11/2006 |
---|
Keywords: | kbBug kbfix KB266071 |
---|
|