FIX: SQL Server Process Terminates Attempting to Reset from an sp_OA Based Batch (286565)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q286565
BUG #: 351376 (SHILOH_BUGS)

SYMPTOMS

The SQL Server process may unexpectedly terminate while attempting a ResetFromBatch after performing sp_OA based activities. ResetFromBatch is an internal routine used by SQL Server to make sure that a server process ID (spid) has successfully completed the processing of the current batch and is set up to receive the next client request.

If this error occurs the following stack trace may be seen in the SQL Server error log:
77F97AC6 Module(ntdll+00017AC6) (ZwGetContextThread+0000000B)               
009261F2 Module(sqlservr+005261F2) (ex_raise2(int,int,int,int,void *,char *)+000003F7)
00926302 Module(sqlservr+00526302) (ex_raisecontrol(class SQLError,...)+00000087)                                                                             
00925A26 Module(sqlservr+00525A26) (ex_trans_cexcept(unsigned int,struct _EXCEPTION_POINTERS *)+000001FC)                                                     
7800AFC3 Module(MSVCRT+0000AFC3) (__CxxLongjmpUnwind+00000115)                 
7800A739 Module(MSVCRT+0000A739) (__unDNameEx+00004D0A)                        
7800A708 Module(MSVCRT+0000A708) (__unDNameEx+00004CD9)                        
7800A559 Module(MSVCRT+0000A559) (__unDNameEx+00004B2A)                        
7800AE9E Module(MSVCRT+0000AE9E) (__CxxFrameHandler+00000026)                  
77F92538 Module(ntdll+00012538) (RtlSetDaclSecurityDescriptor+00000174)        
77F8AF89 Module(ntdll+0000AF89) (RtlConsoleMultiByteToUnicodeN+0000045C)       
77F9FB9A Module(ntdll+0001FB9A) (KiUserExceptionDispatcher+0000000E)           
22DF38FF Module(odsole70+000038FF) (CCachedTypeInfo::`scalar deleting destructor'(unsigned int)+0000000F)                                                     
22DF29DE Module(odsole70+000029DE) (CODSOLEThreadInfo::UnlinkCTypeInfo(class CCachedTypeInfo *)+00000046 Line 118+0000001C)                                   
22DF27DD Module(odsole70+000027DD) (CODSOLEThreadInfo::~CODSOLEThreadInfo(void)+0000007A Line 41+0000000F)                                                    
22DF6BFF Module(odsole70+00006BFF) (CODSOLEThreadInfo::`scalar deleting destructor'(unsigned int)+0000000F)                                                   
22DF49EB Module(odsole70+000049EB) (OAUninitialize(void *)+0000003D Line 214+0000001C)                                                                        
0086A624 Module(sqlservr+0046A624) (PSS::ResetFromBatch(class ExecutionContext *,struct srv_proc *)+00000020)                                                 
00459B11 Module(sqlservr+00059B11) (language_exec(struct srv_proc *)+000006BF) 
004175D8 Module(sqlservr+000175D8) (process_commands(struct srv_proc *)+000000E0)                                                                             
410735D0 Module(UMS+000035D0) (ProcessWorkRequests(class UmsWorkQueue *)+00000264)                                                                            
4107382C Module(UMS+0000382C) (ThreadStartRoutine(void *)+000000BC)            
7800BEA1 Module(MSVCRT+0000BEA1) (_beginthread+000000CE)                       
77E92CA8 Module(KERNEL32+00012CA8) (CreateFileA+0000011B) 
				

CAUSE

The ResetFromBatch code line does not implement appropriate structured exception handling, which leads to an unhanded exception condition.

RESOLUTION

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

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

WORKAROUND

Ensure that the COM objects that are used provide full TypeLib information. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

282279 FIX: Execution of sp_OACreate on COM Object Without Type Information Causes Server Shut Down

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000. This problem was first corrected in SQL Server 2000 Service Pack 1.

Modification Type:MajorLast Reviewed:10/9/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix KB286565