Sunday, 27 April 2008

Fix - IE 7 and 8 Freezing and Generating Javascript Errors on Windows Vista

Since the new XPS 1730 arrived, I've been having horrible response times on some (not all) https pages and getting almost random javascript errors on a handful of websites. This was not happening on my other Vista Basic edition laptop - and didn't happen with Firefox at all on either machine. The problem was occurring all of the admin pages on the iinet toolbox (https://toolbox.iinet.net.au/). I couldn't even log into the iinet billing system without IE timing out and giving javascript errors.

I am always determined to get to the root of the problem if something is not working quite right on my home machines - so I applied my usual "Divide and Konquer" (DK for short) approach to solving bewildering issues....

This is the process I worked through to find the problem - so you don't have to go through the same 13 step process if you encounter this issue:


  1. Googled some of the javascript errors I was getting. Logically, I believed that if something is working on one machine, but not on the other - it had to be some kind of IE Javacript engine corruption or different configuration setting. Indeed, someone else in the world MUST have had the same issue with the same javascript errors. I read through many articles but none solved my issues. It wasn't the javascript itself - as that was working on my other laptop.
  2. Started in IE in safe mode (Start->All Programs->Accessories-> System Tools -> Internet Explorer (No Add-ons). No difference - pages still slow and freezing in IE 7, javascript errors
  3. Rebooted my machine (Another of my mottos - "If in doubt, restart it"). Problem still there.
  4. Did a reset of all settings and Advanced Settings in IE 7 (Tools->Options->Advanced->Reset Button)
  5. Flushed out IE temp files and cache in case I had corrupted javascript files that weren't getting updated on page refesh (Tools->Options-> Delete). Still no result.
  6. Removed all startup services via sysinternals autoruns (http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx). No difference.
  7. Started up in safe mode. No difference (contrary to some articles I have seen - wireless does work in Safe Mode with Networking, not just hard ports).
  8. Rolled back to my first system restore point. No difference.
  9. Backed up my system and installed the factory default image that comes from Dell. No change.
  10. Did a completely fresh install of Windows Vista from the Dell Media provided by Dell. No difference.
  11. At this stage, I thought it must be external in some horrible combination of issues with IE 7 and my router - but my other laptop (on which I had not changed settings) ran fine. Just in case, I rebooted the router (a Belkin 54g wireless with VOIP I got 2 years ago from iinet)- still no benefit.
  12. A bit more investigation and I found (another list) that runs through some of the troubleshooting steps when fixing IE 7 on Vista. I didn't think much of it as it was similar to all the other lists I found in step 1 - but there was one report of an issue with Vista and certain routers not cooperating: http://www.howtogeek.com/howto/windows-vista/troubleshooting-internet-explorer-on-vista-locking-up-or-running-slowly/. This is under the heading "Disable Receive Window Auto-Tuning".

    "If none of those fixes the problem, and you are just having a really slow browsing experience only on your Vista computer, the problem could very well be due to the network auto-tuning feature in Windows Vista which is incompatible with some routers.
    Open up an administrator mode command prompt (right click on command prompt and choose Run as Administrator), and then type in the following command.
    netsh int tcp set global autotuninglevel=disabled
    You can also try running a cut down version of auto tuning via this commandline. But your mileage may vary:
    netsh interface tcp set global autotuninglevel=restricted
    You can set it back to normal by (you guessed it):
    netsh interface tcp set global autotuninglevel=normal
    Just remember to reboot for these to take effect.
  13. So I ran the netsh commandline fix and magically all the sites that were having problems ran at full speed without errors. Unfortunately, this was not as simple as a firmware fix as I have the latest version of the firmware on my machine (April 2007 - http://www.belkin.com/au/support/article/?lid=ena&pid=F1PI241EGau&aid=6242&scid=846). Why this netsh fix works is explained right here:
    http://blogs.msdn.com/wndp/archive/2007/07/05/receive-window-auto-tuning-on-vista.aspx.

    As per http://support.microsoft.com/kb/934430, the connectivity diagnostic suite can tell you if you suffer from the same problem - you can get this from here: http://www.microsoft.com/windows/using/tools/igd/default.mspx
  14. Problem solved.


No comments: