Article ID: 810072 - View products that this article applies to.
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:
(http://support.microsoft.com/kb/177429/EN-US/ )INFO: Examples of DUMPBIN Output
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.
Service pack informationTo 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:
(http://support.microsoft.com/kb/290211/ )How to obtain the latest SQL Server 2000 service pack
Hotfix informationThe 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.
Note Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.
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.
Article ID: 810072 - Last Review: November 2, 2007 - Revision: 4.3