Search code examples
asp-classicvbscriptiis-6windows-server-2003divide-by-zero

Intermittent "Division by zero" error in classic ASP pages


This is a strange one. A web application which runs fine on Windows Server 2000, experiences intermittent errors on Windows Server 2003 R2. By intermittent, I mean myself and 2 testers can find the error within 5 minutes of navigating around the web application.

The error is always "Division by zero" - 800a000b

The most common line of code it fails on is in an include file. The line is:

Response.ExpiresAbsolute = Now() - 10

Once I change it to:

Response.Expires = 0

I cannot get the error on that page anymore. However, I then start to get the error on other pages. So far, I've had the following lines of code report the error:

nSearchPos = CLng((nLBound + nUBound) / 2)

and

next

I am currently creating an 'R1' instance of Windows Server 2003, to see if I can reproduce it on this server.


Solution

  • If you Google for this you'll see lots of people with similar issues. I'm not sure I have a good answer, but this...

    http://blogs.msdn.com/dougste/archive/2008/11/12/random-and-unexpected-exception-flt-divide-by-zero-and-exception-flt-invalid-operation.aspx

    ... has some reasoning behind why the problem occurs. Do you have 3rd party components running that could be causing the issue?