Microsoft KB Archive/244799

= OFF97: DAO/Jet : Race Condition Causes Hang on Multiprocessor with Recordset =

Article ID: 244799

Article Last Modified on 9/23/2005

-

APPLIES TO


 * Microsoft Office 97 Standard Edition
 * Microsoft Visual Studio 6.0 Enterprise Edition, when used with:
 * Microsoft Windows NT 4.0

-



This article was previously published under Q244799



SYMPTOMS
When executing on a multiprocessor system, using Data Access Objects (DAO) or JET methods to retrieve or update recordsets and Querydefs can produce a hang condition in the application.



CAUSE
There is a race condition that can occur on a multiprocessor system when more than one thread is accessing a file at the same time. This bug has been identified within the NT kernel. Under the correct circumstances, when two threads attempt to use a file simultaneously, the thread closing the file can potentially be pre-empted. Because the final cleanup on the file is not performed, all the threads attempting to access the file enter into a wait state from which they do not return.



RESOLUTION
This issue has been addressed in a Microsoft Windows NT 4.0 hotfix. For directions on how to obtain this hotfix, see the following Knowledge Base article:

246467: RAS Server Stops Responding to New PPP Connection Requests



STATUS
Microsoft has confirmed that this is a problem in Windows NT 4.0.

Additional query words: write

Keywords: kbfix kbqfe kbprb kbhotfixserver KB244799

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.