Kamath Vikram


We have a browser based application that is doing some updates on the database. This app was earlier built to run on SQL server 2000 and we are in the process of migrating to SQL server 2005. Until now the application was seamlessly working on the new SQL server 2005 database. I got the following error message on the web when an item was clicked on the web that triggered a set of database updated through our app server. This is first time i am seeing anything like this.

---------------------------
Windows Internet Explorer
---------------------------
Unable to delete the selected items. Warning: Fatal error 3624 occurred at Feb 5 2007 2:34PM. Note the error and time, and contact your system administrator.

A severe error occurred on the current command. The results, if any, should be discarded.

Location: IndexRowScanner.cpp:370
Expression: m_sizeOfBuffer > currentOffset + colLen
SPID: 54
Process ID: 2712
---------------------------
OK
---------------------------

In the beginnning we thought it may be some thing in the app server or the CLR. But when I checked the process ID in the task manager it turned out to be SQL server 2005 process. the SPID was the application servers connection to the database.

This is what I got when i ran the profiler.

SQL Server Assertion: File: <IndexRowScanner.cpp>, line=370 Failed Assertion = 'm_sizeOfBuffer > currentOffset + colLen'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check
the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.

Warning: Fatal error 3624 occurred at Feb 5 2007 3:00PM. Note the error and time, and contact your system administrator.

2007-02-05 15:00:23.04 spid54 Error: 3624, Severity: 20, State: 1.
2007-02-05 15:00:23.04 spid54 A system assertion check has failed. Check the SQL Server error log for details

Any clues on what this is all about

Thanks..





Re: SQL Server Assertion ERROR

Peter Byrne MSFT


Did you try running DBCC CHECKDB as the message suggests Errors like these can sometimes be caused by existing corruption that might not have caused issues with earlier versions.

There is also a known bug which is fixed for SQL 2005 SP2 for this assert. If you need the fix prior to SP2, you should open a case with Microsoft support.







Re: SQL Server Assertion ERROR

Kamath Vikram

Thanks.

Yes I did run DBCC CHECKDB. it gave results with No errors in the database. I have rebooted the machine as well. The strange thing is the very same stuff was working seamlessly since we started testing our application on SQL server 2005 in December. The applications as such has not changed except for the database. We just hit this error today all of a sudden.

Best Regards







Re: SQL Server Assertion ERROR

Kamath Vikram

I investigated this a little further by dbugging the application to figure out the SQL statement being executed before we get the error. I believe it has got to do with some bit fields that we have in our tables. We are able to replicate this error on two different machines now. The operation on application is the same, but the error point (the actual SQL statement) is different. One of the statements have a bit field validation in the where clause and the other is setting the bit field based on a different set to conditions in the where clause involving Logical OR and AND.

If we remove the bit fields from both the statements they seem to work fine.

Wierd, because we have other tables with similar bit fields and they seem to be all fine.

Even simple selects are failing with assertion error, eg SELECT [MY_BIT_FILED] FROM [MY_TABLE]

Any clues anyone






Re: SQL Server Assertion ERROR

Peter Byrne MSFT

Bit fields would match the bug that is fixed in SP2. Again, if you need a fix prior to SP2 you would need to work with Microsoft Support.






Re: SQL Server Assertion ERROR

Kamath Vikram

I installed the SQL Server 2005 SP2 (CTP) and it seems to have fixed the problem. I dont see this error anymore on my machine.

Thanks very much.






Re: SQL Server Assertion ERROR

SedonaMan38

Here's a kicker. I have SP2 on both sites. This assertion error shows its head during a replication process of pushing the data to a remote server. It only happens on one specified table from one database out of 32 replicating database I have that work with a hitch. I ran DBCC against the table and everything is just fine. but during the merge initial push to the subscriber, this happens:

A system assertion check has failed. Check the SQL Server error log for details (Source: MSSQLServer, Error number: 3624)
Get help:
http://help/3624

is it possible that a data field may contain a value that might be throwing this automated script that sql 2005 itself produces