.NET Questions and Solutions

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘fatal exception’

PRB: An Access Violation Occurs If the Sqlsort.dll Version Is Not Compatible with the SQL Server Version

Symptoms
You receive one of the following error messages:When you connect to SQL Server 7.0 from SQL Server Enterprise Manager:

A connection could not be established to <ServerName>.
Reason: SqlDumpExceptionHandler: Process 7 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Please verify SQL Server is running and check your SQL Server registration properties (by right-clicking on the ServerName node) and try again.-Or-When you click Alerts under SQL Server Agent in SQL Server Enterprise Manager:

Error O: SqlDumpExceptionHandler: Process 7 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.Additionally, the Errorlog file in SQL Server 7.0 contains one of the following stack dumps:

SqlDumpExceptionHandler: Process 7 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process..********************************************************************************* BEGIN STACK DUMP:*0x/xx/02 03:12:54 spid 7**Exception Address = 04004697 (Ordinal6 + 297)*Exception Code= c0000005 E*Access Violation occurred writing address 00000004* Input Buffer 54 bytes -*e x e cs p _ M S d b u s e r p r i vN ‘ v e r ‘ * …——-Short Stack Dump0×04004697 Module(sqlsort+4697) (Ordinal6+297)0×005bea83 Module(sqlservr+1bea83) (GetUnicodeRange+e7)0×00575825 Module(sqlservr+175825) (CLikeRangeUtil::LikeRangeTransW+2ec)0×00647680 Module(sqlservr+247680) (CXVariant::LikeRangeStart+7b)0×0056d35b Module(sqlservr+16d35b) (COptExpr::PexprFoldMain+103c)0×00443d71 Module(sqlservr+43d71) (COptExpr::PexprFoldMain+b8)0×00443c08 Module(sqlservr+43c08) (COptExpr::PexprFold+3f)0×004e0d3b Module(sqlservr+e0d3b) (CCvtTree::BuildSte+12e)0×004e0c15 Module(sqlservr+e0c15) (BuildSteFromTree+39)0×004e0b97 Module(sqlservr+e0b97) (CStmtCond::Init+4e)0×00438530 Module(sqlservr+38530) (CCompPlan::FCompileStep+f23)0×0043d00f Module(sqlservr+3d00f) (CProchdr::FCompile+5d9)0×0040ec53 Module(sqlservr+ec53) (CSQLSource::FTransform+234)0×0042140c Module(sqlservr+2140c) (CSQLObject::FTransform2+1ab)0×004e1cdc Module(sqlservr+e1cdc) (CSQLObject::FGetFromDisk+627)0×00420f96 Module(sqlservr+20f96) (CSQLObject::FTransform+21a)0×0040e7b9 Module(sqlservr+e7b9) (CSQLSource::Execute+11d)0×0046225f Module(sqlservr+6225f) (CStmtExec::XretLocalExec+127)0×0046211e Module(sqlservr+6211e) (CStmtExec::XretExecute+253)0×0040f487 Module(sqlservr+f487) (CMsqlExecContext::ExecuteStmts+11b)0×0040ef35 Module(sqlservr+ef35) (CMsqlExecContext::Execute+16b)—————————————————————————Error: 0, Severity: 19, State: 0language_exec: Process 7 generated an access violation. SQL Server is terminating this process. -Or-

********************************************************************************* BEGIN STACK DUMP:*0x/xx/02 16:49:07 spid 7**Exception Address = 105B498A*Exception Code= c0000005 E*Access Violation occurred reading address FFFFFFFF* Input Buffer 54 bytes -*e x e cs p _ M S d b u s e r p r i vN ‘ v e r ‘ ………Short Stack Dump0×105b498a Module(UNKNOWN+0)—————————————————————————Error: 0, Severity: 19, State: 0language_exec: Process 7 generated an access violation. SQL Server is terminating this process.***************************************************************************** BEGIN STACK DUMP:*0x/xx/02 16:47:50 spid 7**Exception Address = 105B48FA*Exception Code= c0000096 E* Input Buffer 188 bytes -*E X E C U T Em s d b . d b o . s p _ h e l p _ a l e r t@ o r d e *r _ b y=N ‘ s e v e r i t yA S C ,m e s s a g e _ i dA S *C ,d a t a b a s e _ n a m eD E S C ‘ *—————————————————————————Short Stack Dump0×105b48fa Module(UNKNOWN+0)—————————————————————————Error: 0, Severity: 19, State: 0language_exec: Process 7 generated an access violation. SQL Server is terminating this process.
Resolution
This behavior occurs if the versions of Sqlsort.dll and Sqlservr.exe are not compatible.

BUG: Access Violation Occurs with Non-Updateable Derived Table in UPDATE Statement

Symptoms
If you run a query that tries to update a derived table that contains a UNION statement, a handled Access Violation occurs and the connection is closed. For example, the following query:

declare @x intupdate tset @x = coalesce( @x , 0 ) + nfrom ( select 1 union all select 2 union all select 3 ) as t( n ) returns this error message:

ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005
EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Connection BrokenSQL Server also prints a stack dump to the error log with text similar to the following example. Please check the error log for the Access Violation and note that the Exception Address is in (res_view(class CAlgStmt *,class TREE * *):

2000-08-28 12:13:37.77 spid51Error: 0, Severity: 19, State: 02000-08-28 12:13:37.77 spid51SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process..********************************************************************************* BEGIN STACK DUMP:*08/28/00 12:13:37 spid 51**Exception Address = 0067CA0C (res_view(class CAlgStmt *,class TREE * *) + 000003E3 Line 0+00000000)*Exception Code= c0000005 EXCEPTION_ACCESS_VIOLATION*Access Violation occurred reading address 00000000* Input Buffer 256 bytes -*declare @x intupdate tset @x = coalesce( @x , 0 ) + nfrom ( select*1 union all select 2 union all select 3 ) as t( n )**
Resolution
Microsoft has confirmed this to be a problem in SQL Server 2000.

Bad RAM Causes Fatal Exception Errors Running Windows 95/98

Symptoms
Windows reports a random “Fatal Exception 0x has occurred at xxxx:xxxxxxx” error message even though your previous version of Windows or Windows for Workgroups did not.
Resolution
A common cause for this error messages is faulty physical memory (RAM) onthe computer. The following are reasons why your previous version ofWindows may appear to run smoothly while Windows may report a random”Fatal Exception 0x has occurred at xxxx:xxxxxxx” error message:
All operating systems use memory differently. In Windows 3.1, the “bad”memory may be used for holding rarely used data. In Windows, the”bad” memory is used for holding frequently run program information.Windows 3.1 contains comparatively little 32-bit code. Windows usesmuch more 32-bit code. Furthermore, there are subtle differencesbetween the way memory is accessed if it is being accessed for code orif it being accessed for data. Because Windows runs much more32-bit code, these subtle errors show up more often.
In particular, all the 32-bit code in Windows 3.1 resides in one place:at the low-end of physical memory. If the first 4 megabytes (MB) ofmemory can handle 32-bit code, Windows 3.1 works without errors. This istrue even if the topmost physical memory cannot run 32-bit code becauseWindows 3.1 does not run 32-bit code outside the first 4 MB of RAM.
Windows runs 32-bit code in all portions of memory. Therefore,when Windows runs 32-bit code in a section of RAM that cannotrun 32-bit code well, you may receive “Fatal Exception Error0x:xxxxxxxx” error messages.Windows interacts with hardware differently than previous versionsof Windows. This is due partly to Plug and Play and partly to newdrivers that take advantage of the additional capabilities of interfaceadapters. These features may uncover anomalies in the hardware thatnever appeared in previous versions of Windows because earlier versionsdid not attempt to exploit these features.Many new computers do not have memory chips that perform paritychecking; therefore, you may have been encountering parity errors inWindows 3.1 without realizing it because the errors were inrelatively harmless sections of memory. For example, in a MicrosoftWord for Windows document, the word “the” is changed to “tie.”