IIS – Getting “Connection_Abandoned_By_AppPool DefaultAppPool” – File Version Mismatch

Today, I was working with a customer of mine who had some problems in configuring a Virus Definitions Distribution Point for Symantec Live Update on IIS. Another module hosted on a different web-server has a button to test this distribution point, and we were seeing that the test on this Distribution Point was failing.

I’m no Symantec expert, and couldn’t understand what that test all about and what it was trying to do. Only after checking the IIS log file, we came to know that this test was trying to PUT some files to the server, and was not successful. Saw the below events in the HTTPERR log:

2009-08-07 18:54:36 <ip> 444 HTTP/1.1 PUT /virusdefs/minitri.flg - 783927 Connection_Abandoned_By_AppPool DefaultAppPool
2009-08-07 18:54:36 <ip> 444 HTTP/1.1 PUT /virusdefs/minitri.flg - 783927 Connection_Abandoned_By_AppPool DefaultAppPool

I know that we would get “Connection_Abandoned_By_AppPool DefaultAppPool” when the request was actually orphaned, or the application pool crashes. Check this KB for the explanations on each message you would see in HTTPERR logs.

Connection_Abandoned_By_AppPool - A worker process from the application pool has quit unexpectedly or orphaned a pending request by closing its handle.

But, we were sure that the worker process was not crashing, no event logs as such – as well as the PID of the w3wp.exe not changing. I just checked the file versions in the inetsrv folder, bingo! They were of older version than the SP version installed on the server. Probably the customer during the installation of IIS provided a Windows 2003 Server RTM CD instead of the one contains SP2 slip streamed. After re-applying the SP2 for Windows 2003 Server, issue was resolved. Take a look at this KB for more on this.

Take Away from this blog post: Mind to check the file versions, if you see a Connection_Abandoned_By_AppPool DefaultAppPool on the HTTPERR logs, and no event logs indicating a worker process crash.