Microsoft KB Archive/152060

= BUG: Yield Problems with Win16 Multiprotocol Net-Library =

Article ID: 152060

Article Last Modified on 10/16/2003

-

APPLIES TO


 * Microsoft SQL Server 6.0 Standard Edition
 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q152060





SYMPTOMS
The Windows 3.1 version of Multiprotocol Net-Library DLL (that is, DBMSRPC3.DLL) incorrectly allows user inputs (mouse or keyboard) to the application while yielding to Windows during the RPC operations. This behavior allows users to issue other commands (menu or dialog) to the same running SQL Server application while the application is waiting for server to respond. Such commands can cause unexpected behavior such as dead DBProcesses to both existing connections and new connections.



STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5 and 6.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



MORE INFORMATION
DBMSRPC3.DLL calls RPCWinSetYieldInfo with "standard yielding" option to yield to Windows during RPC operations to avoid blocking the entire Windows and other applications (that is, cooperative multitasking). This mechanism is supposed to cause the RPC run-time library to provide a standard modal dialog box that includes a single push-button control with an IDCANCEL ID. The dialog box prevents direct user input, such as mouse and keyboard events, from being sent to the application.

However, when the standard "Remote Procedure Call in progress" message box is displayed, DBMSRPC3.DLL still allows users to interact with the application using the mouse. For example, using the sqltest3 sample, you can go back to the application and select from the Connect menu and try to make another connection, while the message still indicates the RPC operation is in progress. Depending on what you do to the application, the result can be very different. Typically, the command will fail, and cause the entire application to either GP-fault or return other fatal errors.

Additional query words: RPC netlib

Keywords: kbbug KB152060

-

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

© Microsoft Corporation. All rights reserved.