Internet Explorer: Why It Crashes And How To Fix It

Ah, Internet Explorer… the browser everyone loves to hate but can’t live without.

Why the hatred?  Well, it’s by Microsoft.  That alone is enough for some people.  It’s slow.  Not that it’s really that bad, it’s just that pretty much every other browser out there is faster.  It’s a pain in the ass to develop for: IE6, IE7, IE8, Quirks Mode, IE7 Standards Mode, IE8 Standards Mode, Compatibility View… I’m a developer, and I can’t even keep track of all the different modes IE renders in.  And of course, none of them are exactly right.

But it does have a few things going for it.  Amazingly, it’s probably the most secure browser out there right now – not because it was developed particularly well, but because after years upon years of bugs and security flaws, most problems have been found and fixed.  It has all the features a reasonable person would use, and (starting with IE8), has a great set of developer tools as well, nicely tucked away until you need them.  Oh… and it’s installed on every damn Windows PC on the planet.  That also helps.

So if it’s so well-tested and secure, why the inevitable crashes?  Simple: third party code.  Say what you will about Microsoft, but Microsoft code is a hell of a lot better than random third party code.  Microsoft has a vested interest in making their code rock-solid: they want it to work.  When it doesn’t, people get pissed off and go buy Macs.  Third party developers don’t have quite the same incentive: when third party code crashes, people usually still blame Microsoft, especially when it’s not obvious that third party code is running.

Want proof?  Read this entry on the IE team’s blog.  The key piece of information is that pretty graph.  The blue bars represent crashes caused by third party code – ActiveX controls, toolbars, and other plug-ins.  The red bars represent crashes IE is responsible for.  A mere 17 bugs are responsible for half of all IE crashes.  The top four, and 12 of the top 17, are caused by third party code.  Microsoft itself is only responsible for about 20% of these crashes.

While Microsoft can’t say this outright, there are plenty of clues pointing to the biggest culprits here: Adobe Flash and Adobe Reader.  These are two of the most common plug-ins out there, and they’re horribly written: just have a look at how much memory and CPU these programs use to perform relatively simple operations.  Flash, particularly, is absolutely fucking ridiculous for this.  There’s also an endless stream of security vulnerabilities caused by these plug-ins.  As I write this, there’s yet another flaw in Adobe Reader that allows a your system to become infected with a virus simply by opening a PDF file (or clicking on a PDF link) – and yes, viruses exploiting this are spreading like Australian wildfire.  Adobe won’t have a patch out for weeks at the earliest, despite this guy publishing his own patch without even having access to the source code.

So, next time IE crashes, don’t blame Microsoft.  Blame Adobe.  Want to fix it?  Here are some good starting points:

  • Use Foxit Reader instead of Adobe Reader.  It’s faster, it’s smaller, it’s probably more secure (or at least less targeted), and it doesn’t crash IE. Kill Adobe Reader.
  • Avoid Flash if at all possible.  Or, keep IE ‘clean’ and use Firefox for websites that require Flash.
  • Keep your computer up to date.  Seems obvious, but so many people don’t do this, even those who know they should.  Run IE7 and check Windows Update.  When IE8 is out, get it.  Run the latest service pack for your OS.
  • Uninstall or disable as many plug-ins as possible – preferably all of them.  Under later versions of IE, you can do this under Tools, Manage Add-ons.  Look on your Start menu for “Internet Explorer (No Add-ons)”.
  • Running Windows 7?  Keep in mind you’re running a beta version of IE on top of a beta version of Windows.  Crashes come with the territory.  That said, Microsoft just released some updates that take care of quite a few problems; make sure you have these installed.

Hopefully this helps.

3 comments:

  1. Adobe security update 9.1.3 crashes all IE versions. Tried all workarounds with the same result. I had to unistall Adobe Acrobat Pro 9 from my computer to get IE8 up and running again. I found that IE8 runs much faster and the problems I had running Outlook went away too. Way to go Adobe!

    ReplyDelete
  2. None of the above affects me. I have noticed a flaw in IE6 when run on Win98SE and potentially on Windows XP. And it is consistent IE6 crashes if one or more browser windows are opened. Guaranteed! When you close one of the windows, the entire IE6 browser crashes, and usually Win98 is unable to end the process, and I usually have to reboot because Win98 also crashes having been brought down by IE6! I realize that IE6 and Win98 is archaic (!), and probably doesn't matter anymore, but still, it is a mystery as to why this happens. And IE6 does, in fact, cause problems with Windows XP.

    ReplyDelete
  3. Scott: I don't even know where to start. First - and really, this is all that matters - Win98SE? Seriously? Why not bitch that it won't work under Win3.1 either? There's absolutely no reason whatsoever to still use that OS (or browser). No excuse, regardless of how valid you think it is, makes sense. It's not just archaic, it's unusable, completely insecure, broken, and dangerous. You aren't doing anyone any favours.

    Second, you are an idiot. Do you really think Microsoft released IE6 with an unknown flaw that causes it to crash whenever it starts? And that nobody noticed this, despite IE having 95% market share?

    Third, why post here? You expect somebody to load up Win98SE and IE6 and help you troubleshoot your problem that is, without a doubt, caused by a foul brew of 15 year old software and your own stupidity?

    Get out.

    ReplyDelete


Copyright © 2010 Paul Guenette and Matthew Sleno.