Microsoft KB Archive/810072

= FIX: Merge Replication Reconciler Stack Overflow =

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 &quot;Stack Reserve&quot; 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.



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 &quot;Applies to&quot; section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

Keywords: kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB810072

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.