Firefox Add-Ons Puzzle

Firefox: Troubleshooting Add-On Issues

If you notice a problem after installing an add-on, there are some fairly simple steps you can take to troubleshoot the issue before contacting the developer. In my experience, problems with add-ons are usually a result of a conflict with 1) a setting in prefs.js, 2) a setting in user.js, 3) another add-on, or 4) something in userchrome.css or usercontent.css. Whatever the case, the following information should help you to troubleshoot the issue.

For the non-techies, here are brief descriptions of some of the Firefox configuration files:

  • prefs.js: This is the main configuration file that controls much of how the browser looks and works. The file exists in the root of your Firefox profile directory. The contents of this file can be viewed and edited by entering “about:config” in the address bar, however you should not typically edit this file directly since your changes can be lost. For troubleshooting purposes however, we will be ignoring that rule of thumb.
  • user.js: This file does not exist until you create it in the root of your Firefox profile directory. Any preferences that you wish to change in prefs.js or about:config that are not available in the Firefox options interface, and which you want to preserve across Firefox updates, should be entered in this file.
  • userChrome.css: This file does not exist until the you create it in the chrome folder of your Firefox profile. userChrome.css is used to modify the appearance of virtually any element in the Firefox user interface.
  • userContent.css: This file does not exist until the you create it in the chrome folder of your Firefox profile.¬†userContent.css can be used to modify the appearance or behavior of web pages.

One helpful asset for troubleshooting add-on related problems is the Firefox console, but this is not always the case. A diagnostic extension such as Preferences Monitor may also be of use. This guide is oriented more towards the novice, which is fitting considering i am no expert myself.

If you suspect an add-on is conflicting with another add-on

  1. Start Firefox and disable all add-ons except the one that is giving you trouble. When enabling or disabling add-ons, you need not restart Firefox until after you have toggled the state of all the add-ons you want to change.
  2. Restart Firefox and verify whether the problem still exists and, if so, then it’s probably not due to another add-on, in which case you can skip the rest of the troubleshooting steps and go to the How to submit a support request to an add-on developer section.
  3. One at a time, enable the other add-ons, restarting Firefox each time if you are asked to do so, until the problem reoccurs. At this point you have likely isolated the conflicting add-ons and can contact each of the respective developers. See the How to submit a support request to an add-on developer section.

If the problem is not related to another add-on

This is where it can get tricky and the following is one method of troubleshooting a problem for those who are not comfortable using the Firefox console, or where the console did not provide any useful information. This method works well and is fairly simple, but can be time consuming. You will need a capable tool for editing your configuration files, such as Notepad++.

The first thing you need to do is exit Firefox and create a new, clean profile and backup your current profile. The easiest way to do this is to rename your current profile, perhaps by adding an underscore to the beginning of the file name, then create a new folder with the same name, less the underscore. Do not copy anything from your backup profile to the new profile.

Next, start Firefox and install only the problematic add-on and verify that the problem still exists. If it does not, which is likely to be the case, then you know the problem is related to something in your old profile. If it does still exist, then it is likely to be the fault of the add-on developer and you can skip the rest of this guide and file a bug report with them. Assuming the former scenario however, you can begin a process of elimination in the following way:

  1. Exit Firefox
  2. One at a time, beginning with prefs.js and then user.js and any chrome configuration files if they exist, copy a single file from your backup profile into your new profile, overwriting any existing file if prompted.
  3. Restart Firefox and check if the problem reappears.
  4. Continue this process until the problem reappears, at which point you will know that the cause lies within the last file that was copied into the new profile.

If the problem lies in one of the configuration files (prefs.js, user.js, userchrome.css, usercontent.css, etc.), then we need to continue the process of elimination to isolate the offending preference or piece of code by following these steps:

  1. Starting at the top of the configuration file, comment out about half of the lines in the file and add a new, blank line below the last commented line to visually separate your commented block from the rest of the preferences. For the prefs.js and user.js, add two forward slashes ( // ) to the beginning of the lines which you can do easily using the column edit mode of Notepad++, or its find and replace function for the selected lines using a regular expression (find: ^ replace: //). For the userChrome.css and userContent.css, your comment will begin /* and end with */ which allows you to comment out large blocks of code easily.
  2. Restart Firefox and test to see if the problem is still present.
  3. Repeat steps 1 and 2, commenting out half of the remaining lines in the configuration file, restarting Firefox and testing until the problem no longer exists.

Once the problem is eliminated we will know that it lies in the last block of code that was commented out. It is now a simple matter to un-comment one line at a time in that block of code, restart Firefox and re-test for the problem until it reappears. Once the offending preference is identified, you should restore your backup profile and edit the relevant configuration file so that the problematic preference is commented out, then restart Firefox and verify that the issue remains resolved. If it does, then we can determine if we want to change the preference setting or file a bug report with the add-on developer. If it does not, then you may have to repeat this whole process, being more careful this time. Also be aware that the problem could be due to a combination of preferences in one of more configuration files, or with other files.

How to submit a support request to an add-on developer

You need to be able provide the developer with the best clues you can to make their job easier. Comments like “it doesn’t work” are utterly useless to a developer. They will need to know what version of Firefox you are running, your operating system flavor and, most importantly, a) a detailed description of the problem and b), the steps necessary to reproduce it, including any relevant website addresses if the issue is site specific.

With that information in hand, you need to find where the developer wants you to submit bug reports. Go to their add-on page at Mozilla and see if a link to a support page is available. If not, see if they offer a support email address. Leave your bug report in the comments only when no other support method is offered.

Leave a Reply

Your email address will not be published. Required fields are marked *