FIX: Parallel Query Results Cause an Access Violation in CQList::Append (286171)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q286171
BUG #: 58242 (SQLBUG_70)

SYMPTOMS

A query that results in a parallel plan generates an access violation in CQList::Append due to a timing condition between threads involved in the execution of the query.

WORKAROUND

To work around the problem:
  • Disable parallelism either for this specific query by using the OPTION (MAXDOP 1) clause.

    -or-

  • Disable parallelism on the server by setting the max degree of parallelism configuration option to 1.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0

For more information, contact your primary support provider.

MORE INFORMATION

Parallel queries are only considered when the cost of the query exceeds the cost threshold for parallelism configuration value, and the system has fewer active processes than the available processors.

If this exception error occurs, the stack trace is similar to the following:
Short Stack Dump
0x0041cfd8 Module(sqlservr+1cfd8) (CQList::Append+3e)
0x0042b751 Module(sqlservr+2b751) (CQryMemManager::RegisterWaiting+14)
0x00429ef6 Module(sqlservr+29ef6) (CQScanHashMatch::Iterate+d3)0x0042da33 Module(sqlservr+2da33) (CQScanHashMatch::Open+68)
0x0065a324 Module(sqlservr+25a324) (CQScanHashMatch::Recompute+78)
0x0054cbff Module(sqlservr+14cbff) (CQScan::Recompute+50)
0x00664a73 Module(sqlservr+264a73) (CQScanStreamAggregate::Recompute+29)
0x00663d88 Module(sqlservr+263d88) (CQScanSpool::Recompute+5b)
0x004224e2 Module(sqlservr+224e2) (CQScanNLJoin::RecomputeInner+82)
0x00422413 Module(sqlservr+22413) (CQScanNLJoin::GetRow+110)
0x0066690e Module(sqlservr+26690e) (CQScanXProducer::Open+1a7)
0x0066642c Module(sqlservr+26642c) (FnProducerThread+1e2)
0x004e9d2d Module(sqlservr+e9d2d) (subproc_main+f3)
0x41092a47 Module(ums+2a47) (ProcessWorkRequests+ec)
0x4109326b Module(ums+326b) (ThreadStartRoutine+138)
0x7800bee4 Module(MSVCRT+bee4) (beginthread+ce)
0x77f04ede Module(KERNEL32+4ede) (lstrcmpiW+be)
				

Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbBug kbfix KB286171