Microsoft KB Archive/867878

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 17:17, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Article ID: 867878

Article Last Modified on 11/2/2007



APPLIES TO

  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit



Bug #: 471610 (SHILOH_BUGS)


Microsoft SQL Server 2000 fixes are distributed as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2000 fix release.

SYMPTOMS

The Log Reader Agent may cause 17883 error messages. These 17883 error messages may cause your instance of SQL Server to stop responding:

Error: 17883, Severity: 1, State: 0
server Process 162:0 (0) UMS Context 0x11DE8B68 appears to be non-yielding on Scheduler 1.

To determine if this problem is occurring, view the minidump files that are generated by the 17883 error messages, and then search for the IsXactStartValid function. If you do find the IsXactStartValid function, compare the stack from your minidump file to the Log Reader offender thread stack that is noted in the "More Information" section. If the stacks match, this problem is occurring.

RESOLUTION

Service pack information

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

290211 How to obtain the latest SQL Server 2000 service pack


Hotfix information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time   Version            Size    File name
   ----------------------------------------------------------------------
   19-Jun-2004  00:51  2000.80.952.0     664,128  Autoplt.dll      
   19-Jun-2004  00:51  2000.80.952.0      78,400  Console.exe      
   19-Jun-2004  00:51  2000.80.952.0     315,968  Custtask.dll     
   19-Jun-2004  00:51  2000.80.952.0      33,340  Dbmslpcn.dll     
   08-Apr-2004  21:42                    786,432  Distmdl.ldf
   08-Apr-2004  21:42                  2,359,296  Distmdl.mdf
   10-Oct-2003  18:48                        180  Drop_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0   1,905,216  Dtspkg.dll       
   19-Jun-2004  00:52  2000.80.952.0     528,960  Dtspump.dll      
   19-Jun-2004  00:52  2000.80.952.0   1,557,052  Dtsui.dll        
   19-Jun-2004  00:52  2000.80.952.0     639,552  Dtswiz.dll       
   10-Oct-2003  18:48                    747,927  Instdist.sql
   10-Oct-2003  18:48                      1,581  Inst_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0     352,828  Isqlw.exe        
   19-Jun-2004  00:51  2000.80.952.0      82,492  Itwiz.exe        
   19-Jun-2004  00:52  2000.80.952.0      90,692  Msgprox.dll      
   19-May-2004  23:43  8.11.40209.0      209,408  Mssdi98.dll      
   19-Jun-2004  00:52  2000.80.952.0      62,024  Odsole70.dll     
   19-Jun-2004  00:52  2000.80.952.0      25,144  Opends60.dll     
   19-Jun-2004  00:51  2000.80.952.0      57,904  Osql.exe         
   19-Jun-2004  00:52  2000.80.952.0     279,104  Pfutil80.dll     
   10-Oct-2003  18:37                    550,780  Procsyst.sql
   08-Apr-2004  21:42                     12,305  Qfe469315.sql
   08-Apr-2004  21:42                     19,195  Qfe469571.sql
   15-Jun-2004  18:11                  1,105,167  Replmerg.sql
   19-Jun-2004  00:52  2000.80.952.0     221,768  Replprov.dll     
   19-Jun-2004  00:52  2000.80.952.0     307,784  Replrec.dll      
   15-Jun-2004  15:43  2000.80.952.0     159,813  Replres.rll
   10-Oct-2003  18:48                  1,087,150  Replsys.sql
   10-Oct-2003  18:48                    986,603  Repltran.sql
   19-Jun-2004  00:52  2000.80.952.0     287,304  Rinitcom.dll     
   19-Jun-2004  00:52  2000.80.952.0      78,416  Sdiclnt.dll      
   19-Jun-2004  00:52  2000.80.952.0      66,112  Semmap.dll       
   19-Jun-2004  00:52  2000.80.952.0      57,916  Semnt.dll        
   19-Jun-2004  00:52  2000.80.952.0     492,096  Semobj.dll       
   15-Jun-2004  16:18  2000.80.952.0     172,032  Semobj.rll
   19-Jun-2004  00:51  2000.80.952.0      53,832  Snapshot.exe     
   12-Mar-2004  03:10                    117,834  Sp3_serv_uni.sql
   19-Jun-2004  00:51  2000.80.952.0      28,672  Sqlagent.dll     
   19-Jun-2004  00:51  2000.80.952.0     311,872  Sqlagent.exe     
   19-Jun-2004  00:51  2000.80.952.0     168,001  Sqlakw32.dll     
   19-Jun-2004  00:52  2000.80.952.0      33,344  Sqlctr80.dll     
   19-Jun-2004  00:52  2000.80.952.0   4,215,360  Sqldmo.dll       
   19-Jun-2004  00:51                     25,172  Sqldumper.exe    
   15-Jun-2004  15:26  2000.80.952.0      28,672  Sqlevn70.rll
   19-Jun-2004  00:52  2000.80.952.0     180,792  Sqlmap70.dll     
   19-Jun-2004  00:52  2000.80.952.0     188,992  Sqlmmc.dll       
   15-Jun-2004  16:25  2000.80.952.0     479,232  Sqlmmc.rll
   19-Jun-2004  00:52  2000.80.952.0     401,984  Sqlqry.dll       
   19-Jun-2004  00:52  2000.80.952.0      57,920  Sqlrepss.dll     
   19-Jun-2004  00:52  2000.80.952.0   7,581,777  Sqlservr.exe     
   19-Jun-2004  00:52  2000.80.952.0     590,396  Sqlsort.dll      
   19-Jun-2004  00:52  2000.80.952.0      45,644  Sqlvdi.dll       
   19-Jun-2004  00:52  2000.80.952.0     106,588  Sqsrvres.dll     
   19-Jun-2004  00:52  2000.80.952.0      33,340  Ssmslpcn.dll     
   19-Jun-2004  00:52  2000.80.952.0      82,492  Ssnetlib.dll     
   19-Jun-2004  00:52  2000.80.952.0      25,148  Ssnmpn70.dll     
   19-Jun-2004  00:52  2000.80.952.0     123,456  Stardds.dll      
   19-Jun-2004  00:52  2000.80.952.0     158,240  Svrnetcn.dll     
   19-Jun-2004  00:51  2000.80.952.0      76,416  Svrnetcn.exe     
   19-Jun-2004  00:52  2000.80.952.0      53,808  Ums.dll          
   19-Jun-2004  00:52  2000.80.952.0      98,872  Xpweb70.dll      

Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

MORE INFORMATION

This problem is related to timing and may not always occur. This problem is not very common. When the problem occurs, the Log Reader thread encountered a replication error and was about to log an error. Before the Log Reader thread could log the error, the thread had to yield the scheduler where the thread was running to another thread. When the Log Reader thread yields the scheduler, the thread holds on to a spinlock on an internal SQL Server structure named DBTABLE. The DBTABLE structure is critical for the server operation. After the Log Reader thread yields, the Log Reader thread that was holding the spinlock cannot run again for an extended time. The time may depend on what else is running on the server at that time on that scheduler. During this time, no other threads in SQL Server can access the DBTABLE structure, and the threads must wait for the spinlock. When the wait period for the spinlock exceeds 60 seconds, the 17883 error message is triggered. The CPU for SQL Server process is 100 percent because all the threads are spinning and waiting on the DBTABLE spinlock. The CPU utilization may cause the instance of SQL Server to stop responding.

The Log Reader thread stack is as follows:

SharedUserData!SystemCallStub+0x4
ntdll!NtWaitForSingleObject+0xc
kernel32!WaitForSingleObjectEx+0xac
ums!UmsThreadScheduler::Switch+0x4c
ums!UmsScheduler::IdleLoop+0x105
ums!UmsScheduler::Suspend+0x66
ums!UmsEvent::Wait+0x8e
sqlservr!ExecutionContext::WaitForSignal+0x1aa
sqlservr!LatchBase::Suspend+0x16c
sqlservr!LatchBase::Acquire+0xae
sqlservr!BUF::AcquireLatch+0x1f
sqlservr!BPool::GetFromDisk+0x35a
sqlservr!bufget+0x278
sqlservr!SDES::GetPage+0xb8
sqlservr!LinkedPageSupplier::FirstPage+0x10c
sqlservr!LinkedPageSupplier::GetNextPage+0xd6
sqlservr!SDES::GetBiDi+0x19c
sqlservr!CSysScan::FGetNext+0x7f
sqlservr!wfindtext+0x24b
sqlservr!ex_sprint+0x3f
sqlservr!user_log+0x92
sqlservr!IsXactStartValid+0xeb
sqlservr!ReplXactFinder::GetNextPendingXact+0x137
sqlservr!repl_cmds_get_xacts+0x15f
sqlservr!repl_cmds+0x140
sqlservr!xp_replcmds+0x18a
sqlservr!CSpecProc::ExecuteSpecial+0x119
sqlservr!CXProc::Execute+0xa3
sqlservr!CSQLSource::Execute+0x3c0
sqlservr!execrpc+0x507
sqlservr!execute_rpc+0x19
sqlservr!process_commands+0x232
ums!ProcessWorkRequests+0x272
ums!ThreadStartRoutine+0x98
msvcrt!_threadstart+0x70
kernel32!BaseThreadStart+0x34



The stack for one of the threads that is waiting on the spinlock is as follows:

sqlservr!SpinlockBase::SpinToAcquire+0x3a
sqlservr!FEqProtstamp+0x4d
sqlservr!SecCache::_PsceLookupDbSecntxt+0x27
sqlservr!SecCache::FValidScedb+0x10
sqlservr!checkdbperm+0xd9
sqlservr!usedb+0xda
sqlservr!FDetermineSessionDb+0x66
sqlservr!FRedoLogin+0x16c
sqlservr!ResetConnAndDtcXact+0xdc
sqlservr!execrpc+0xad
sqlservr!execute_rpc+0x19
sqlservr!process_commands+0x232
ums!ProcessWorkRequests+0x272
ums!ThreadStartRoutine+0x98
msvcrt!_threadstart+0x70
kernel32!BaseThreadStart+0x34

For more information about the 17883 error message, click the following article number to view the article in the Microsoft Knowledge Base:

319892 New concurrency and scheduling diagnostics added to SQL Server


For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates


Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB867878