This was a Windows 2000 server with ASP.NET 1.1 installed, and for some reason the customer was unable to start his web applications, he was getting "Server Application Unavailable" messages on the client.
We found the Application event log full of entries like this one:
Event Type: Error
Event Source: ASP.NET 1.1.4322.0
Event Category: None
Event ID: 1084
Date: 18/02/2008
Time: 15.59.43
User: N/A
Computer: <computername>
Description:
aspnet_wp.exe could not be started. The error code for the failure is 80070003.
This error can be caused when the worker process account has insufficient rights to read the .NET Framework files.
Please ensure that the .NET Framework is correctly installed and that the
ACLs on the installation directory allow access to the configured account.
The next logical step is to use Process Monitor to try to spot any "Access denied" errors, but there weren’t.
Interestingly within the procmon trace we instead found quite a few entries similar to the following
inetinfo.exe:1112 OPEN C:\Debuggers\cdb.exe PATH NOT FOUND
inetinfo.exe:1112 QUERY INFORMATION C:\Debuggers\cdb.exe -server PATH NOT FOUND
inetinfo.exe:1112 QUERY INFORMATION C:\Debuggers\cdb.exe -server.exe PATH NOT FOUND
inetinfo.exe:1112 OPEN C:\Debuggers\cdb.exe -server PATH NOT FOUND
inetinfo.exe:1112 QUERY INFORMATION C:\Debuggers\cdb.exe -server tcp:port=8090 PATH NOT FOUND
inetinfo.exe:1112 QUERY INFORMATION C:\Debuggers\cdb.exe -server tcp:port=8090.exe PATH NOT FOUND
inetinfo.exe:1112 OPEN C:\Debuggers\cdb.exe -server tcp:port=8090 PATH NOT FOUND
As you may know, cdb.exe usually ships with the Debugging Tools for Windows, and C:\Debuggers is a folder we usually use (at least in CSS) to install the debugger… This made me think to a problem I had a while ago with my notepad (see here), so I asked the customer to check if he had a this registry key:
hklm\software\microsoft\windows nt\currentversion\image file execution options\aspnet_wp.exe
This is usually created by gflags, and those Path not found errors means the customer actually had the Debugging Tools for Windows installed in C:\Debuggers and then for some reason someone moved (or deleted) the folder without first removing the gflags entry from the registry: if cdb.exe cannot be found, then the target process (in this case aspnet_wp.exe) cannot be started.
We just deleted the registry key and the site was back online.
Carlo
Quote of the Day:
Sharing money is what gives it its value. — Elvis Presley, singer