Microsoft KB Archive/153855

= FIX: IRL can cause 3307, OS error 6, unhandled server level AV =

Article ID: 153855

Article Last Modified on 10/3/2003

-

APPLIES TO


 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q153855





SYMPTOMS
If a table is set to enable Insert - Row Locking (IRL) with "sp_tableoption 'table_name', 'Insert row lock', true" within a transaction and the user fails to end the transaction with 'commit tran' or 'rollback tran' before exiting, it could cause 3307 "Process %ld was expected to hold logical lock on page %ld.", OS error 6, 602 "Could not find row in Sysindexes for dbid '%d', object '%Id',index '%d'." and an unhandled server level access violation (AV).



MORE INFORMATION
On a single processor computer, when the user exits without 'commit tran', it can cause the following error in the errorlog:

Error : 3307, Severity: 21, State: 1

Process 10 was expected to hold logical lock on page 336.

WARNING: Process being freed while holding Dataserver semaphore

udread: Operating system error 6(The handle is invalid.) on device

'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x000009a4).

udread: Operating system error 6(The handle is invalid.) on device

'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00000394).

udread: Operating system error 6(The handle is invalid.) on device

'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00000383).

Buffer 8d3b20 from database 'master' has page number 0 in the page header

and page number 895 in the buffer header

Recursive error 822 in ex_print

mirrorproc: i/o error on primary device 'C:\MSSQL\DATA\MASTER.DAT'

SQL Server will terminate itself afterwards. When SQL Server is restarted and DBCC CHECKDB("pubs") is executed, the results sometimes report error 602: Could not find row in Sysindexes for dbid '%d', object '%Id',index '%d'.

After a user exits on a multi-processor computer, sp_who shows the spid is still valid and the status shows 'spinloop', which does not allow you to kill the spid. DBCC CHECKDB or other queries will either hang, or become extremely slow. There will also be many bufwait errors in the errorlog. Stopping SQL Server would either cause an AV or cause SQl Server to stop responding.



STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

Keywords: kbbug kbfix KB153855

-

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

© Microsoft Corporation. All rights reserved.