FIX: Parallel Query May Fail with Error Message 1203 and an Assertion (319184)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q319184
BUG #: 356545 (SHILOH_BUGS)

SYMPTOMS

Error message 1203 and a SQL Server assertion may occur when you run a query that uses a parallel execution plan.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack

NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.

The English version of this fix should have the following file attributes or later:
   Version     File name
   -------------------------

   8.00.592    Sqlservr.exe
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.


WORKAROUND

To work around this behavior you can either:
  • Use the query hint (MAXDOP=1) to avoid a parallel query plan.

    -or-

  • Set the max degree of parallelism configuration value to 1.

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 SQL Server 2000 Service Pack 3.

MORE INFORMATION

If the problem occurs, the following error message is written to the SQL Server error log:
Msg 1203, Level 20, State 1, Procedure myproc, Line 17 Process ID 51 attempting to unlock unowned resource TAB: 7:157347725 [].
Followed by an assertion and stack dump in the SQL Server error log:
Short Stack Dump
0086CD4C Module(sqlservr+0046CD4C) (CStackDump::GetContextAndDump+0000002E)
0086E778 Module(sqlservr+0046E778) (stackTrace+0000021D)
00923F7F Module(sqlservr+00523F7F) (utassert_fail+000002E3)
0086B85A Module(sqlservr+0046B85A) (ExecutionContext::Cleanup+00000118)
004CBA3B Module(sqlservr+000CBA3B) (ExecutionContext::Purge+00000046)
006F0838 Module(sqlservr+002F0838) (CXid::Deactivate+000000A3)
006C9CF0 Module(sqlservr+002C9CF0) (CQueryScan::ShutdownParallel+000000B6)
006C9E1E Module(sqlservr+002C9E1E) (CQueryScan::ShutdownOnException+00000035)
004195DF Module(sqlservr+000195DF) (CStmtQuery::ErsqExecuteQuery+00000B38)
00432F55 Module(sqlservr+00032F55) (CStmtSelect::XretExecute+00000229)
0040F403 Module(sqlservr+0000F403) (CMsqlExecContext::ExecuteStmts+000002D9)
0040EA95 Module(sqlservr+0000EA95) (CMsqlExecContext::Execute+000001B6)
00410159 Module(sqlservr+00010159) (CSQLSource::Execute+00000331)
0053C498 Module(sqlservr+0013C498) (language_exec+000003E1)
00411099 Module(sqlservr+00011099) (process_commands+000000EC)
41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)
41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)
SQL Server Assertion: File: <proc.c>, line=1575 
Failed Assertion = 'm_activeSdesList.Head () == NULL'.
The user connection that experiences the errors becomes unresponsive and the following error message is in the SQL Server error log until you restart SQL Server:
WaitForChildren: Children persisting. Retry: <n>

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbSQLServ2000sp3fix kbbug kbfix kbSQLServ2000preSP3fix KB319184