Microsoft KB Archive/810072

From BetaArchive Wiki

Article ID: 810072

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



SUMMARY

When you run the SQL Server 2000 merge replication ActiveX control in an application that has a default thread stack size that is less than 1 megabyte (MB), an EXCEPTION_STACK_OVERFLOW exception may occur.

Under a user-mode debugger, the call stack for the thread that is experiencing the exception will look similar to this:



 # ChildEBP RetAddr  
00 0442f7b0 03030c94 REPLPROV!_chkstk+0x17
01 0442fe5c 10046aec REPLPROV!CMergeDatasource::CommitBatch+0x1a4
02 0442feb4 10047103 replrec!CDatabaseReconciler::ProcTombstonesMTDest+0x44c
03 0442ff3c 1004466c replrec!CDatabaseReconciler::DestThreadProcessQueue+0x3d3
04 0442ff80 1020c323 replrec!DestThreadProc+0x12c
05 0442ffb4 77e8b2d8 MSVCRTD!_threadstartex+0x73
06 0442ffec 00000000 KERNEL32!BaseThreadStart+0x52


You can use the Dumpbin.exe utility (with the /HEADERS option) to determine your application's default thread stack size. The "Stack Reserve" value in the output is the size of the space reserved for a thread's stack.

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

177429 INFO: Examples of DUMPBIN Output




CAUSE

The merge replication provider DLL, Replprov.dll, allocates space on the stack for storing replication metadata during processing. For applications whose thread stack size is too small to handle this stack allocation, an EXCEPTION_STACK_OVERFLOW is generated when the reconciler tries to make this allocation.

RESOLUTION

Service pack information

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 How to obtain the latest SQL Server 2000 service pack


Hotfix information

The English version of this fix has the file attributes (or later) 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
---------------------------------------------------------------------

11/05/02   17:48:13   2000.80.700.0   225,280 bytes     Replprov.dll


Note Because of file dependencies, the most recent hotfix or feature that contains the 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.

Keywords: kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB810072