Bugs

Differences between revisions 68 and 69
Revision 68 as of 2011-10-26 17:56:35
Size: 11136
Comment:
Revision 69 as of 2011-10-26 18:18:28
Size: 12086
Comment:
Deletions are marked like this. Additions are marked like this.
Line 154: Line 154:

== Check the Error Console ==

Some bugs may result in unhandled JS exceptions or other error messages being logged to the error console, and these may provide a strong clue as to the cause of a bug. To view these, open the error console from "Tools -> Web Developer -> Error Console", and select "Errors".

Note, you many need to enable the menuitem to access the error console. To do this, open "about:config", and set "devtools.errorconsole.enabled" to "true"

== For problems with memory usage ==

If you are reporting a bug about excessive memory usage, please copy and paste the contents of "about:memory" in to your bug report, once you have reported this with Apport.

In the future, we hope to automate this step.

Note that debugging memory leaks in Firefox is quite involved. If you're feeling adventurous, please take a look at [[https://developer.mozilla.org/en/Debugging/Debugging_memory_leaks|Debugging memory leaks]]

Reporting Bugs

Introduction

You can help Ubuntu developers improve Firefox and Thunderbird by providing them with useful bug reports. This means that you should provide as much information as possible to describe the bug (please see How to report Bugs)

You may find that you need to use the Terminal for some of these commands. If you are not sure how to use a terminal, please see the Terminal Guide for a basic introduction.

We get a lot of Firefox bug reports from Ubuntu users, and many of those don't contain enough useful information to sufficiently describe the problem or determine the cause of the problem. Please understand that we don't have the manpower available to spend time on every single bug report to continually ask reporters for information that could be provided up-front. To increase the chances that your bug report attracts the attention of a developer, you must follow these guidelines.

Here are some instructions you should follow before filing a bug report:

Use Apport

All Firefox and Thunderbird bugs must be submitted with Apport (unless there is another problem which prevents you from using Apport). For Firefox, you can do this by selecting the "Report a Problem" entry in the Help menu, or pressing Alt+F2 and running ubuntu-bug firefox.

For Thunderbird, please press Alt+F2 and run ubuntu-bug thunderbird.

Using Apport attaches a lot of useful information automatically, and saves time by answering a lot of common questions that developers and bug triagers would normally need to ask. Please do not submit Firefox or Thunderbird bugs using the Launchpad interface. In most cases your bug report will not get any attention at all, and if it does receive any attention this will normally be to close it with a comment asking you to resubmit the bug using Apport. Please don't waste developers or bug triagers time by submitting bug reports using the Launchpad interface.

Try running in safe mode

Some problems are caused by third-party themes, addons and plugins, or customization of hidden preferences in about:config. These customizations can be disabled temporarily by running Firefox or Thunderbird in safe mode.

To run Firefox in safe mode, ensure that you have closed all instances of Firefox, press Alt+F2 and run firefox -safe-mode. To run Thunderbird in safe mode, ensure that you have closed all Thunderbird windows, press Alt+F2 and run thunderbird -safe-mode.

If the problem goes away in safe mode then it is caused by one of your addons or customizations. In this case, please do not report the bug to Launchpad. If you have time, you could try to isolate which addon or customization causes your problem, and contact the developer of the problematic addon.

Link to Mozilla Documentation

Be specific

Try to make sure that the developer will be able to reproduce the bug you are seeing. Provide every detail you can regarding the bug, especially an explicit statement of exactly which sequence of user actions are needed to reproduce the bug.

For problems with specific websites

If a website does not display correctly in Firefox, you must provide the following information where possible:

  • A screenshot clearly showing the problem.
    • Please remember that the problem may not always be obvious to somebody else who isn't familiar with how the website should normally appear. In this case, please describe exactly what is wrong.
    • You probably want to remove personal information from any screenshots.
  • The URL of the page causing the problem (preferably a URL which doesn't require signing in, although we appreciate this is not always possible)

You might be surprised that we do get reports about websites not displaying correctly without any of this basic information provided.

If you have a problem with a website, please also do the following:

  • Try using the website in another (non-Gecko) browser (eg, Chromium or Epiphany).
    • Please state which other browsers you tested when submitting your report.
  • If the website works correctly in other browsers, please provide a screenshot showing what the website should look like.

Crashes

Some things to consider

Please don't assume that just because you experience a crash, that everybody else will be able to easily reproduce it too. All crash reports must be submitted with a complete stacktrace, and a description of the steps required to trigger the crash (if it is reproducible). If the problem occurs on a specific website, please also include a URL.

As an example, these types of reports are not useful, and are unlikely to receive any developer attention at all:

  • Sometimes after I clicked on a link, firefox crashes and the "report this crash to the devellopers" window opens.

...and...

  • Since my automatic upgrade to Mozilla Firefox browser 7.01. I'm not now able to play promotional videos on websites. When attempting to play a video, firefox browser crashes completely .And then you have to restart firefox.

(these are real examples)

Submitting Crashes to Mozilla

The preferred way to submit crash data is to send it directly to Mozilla when the crash dialog appears. To find your submitted crash data, go to about:crashes in the browser. In most cases it isn't necessary to open a bug in Launchpad when you do this, especially if the crash report you submitted is already linked to a bug report in the upstream Bugzilla, or the crash is being experienced on non-Ubuntu systems (eg, other Linux distros, or even Windows or Mac OS). If the crash you submit appears to be unique to Ubuntu and it doesn't have a bug open in the upstream Bugzilla (or you just feel that Ubuntu developers need to be made aware of it), then feel free to open a bug in Launchpad.

If you do open a bug report in Launchpad, you must provide the crash ID of the crash report you submitted.

Run Firefox in a Debugger

Install the necessary debugging symbols

For Firefox:

 sudo apt-get install firefox-dbg

And Thunderbird:

 sudo apt-get install thunderbird-dbg

These symbols will also be useful in most cases for both Firefox and Thunderbird. Please install them:

 sudo apt-get install libgtk2.0-0-dbg libglib2.0-0-dbg  libx11-6-dbg libpango1.0-0-dbg libc6-dbg

After closing all instances of Firefox, start Firefox from the terminal with the following command:

firefox -g 2>&1 | tee ~/tmp/gdb-firefox.txt
... # some output
(gdb) run
... # run and reproduce crash
(gdb) bt full
... # full backtrace output
(gdb) thread apply all backtrace full 
... # all threads full backtrace output
(gdb) quit
  1. Now ~/tmp/gdb-firefox.txt will contain the info we need to initially process your crash bug. So, please attach that file to your bug report.

Please use the same steps for Thunderbird, but replacing "firefox" with "thunderbird" instead.

Problems launching external applications

Ubuntu ships an Apparmor profile with Firefox, but this is disabled by default. If you have problems opening files in external applications from Firefox, or problems with extensions which need to start external helpers, then please make sure that the Apparmor profile is disabled or in complain mode before reporting a bug.

To make sure that the profile is not in enforce mode, run sudo aa-status. You will see output which looks a bit like this:

apparmor module is loaded.
18 profiles are loaded.
18 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/evince
   /usr/bin/evince-previewer
   /usr/bin/evince-thumbnailer
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/cups/backend/cups-pdf
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_java
   /usr/lib/firefox-7.0.1/firefox{,*[^s][^h]}//browser_openjdk
   /usr/lib/lightdm/lightdm-guest-session-wrapper
   /usr/lib/telepathy/mission-control-5
   /usr/lib/telepathy/telepathy-*
   /usr/sbin/cupsd
   /usr/sbin/dhcpd3
   /usr/sbin/mysqld-akonadi
   /usr/sbin/tcpdump
   /usr/share/gdm/guest-session/Xsession
0 profiles are in complain mode.
6 processes have profiles defined.
6 processes are in enforce mode.
   /sbin/dhclient (7094)
   /usr/lib/telepathy/mission-control-5 (2397)
   /usr/lib/telepathy/telepathy-* (4975)
   /usr/lib/telepathy/telepathy-* (7101)
   /usr/lib/telepathy/telepathy-* (7102)
   /usr/sbin/cupsd (1210)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

If there are entries starting with "/usr/lib/firefox" in the section "profiles are in enforce mode", then the Firefox profile has been enabled and set to enforce mode. In this case, please set it to complain mode and try again. To do this, please run sudo aa-complain /usr/bin/firefox. (Note, you will need to install apparmor-utils to do this)

If this works and the particular executable is from a software package in the Ubuntu archive, then we may consider adding an exception to the Apparmor profile. In this case, please report a bug using Apport. If the executable is from 3rd party software outside of the Ubuntu archive, then you will need to either keep the Apparmor profile disabled, or add an exception locally in /etc/apparmor.d/local/usr.bin.firefox.

See AppArmor

Check the Error Console

Some bugs may result in unhandled JS exceptions or other error messages being logged to the error console, and these may provide a strong clue as to the cause of a bug. To view these, open the error console from "Tools -> Web Developer -> Error Console", and select "Errors".

Note, you many need to enable the menuitem to access the error console. To do this, open "about:config", and set "devtools.errorconsole.enabled" to "true"

For problems with memory usage

If you are reporting a bug about excessive memory usage, please copy and paste the contents of "about:memory" in to your bug report, once you have reported this with Apport.

In the future, we hope to automate this step.

Note that debugging memory leaks in Firefox is quite involved. If you're feeling adventurous, please take a look at Debugging memory leaks

Specific issues

XML errors and broken UI after upgrade

After each release, some of our users report bugs that look a bit like this:

 XML Parsing Error: error in processing external entity reference
 Location: jar:file:///usr/lib/firefox/chrome/toolkit.jar!/content/global/netError.xhtml
 Line Number 10, Column 3:  %netErrorDTD;
--^

Other symptoms include missing UI elements after an upgrade or other kinds of XML errors in dialogue boxes or on firefox's stderr.

This is one of the things that typically happens if you don't restart your Firefox after an upgrade. Please do not report this as a bug. There is already a bug report open about this.

Closed Bug Reports

If you find your bug report to be closed, it has been done by someone on our team for specific reasons. If you have a problem or wish to dispute the action, please use the bug report to ask for more information.

Bug Triage and Procedures

Visit BugProcedures for an Introduction and best practices on how to process Mozilla bugs.


CategoryMozillaTeam, CategoryBugSquad, CategoryDebugging

MozillaTeam/Bugs (last edited 2012-11-16 11:57:21 by chrisccoulson)