FIX: SQL Profiler May Cause Divide By Zero Exception

ID: Q198521


The information in this article applies to:

BUG #: 53507 (SQLBUG_70)

SYMPTOMS

Under narrow, but unpredictable timing conditions, SQL Server may experience a divide by zero exception which causes the Sqlservr.exe process to stop. No new connections can be made, and current connections are unable to respond. The errorlog will contain a stack trace that contains this error:

Process <processno> generated fatal exception c000008e
EXCEPTION_FLT_DIVIDE_BY_ZERO.

This problem is more likely to occur when running SQL Profiler, but a study of the underlying failure mechanism indicates that it can theoretically happen when running other queries.


CAUSE

The problem is caused by a race condition when initializing a local variable, so the exact circumstances cannot be predicted.


WORKAROUND

Before attaching SQL Profiler, run this query from any client session:


   set statistics time on
   select 1
   set statistics time off 


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 7.0. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 7.0. For information about downloading and installing the latest SQL Server Service Pack, see http://support.microsoft.com/support/sql/.

For more information, contact your primary support provider.

Additional query words: prodsql hang hung


Keywords          : kbbug7.00 
Version           : winnt:7.0
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: June 7, 1999