June, 2009

  • Never doubt thy debugger

    Three errors, one cause: me!


    A few days ago I was working on a repro I got from a customer as I very often do, and for some reason after a while my IIS started to behave oddly, pages where not served, the application pool was stuck doing “something” and whenever I tried to open the IIS Manager I got the error “There was an error when trying to connect. Do you want to retype your credentials and try again? Cannot create a file when that file already exists”:

    Failed to connect

    Needless to say that being IIS on my local machine and I have not made any changes to the security/ACLs/DCOM etc… there should be no need to retype my credentials; and by the way, even retyping them did not help.

    By the way, if I tried to remotely connect to another machine of mine, I got the message “The type initializer for ‘Microsoft.Web.Management.Remoting.HttpChannel’ threw an exception”:

    Type initializer throw an exception 

    My next step has been to try to restart the World Wide Web Publishing Service: it was (oddly?) stopped, but again I got an error “Windows could not start the World Wide Web Publishing Service service on Local Computer. Error 1068: The dependency service or group failed to start”:

     The dependency service or group failed to start

    The W3SVC service has a dependency on WAS (Windows Process Activation Service), I tried to start it manually and got “Windows could not start the Windows Process Activation Service service on Local Computer. Error 183: Cannot create a file when that file already exists.”:

    Could not start the WAS service

    That is the same message I got from IIS Manager, so I thought to have a look at the event log to find out more: I was wrong! I got “MMC could not create the snap-in. The snap-in might not have been installed correctly”:

    MMS coult not create the snap-in

    I quickly found out that virtually every MMC snap-in was broken on my machine (“Server Manager” “Certificates”, “Local Users and Groups”, just name one) but why?!?  Surprised smile

    Well… on Windows 2008, MMC is based on .NET as of course is IIS and when the problem first appeared I was tampering my machine.config file to try different ThreadPool settings… Thinking smile

    The golden rule in computing reads “Always back-up sensitive data!”… after restoring my clean machine.config all the problems above went away! Nerd smile

    For curiosity I had a deeper look at it and found the following lines:


    <processModel autoConfig="true"/>

    <processModel autoConfig="false" minWorkerThreads="100"
    minIoThreads="100" maxWorkerThreads="404" maxIoThreads="404"/>

    <httpRuntime minFreeThreads="152" minLocalRequestFreeThreads="152"/>


    Easy to spot it now, eh? For my repro I had set autoConfig=”false” but then I decided to set it to “true”, for some reason I added a new <processModel> element with its own autoConfig=”true” and forgot to remove the “old” <processModel>… At least I learnt something new from my foolishness! Embarrassed smile

    Note: there might be other reasons if you get the errors above, but always keep a clean backup of your configuration files at hand, just in case…




    Quote of the day:
    We are continually faced with a series of great opportunities brilliantly disguised as insoluble problems. - John W. Gardner
Page 1 of 1 (1 items)