BUG: DBLIB Stops When Multiple Threads Handle An Error

Last reviewed: May 2, 1997
Article ID: Q151608

The information in this article applies to:
  • Microsoft SQL Server, version 6.0

SYMPTOMS

Here are some of the errors or behavior that have been encountered when a threaded application is in use and multiple threads are attempting to handle an error:

  1. If the loginrec becomes corrupted, it can cause the per process error and message handler installations to stop responding, and then cause a paged pool memory leak.

  2. The threaded application returns the folowing error message, while at same time you can log on from ISQL/W10004:

    Server unavailable or does not exist.

  3. Network library DLL is unloaded.

  4. The more errors produced, the faster the unexpected behavior occurs.

  5. Messages repeated or concatenated. For example, error message 10004:

    Unable to connect: Server is unavailable or does not exist. Unable to connect: Server is unavailable or does not exist.

    or

    10004: Connection is busy. Connection is busy.

    This is not the correct message; it should not be repeated.

  6. Memory structures corrupted in the user application.

  7. Dr. Watson or application general protection (GP) fault.

  8. Error message 10000:

    Unable to allocate sufficient memory

    or

    Not enough core

  9. Perfmon shows non-paged pool leak each time per process error or message handler fails to install

  10. Error contains garbage or extended characters.

CAUSE

Operating system errors or communication errors can cause a DBLIB application to exhibit unexpected behavior. It is hard to predict the behavior because DBLIB may free any memory address.

The conditions for encountering the problem include a threaded application where multiple threads are attempting to handle an error. The error handling routine contains a static structure that is not being protected.

STATUS

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

This problem does not occur in Microsoft SQL Server version 6.5.


Additional query words:
Keywords : kbbug6.00
Version : 6.0
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 2, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.