April 25th, 2011
Third-party software (such as add-ons) causes many of the crashes you experience in IE. From an analysis of the error reports submitted during IE9 Beta, third-party code accounts for around 70% of all the crashes in IE. While we work hard to improve IE9’s reliability in-house, it’s equally important to ensure that the add-on ecosystem is compatible with IE9. This is a challenge faced by other browser vendors as well.
Throughout the IE9 development cycle, we addressed the top add-on reliability issues using the same process described earlier. The add-on ecosystem is now highly compatible with the final IE9 release. For example, our compatibility testing data shows that the top 40 most used add-ons in IE work properly in IE9 without crashing.
In this post, I walk through our process for driving add-on reliability throughout IE9, describe how add-ons affect reliability, and show how we identify and outreach these issues to add-on vendors. I describe how we improved the Upgrade Advisor experience in IE9 and share information to troubleshoot add-on reliability problems in IE.
How Add-ons Affect IE’s Reliability
As we’ve stated in previous posts, poorly written add-ons can affect IE’s reliability since they are essentially Windows applications that run in the browser. Most add-on crashes occur during IE usage scenarios, so it’s not immediately obvious to you that the crash is caused by an add-on. These are the same scenarios where you may experience add-on performance problems:
- Launching IE
IE initializes your add-ons upon launch. An error in the add-on initialization code path may result in a crash. Many of the compatibility issues we found during IE9 manifested as crashes in this scenario.
- Opening or closing tabs
IE also initializes add-ons whenever you open new tabs. When you close a tab IE unloads all the add-on modules from memory. Add-ons that don’t manage their reference counts properly may crash the tab while it’s being closed.
- Navigating to Web pages
Since add-ons are able to perform operations as you navigate to Web pages, they’ll also be susceptible to crashes.
Add-on Reliability in IE9
The error reports you submitted via Windows Error Reporting, the Send Feedback Tool and other methods helped us understand the state of add-on reliability in the IE9 Beta and Release Candidate. We investigated the add-on issues starting with the most frequently occurring ones. As you can see from the chart below, we’ve addressed each of the top 30 crashing add-ons in IE9 so far:
We’ve addressed each of the top 30 crashing add-ons from IE9 Beta and IE9 RC
The green bars represent crashes that we fixed in IE9 after we identified the root causes to be IE code issues. The other bars correspond to the issues we’ve outreached to 3rd party add-on vendors using the WinQual program. The blue bars indicate that the vendor has fixed the issues and has an updated version available. If you have one of these add-ons installed, we encourage you to update to the new version.
The orange bars represent add-on crashes that vendors are still investigating and may have fixes ready in the coming months. In general, we encourage add-on developers to sign up for an account via WinQual in order to get access to the crash reports. It’s the first step towards maximizing add-on reliability.
Improving the Upgrade Advisor in IE9
Once vendors have fixes in place for these top crashes, they can use IE’s Upgrade Advisor to update their users to new versions of the add-ons that contain the fixes. Specific versions of add-ons that are on the Upgrade Advisor list will be automatically disabled when you launch IE.
Sometimes an add-on may prevent you from using IE. For example, the add-on may repeatedly crash upon launching IE. The add-on may also contain functionality that is not in compliance with the guidelines and requirements for Internet Explorer. As we outreach these issues to add-on vendors, we also add the add-on to the Upgrade Advisor list to allow you to continue using IE properly without encountering the issues.
The following chart shows which of the top 30 crashing add-ons we have added to the Upgrade Advisor list for IE9:
This view of the failure curve shows which of the top 30 crashing add-ons we’ve added to the Upgrade Advisor list
If you have add-ons that are disabled by the Upgrade Advisor, IE notifies you of the incompatible add-ons immediately after you launch the browser. Instead of displaying a dialog as we did in IE8, IE9 displays a notification for each add-on. IE stays out of your way if you don’t want to take action:
You can decide whether to leave the add-on disabled, check for an update or keep using it for the current browsing session. Selecting “check for updates” launches a Microsoft Knowledge Base article about the add-on in a new tab. If an update is available, the KB article will contain a link to the update.
The above experience is referred to as a soft block. Vendors can choose to have us hard block their add-on if they don’t intend for their users to continue using the current version(s). The “Keep using it” option is not available for add-ons that have been hard blocked:
If you enable a blocked add-on while browsing, such as through Manage Add-ons, IE displays the corresponding dialog notifying you of the state of that add-on:
IE9 shows the Hard Block dialog when you enable a hard-blocked add-on
How You Can Investigate Add-on Crashes
Our approach to investigating add-on crashes focuses on the most impactful issues. You may encounter a low-hitting add-on crash that we have not addressed, or a crash in an add-on that we haven’t added to the Upgrade Advisor list yet. There are several ways you can identify the crashing add-on in IE.
As we covered in an earlier post, IE9 notifies you when new add-ons are installed to ensure that only the ones given explicit consent can run in the browser. By giving consent you also become aware of the add-on software you’re enabling. If IE starts crashing after enabling an add-on, you can easily identify the faulty add-on and disable it.
If the add-on prevents you from launching Internet Explorer, you can launch IE into No Add-ons Mode where all add-ons or ActiveX controls are disabled. You can disable an add-on if you know it is problematic, or troubleshoot through your enabled add-ons to find the one that’s crashing.
You can launch No Add-ons Mode by running the command iexplore.exe -extoff or from the Start Menu: All Programs > Accessories > System Tools > Internet Explorer (No Add-ons)
We don’t recommend using No Add-ons Mode for regular browsing since many important plug-ins such as Flash and Silverlight won’t be allowed to run on the Web sites you visit.
Maintaining the Add-on Ecosystem after IE9
We made great progress addressing add-on reliability issues throughout the IE9 pre-releases via 3rd party outreach and the Upgrade Advisor. Your crash reports enabled us to understand the state of the add-on ecosystem and prioritize the top issues to address first.
Though we’ve released IE9, we will continue to work with add-on vendors to address top crashes due to add-ons and other third-party code. As we identify new incompatible add-ons we’ll ship updates to the Upgrade Advisor list through cumulative security updates so that you can stay in control of IE’s reliability.
Please let us know via blog comments or Connect if you identify any add-on that causes significant reliability issues. Add-on vendors should also feel free to contact us regarding adding an add-on to the Upgrade Advisor list.
—Herman Ng, Program Manager, Internet Explorer