Microsoft KB Archive/291838

= FIX: Crash in SQLXMLX Hangs Web Service Threads =

Article ID: 291838

Article Last Modified on 9/26/2005

-

APPLIES TO


 * Microsoft Data Access Components 2.6
 * Microsoft SQL Server 2000 Standard Edition

-



This article was previously published under Q291838



SYMPTOMS
When Command.Execute(, , adExecuteStream) is used to execute a statement with the Command.CommandStream object, and when the input stream is a SQL query that uses the XML template format and contains a large value for a  parameter, an access violation (AV) may occur.

This occurs only with the MDAC 2.6 (2000.80.194.0) version of Sqlxmlx.dll.



CAUSE
While the statement is being copied into the stream buffer prior to sending it to the server, a function that processes parameter values attempts to copy twice as many bytes as necessary. When the parameter data resides close to the end of allocated memory, this can cause the copy request to run off the end of allocated memory, and an AV occurs.



RESOLUTION
To resolve this problem, obtain the latest service pack for Microsoft Data Access Components 2.6.

For customers who are unable to upgrade to the latest service pack, a supported fix is available from Microsoft, but it is only intended to correct the problem described in this article and should be applied only to systems experiencing this specific problem.

To obtain the fix, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, please go to the following address on the World Wide Web:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

NOTE: In special cases, charges that are normally incurred for support calls may be canceled, if a Microsoft Support Professional determines that a specific update will resolve your problem. Normal support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix should have the following file attributes or later:

  Date           Version          Size             File name -  06-MAR-2001    2000.80.264.0    188,492 bytes    Sqlxmlx.dll 06-MAR-2001   2000.80.264.0     24,576 bytes    Sqlxmlx.rll



WORKAROUND
If possible, keep the size of the parameters relatively small. Parameters no larger than approximately 50 characters are recommended.



STATUS
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 Microsoft Data Access Components 2.6 Service Pack 1.



MORE INFORMATION
The crash in Sqlxmlx.dll is a handled exception, so it may not be immediately obvious that this crash is occurring. It may be necessary to attach a debugger to the process to detect the crash.

However, this crash can lead to another condition which causes the executing thread in a Web server to go into an infinite loop. As more threads encounter this condition over time, server performance can be severely degraded.

Additional query words: crash av server parameter sql:param xml template sql stream command adexecutestream commandstream hotfix

Keywords: kbqfe kbprb kbhotfixserver KB291838

-

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

© Microsoft Corporation. All rights reserved.