One should assume intelligent people learn from their mistakes. Nevertheless, there are these things you do for the umpth time, and you know you’ll do it again, no matter how hard you try. Put a red sock into the washing machine with the white shirts. Lending out books without noting down to whom.
My today’s ONNA was not shutting down Fiddler correctly. I was in a training with a new developer who was working in a VM on her notebook, and she complained that she could not connect to the local web server with the correct URL. http://localhost was working, but it did not help much because the application requires SSL. What followed were 35 minutes of wild guessing around DNS issues, duplicate machine names in the network (a common issue when you deploy a VM image to training participants: as soon as more than one person connects the VM to the LAN via a network bridge, the fun begins), and SSL certificates, but to no avail. Then I asked her to reboot; that has never done any harm.
Or has it? There were a lot of programs running, but everything was saved, so she immediately clicked “Force shutdown” to shorten the time Windows needs to close the open applications before shutting down. At this moment it dawned on me that I had fallen for my ONNA No.2: Killing Fiddler.
Fiddler intercepts the HTTP traffic between a browser and a web server by acting as a proxy. When Fiddler is started, it registers itself into the WININET connection configurations – to see what this means, go to the connection options in Internet Explorer. All traffic to any web server is routed through the proxy, i.e. Fiddler. the local traffic (the one that goes to localhost) is excluded from this rule.
Now when Fiddler is shut down, it de-registers itself as the proxy and restores the original settings. Except of course when you kill the process, e.g. by a forced shutdown. In that case, all traffic is still sent to Fiddler, except of course that it is no longer there to pass it on. No server is reachable in that situation, except localhost. All the restarting of browser, web servers, and machines does not help until you either manually fix the proxy configuration or start and then properly shut down Fiddler.
I’ve been there. For many, many times in years. Hours that you’ll never get back. But if I can’t connect to the the local web server all at sudden next week…
I bet I’m going to reboot, debug, and swear.
P.S. My ONNA No.1 is having an NUnit project that runs against the Debug configuration of a C# project, and fixing a failing test. Visual Studio of course compiles into Release configuration. And I’m sitting there wondering why the damn test does not pass, whatever I do.
P.P.S. Please congratulate me to a new notebook: I’m getting a Dell 6510 Quad-Core from The Friendly Employer.