Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

Windows 2003 running ASP (not dot net) - config issue

Dear all,

I've recently moved a client to our new Windows 2003 box, which currently runs a number of ASP.NET websites (all of these use the Default Application Pool).

The site I moved was a classic ASP website. I created a new website, set up the host headers and it was working perfectly (with some minor tweaks - enabling parent paths, etc.).

The problem I am having is that at least once per day the website drops. By dropping I means that I refresh my browser and it says "Website found, waiting for reply...", but there never is any reply. I know this isn't an internet connection issue as I'm remoted into the box using Terminal Services, and in addition my DNS is tested and working correctly.

I thought about the problem and guesses that the application was leaking and causing some fairly savage failures, so I created a new application pool for "ClassicASPSites" to take the problem away from the ASP.NET websites. I watched in task manager as a new "w3wp.exe" was spawned and slowly filled up with memory to about 70 megs. I thought this was a little much for one website, so went through every line of code on the Classic ASP site to make sure it wasn't leaking memory. There were a few areas it was leaking so plugged these, resulting in the size in memory dropping.

The site is still dropping daily and I've tried pretty much every configuration combination I can against the Application Pool I created. I've also attempted to allow two worker threads running side by side, and although this resulted in 100% uptime, it also made the site behave very strangely indeed: after logging into the site (using session state to maintain identity of the users), the site would be presented as a logged on user on one request then a guest on another (I guessed it was using different processes for different requests and therefore not sharing session state between the two ??). This behaviour made the site unusable so I had to revert to a single "w3wp.exe" instance.

My question is: Why does my server work for a day, then stop responding to all requests for the Classic ASP website pages? If they are crashing, how come the worker threads don't know to restart?

Any ideas would be graciously received.

Many thanks,
Jonny Tooze, MCP
[2350 byte] By [toozious] at [2007-11-11 6:38:18]
# 1 Re: Windows 2003 running ASP (not dot net) - config issue
These types of issues can be very difficult and frustrating to diagnose. But I would recommend a handy utility (Process Explorer) that might give you some insight as to what is happening on your web server:

http://www.sysinternals.com/Utilities/ProcessExplorer.html
pclement at 2007-11-11 23:14:22 >
# 2 Re: Windows 2003 running ASP (not dot net) - config issue
Hi Paul,

Many thanks for your quick reply.

Jonny
toozious at 2007-11-11 23:15:22 >
# 3 Re: Windows 2003 running ASP (not dot net) - config issue
Still no luck on this one, anyone else have any ideas? This server is really screwed and there's apparently no reason at all for it!

I've retried every configuration option for the Application Pool serving this website and it still crashes every 24/48 hours.

Many thanks,
Jonny
toozious at 2007-11-11 23:16:17 >
# 4 Re: Windows 2003 running ASP (not dot net) - config issue
Have you tried running the application isolated?
pclement at 2007-11-11 23:17:22 >
# 5 Re: Windows 2003 running ASP (not dot net) - config issue
Wouldn't that mean running the whole of IIS in isolation mode?
toozious at 2007-11-11 23:18:26 >
# 6 Re: Windows 2003 running ASP (not dot net) - config issue
I don't think so. What I was referring to was running the ASP app in its own application pool.
pclement at 2007-11-11 23:19:25 >
# 7 Re: Windows 2003 running ASP (not dot net) - config issue
Ah, I thought you meant running the WWW IIS service in isolation mode. In answer to your suggestion: the classic ASP website in question currently uses it's own application pool.

Thanks,
Jonny
toozious at 2007-11-11 23:20:18 >
# 8 Re: Windows 2003 running ASP (not dot net) - config issue
Is this web application using any COM components (other than ADO)?
pclement at 2007-11-11 23:21:29 >
# 9 Re: Windows 2003 running ASP (not dot net) - config issue
Yeah, it's using ASPJpeg from Persists, and some FSO stuff - you think that would have any affect?
toozious at 2007-11-11 23:22:31 >
# 10 Re: Windows 2003 running ASP (not dot net) - config issue
FSO is probably OK but I don't know anything about ASPJpeg. Assuming it's an ActiveX DLL, can you register it w/COM+ to isolate it from the ASP application process?
pclement at 2007-11-11 23:23:32 >
# 11 Re: Windows 2003 running ASP (not dot net) - config issue
I guess it's an ActiveX DLL, not really done a huge amount with component services, so I guess that I give that a try. Although this is a fairly heavily used component so I really don't think it's that. The site dropped again 10 minutes ago! Argh!
toozious at 2007-11-11 23:24:31 >
# 12 Re: Windows 2003 running ASP (not dot net) - config issue
The first place I look is generally with respect to ActiveX components. If they hang for some reason or are chewing up system resources that can definitely cause a web application (or server) to stop responding.
pclement at 2007-11-11 23:25:24 >
# 13 Re: Windows 2003 running ASP (not dot net) - config issue
Hi Paul,

It just happened again and I found this in w3wp.exe, using Process Explorer:

\KernelObjects\CritSecOutOfMemoryEvent

I seem to remember it was labelled as a Key/Event

All I can find out about "CritSecOutOfMemoryEvent" is that its a vulnerability for some other Microsoft soultions, although nothing relating directly to IIS. Would you happen to know anything about this?

I'm still digging!

Many thanks,
Jonny
toozious at 2007-11-11 23:26:31 >
# 14 Re: Windows 2003 running ASP (not dot net) - config issue
I haven't heard of it before but it doesn't appear to be anything abnormal.

http://makeashorterlink.com/?A264116BB
pclement at 2007-11-11 23:27:31 >