FIX: Concurrent Execution of Keyset Cursors may Cause AV & SDES Errors

ID: Q233542


The information in this article applies to:

BUG #: 55067 (SQLBUG_70)

SYMPTOMS

A server, on which concurrent execution of keyset cursors are occurring, may experience handled exceptions, SDES errors, assertions and server hangs. Examples of each of these types of errors include:

SDES Errors
Found active sdes for spid 262 tabid -862926011 in clean_process
Handled Exceptions:
(ntdll+790b) (ZwGetContextThread+b)
(sqlservr+37cca7) (utassert_fail+1a0)
(sqlservr+2e8920) (XDES::ReportStateError+7d)
(sqlservr+1ad068) (XDES::Commit+52)
(sqlservr+382d) (closetable+263)
(sqlservr+1c7b82) (CDBWorkTable::DestroyScans+c4)
(sqlservr+1c18a3) (CCursorExecContext::DestroyTempTablesScans+12)
(sqlservr+1c2253) (CCursor::Close+ab)
(sqlservr+1c2176) (CCursor::Open+145)
(sqlservr+1bfcff) (CCursorSimpleStmt::XretExecute+a1)
(sqlservr+15aa3) (CMsqlExecContext::ExecuteStmts+118)
(sqlservr+15562) (CMsqlExecContext::Execute+16b)


(KERNEL32+1d4cb) (RaiseException+6a)
(sqlservr+2ef55d) (stackTraceException+53)
(sqlservr+2ef51a) (stackTrace+255)
(sqlservr+37cca7) (utassert_fail+1a0)
(sqlservr+1b2bd4) (ExecutionContext::Cleanup+6f)
(sqlservr+10e5e9) (PSS::~PSS+111)
(sqlservr+10e4d5) (destroyPssMemory+19)
(sqlservr+10e2d6) (freepss+131)
(sqlservr+10ed69) (kill_proc+4e5)
(sqlservr+2e9fa7) (h_access_violation+1a9)
(sqlservr+1afdb7) (language_exec+627)
(opends60+1253) (execute_event+659)
(opends60+144e) (process_commands+f3)
(ums+29ea) (ProcessWorkRequests+ed)
(ums+33e6) (ThreadStartRoutine+139)
(MSVCRT+bee4) (beginthread+ce)
(KERNEL32+4f3e) (lstrcmpiW+be)
(sqlservr+ffc00000)

Assertion
SQL Server Assertion: File: <xdesmgr.c>, line = 1774
Failed Assertion = 'FALSE' Invalid XDES state transition from INVALID to COMMITTING context: 2

Other Errors:
Error occurred during cursor close.
Error occurred during cursor cleanup.


CAUSE

This resulted from a bug in the merge back from SP1 sources to the QFE tree. A block of code in one file was copied rather than moved so two work tables were created upon cursor execution when there should only have been one.


WORKAROUND

This was an error in the build of QFE 7.0.0656, and therefore will not affect any customers who are not using that hotfix.


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 7.0. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 7.0. For information about downloading and installing the latest SQL Server Service Pack, see http://support.microsoft.com/support/sql/.

For more information, contact your primary support provider.

Additional query words:


Keywords          : kbbug7.00 kbSQLServ700bug 
Version           : winnt:7.0
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: June 10, 1999