Link to home
Start Free TrialLog in
Avatar of Cordoe
Cordoe

asked on

ASP_0147|500_Server Error

Running IIS 5.0 on w2k server...

I keep finding ASP_0147|500_Server errors in the log.  I have searched the web, and I cannot find out what that error refers to.  It happens really inconsitantly, so I have not been able to trace it to one page.  It seems to be causing problems with the web server, because every so often our site will not load, and it will say, "Not enough storage is available to complete this operation."  There is plenty of hard disk space left, as well as memory.  So, I am not sure what the problem is.  Any help you can give me would be appreciated.
Avatar of nihlcat
nihlcat

Kinda cryptic hugh?  I don't really have an answer, but this link explains how to make those errors a little more readable,

http://www.aspfaq.com/show.asp?id=2109

Also, have you installed Urlscan or the IIS lockdown tool?
Avatar of Cordoe

ASKER

I have both UrlScan and IIS lockdown tool installed.  I looked through the UrlScan logs, and there doesn't seem to be anything out of the ordinary.  Can anyone please tell me what ASP_0147|500 means?  Thanks.
Avatar of alimu
They're pretty generic errors.  ASP_0147 is an asp error code meaning "server error".
The 500 is a HTTP error meaning "internal error".

If you follow through nihlcat's instructions on how to turn off friendly http error messages in your browser you may be able to get a more comprehensive error description if you hit the problem page while it's having a problem.

If you're lucky your iis log may also show up ado errors (eg: 80004005, etc) that might give you a better idea of what the problem is.

Most common causes I've seen are database connectivity/response problems.  Check your database connectivity out, especially that the connection strings being used are correct and operational when tested.
Avatar of Cordoe

ASKER

I already have turned off friendly http error messages.  The error it gives me when I view a page is "Not enough storage is available to complete this operation."  There is plenty of hard disk space left, as well as memory.  

The majority of the errors in the log seem to start right after a webbot has read the site.  Has anyone heard of webbots causing problems?

Thanks.
Avatar of Cordoe

ASKER

I watched the Task Manager during the most recent crash, and there are many copies of dllhost.exe running under the IWAM_XXX account.  When the server goes down, the dllhost.exe file uses approx. 50% of the CPU and the mem usage can get as high as 600,000K.  Has anyone else dealt with this?

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of alimu
alimu
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Cordoe

ASKER

Alimu,

Thanks!  I really appreciate your help.  I continue to work with component services and see what I can find.  

The problem is, I'm not the only one writing code on this server.  But, I'll keep looking.

Thanks again for your help.

If I have any other questions, I"ll post them.  
Avatar of Cordoe

ASKER

One quick question...  I've looked, but can't find the answer.  What causes IIS to create a dllhost.exe file? Is it everytime someone visits a different folder within the web?  And, if the person leaves the folder, should that kill the dllhost file?

Thanks again.
It's the isolation/application protection mode I mentioned earlier.  
"low" = in-process applications and will run in the IIS process (inetinfo).
"medium" = pooled out-of-process applications and will get 1 dllhost thread for all the pooled applications.
"high" =  isolated applications and will get 1 dllhost thread EACH.

If you open up component services (in administration tools) you'll see a list of IIS components under COM+ Applications.  
Webs/Web Directories running in High app isolation have components that look like:
IIS-{Web Description//Root/AppName}

The dllhost thread will appear when the "application" is first activated.  i.e. after a user accesses a page in that site.  
You can see this in action after an IIS reset by clicking on "COM+ Applications" in the left hand pane and making sure you are seeing "status view" in the right hand pane.  When the applications are activated the component icon will start to spin and a process id will come up beside them.

As for dllhost shutdown, I think it's basically until it crashes, gets shutdown manually or an IISReset occurs unless you have configured timeouts.  The default setting is "Leave running when idle" on IIS created components.  
Change timeout is done in component services by right-clicking the component, properties, advanced: "Minutes until idle shutdown" setting.  I would recommend using the default value (3) if you change this.

"manual" shutdown of a particular dllhost thread is by one of the following 3 methods:
-going through IIS console to the application, and clicking "unload" on the directory tab,
-killing the dllhost.exe thread,
-right clicking the component in component services and selecting "shutdown".