• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

can anyone here analyze memory dumps of a crashing website in IIS?

Mucman

Diamond Member
I'm investigating why a certain website on our server causes all of IIS to crash. It's a shared hosting server with ~200 sites on it.
This customers site is the largest one, and does around 2.5GB per day. Every so often I see an event log entry that says :

Event Type: Information
Event Source: Application Popup
Event Category: None
Event ID: 26
Date: 6/26/2003
Time: 11:30:13 AM
User: N/A
Computer: WWW8
Description:
Application popup: dllhost.exe - Application Error : The instruction at
"0x77fcb5bf"
referenced memory at "0x00000000". The memory could not be "written".

This always results in a complete IIS shutdown in 10 minutes. An iisreset brings it all back up. The company is
severely lacking in technical knowledge so I figured I might as well peak at their code... low and behold, they
do not close any of their database connections. This site gets hammered pretty good too. The only 3rd party
component they use is ASPImage, but otherwise it's straight ASP and DB code (done poorly).

Does anyone thing that this kind of result can happen from not closing database connections?

 
both

Unfortunately I am dealing with their new developer who only knows php/mysql setups... This site is ASP/SQL Server, and
he assumed open database connections would cause the database server to crash (which it does with mysql). I convinced
him to close all the stuff now... but I still would like to know the result of having open connections.
 
Not closing connections should eventually result in an error that you can't open a connection, but it's not guaranteed to fail gracefully. I think the error you are experiencing is believable.
 
I can't say with any certainty but if you get enough open database connections then I could imagine that IIS would take a crap on ya.
 
Application popup: dllhost.exe - Application Error : The instruction at
"0x77fcb5bf"
referenced memory at "0x00000000". The memory could not be "written".

A null pointer doesn't really sound like a problem with too man database connections. Failure to close a connection shouldn't result in the program trying to read from an invalid memory address.
 
Originally posted by: notfred
Application popup: dllhost.exe - Application Error : The instruction at
"0x77fcb5bf"
referenced memory at "0x00000000". The memory could not be "written".

A null pointer doesn't really sound like a problem with too man database connections. Failure to close a connection shouldn't result in the program trying to read from an invalid memory address.

That's what I thought too... I guess the only way to know what exact instruction in the code would be to take a
memory dump, but I know I'm not adept enough to decipher those.

 
The developer has notified me that all the connections and recordsets are being closed now. I've decided that if the
server doesn't crash for a week, the problem is fixed. It would normaly crash once every 1 or 2 days (as much as 4
times in one day).

I'll keep you posted if it worked or not.
 
crap... the server crashed today. So it's not the database connections that's doing it.

Going to move them to a Windows 2003 server with Application Isolation and see how it
does on there. It's a stupid fix, but I don't have the time to troubleshoot their code, and they
don't have the technical skills to do it. It will be interesting to see if Windows 2003 / IIS 6 is
as robust as they say it is.
 
The website just crashed, and the client isn't too interested in migrating to W2K3 if their site is still going to crash. Of course
it would make my job easier because I wouldn't have to deal with the other customers on the server they just crashed...

Anyways... I ran adsdump on the website using the -hang flag. Here's part of the output 768KB.
I got the binary memory image as well. What looks interesting to me is :

CritSec ole32!gComLock+8 at 77B2BC88
LockCount 255
RecursionCount 1
OwningThread 3718
EntryCount 102
ContentionCount 102
*** Locked

This is in the CriticalSection area... I'm no expert at these dump files, but it looks to me like this thread has made 255 locks.
255 is siginifact because that is the largest integer 1 byte could hold. Perhaps the thread tried to create another lock for some reason
and then died. What's crazy is that this dllhost.exe crashing causes all of IIS to crash too. The last time we had a memory dump checked
out was when we bucked up for the $250 MS ticket. The guy that I talked to was very knowledgable about the innerworkings of IIS, but
it took 2 weeks to get to him!
 
Back
Top