Bugs

Differences between revisions 65 and 66
Revision 65 as of 2010-11-23 03:16:30
Size: 10963
Editor: cpe-75-81-241-118
Comment: is -> in
Revision 66 as of 2011-07-01 09:50:58
Size: 7363
Editor: 83
Comment: Update wiki for Mozilla crash reporter and gdb debugging
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
=== Using Apport to Submit a crash === === Submitting Crashes to Mozilla ===
Line 47: Line 47:
Follow instructions here [[https://wiki.ubuntu.com/Apport#How%20to%20enable%20apport]] 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. You can provide this crash id in the bug that you reported to Ubuntu.
Line 49: Line 49:
=== Attach Crash data to open bugs using apport ===

=== Obtain a backtrace from an apport crash report (using gdb) ===
=== Run Firefox in a Debugger ===
Line 64: Line 62:
Copy and paste in a xterm the following command:

{{{
TMPDIR=$(mktemp -d)
apport-unpack /var/crash/_usr_lib_firefox_firefox-bin.1000.crash $TMPDIR
gdb -nx /usr/lib/firefox/firefox-bin -core $TMPDIR/CoreDump -ex 'backtrace full' -ex 'thread apply all backtrace full' -ex 'quit' 2>&1 | tee gdb.log
rm -fr $TMPDIR
}}}

That command will run gdb against the coredump file included in the crash report that was generated when firefox crashed.

Upload the resulting gdb.log to launchpad.

One good thing to do is looking at the gdb output and search for missing dbg libraries or other warnings, install them and run again gdb.

'''NOTE''' Please don't copy and paste the backtrace or text results to bug report if you can avoid it! We would prefer you attach them as text files - this way we can read them more easily and it won't make the page ridiculously long.

=== Run Firefox in a Debugger ===

==== Firefox-3.5 ====

If you had a crash, provide exact steps to reproduce the crash. If you cannot reproduce the crash, provide details of exactly what you were doing prior to the crash. Then, follow these steps:

 1. Install debugging symbols by typing the following in a terminal (or install it with Adept or Synaptic): {{{
# sudo apt-get install firefox-3.5-dbg \
     xulrunner-1.9.1-dbg \
     libgtk2.0-0-dbg \
     libnss3-1d-dbg \
     libnspr4-0d-dbg \
     libpango1.0-0-dbg \
     libcairo2-dbg \
     libc6-dbg
}}}
Line 99: Line 63:
gdb /usr/lib/firefox-3*/firefox 2>&1 | tee /tmp/gdb-firefox.txt
... # someoutput
(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
}}}

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.


==== Firefox-3.0 ====

Note the below instructions for this section do not work for Ubuntu Hardy users running Firefox3 betas. These users will receive "Couldn't find package firefox-dbg" because there is no dbg package created yet for Firefox3 beta users. As of now Firefox-3.0 users will need to use the following repos to get firefox-3.0-dbgsym and xulrunner-1.9-dbgsym: {{{
deb http://ddebs.ubuntu.com jaunty main universe
deb http://ddebs.ubuntu.com jaunty-updates main universe
deb http://ddebs.ubuntu.com jaunty-proposed main universe
deb http://ddebs.ubuntu.com jaunty-security main universe
}}}

If you had a crash, provide exact steps to reproduce the crash. If you cannot reproduce the crash, provide details of exactly what you were doing prior to the crash. Then, follow these steps:

 1. Install debugging symbols by typing the following in a terminal (or install it with Adept or Synaptic): {{{
# sudo apt-get install firefox-3.0-dbgsym \
     xulrunner-1.9-dbgsym \
     libgtk2.0-0-dbg \
     libnss3-1d-dbgsym \
     libnspr4-0d-dbg \
     libpango1.0-0-dbg \
     libcairo2-dbg \
     libc6-dbg
}}}

After closing all instances of Firefox, start Firefox from the terminal with the following command: {{{
gdb /usr/lib/firefox-3*/firefox 2>&1 | tee /tmp/gdb-firefox.txt
... # someoutput
(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
}}}

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.

==== Firefox-2.0 ====

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

Reporting Bugs

Introduction

You can help Ubuntu developers fix Firefox and make the software better by providing them with useful bug reports. Please realize that we need enough information to confirm it as a *bug* so the initial report must have enough for us to do that. Please see the following link on How to report Bugs

You will find that you may 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.

Here are some instructions you should follow before filing a bug report on Firefox on Launchpad.net:

Try with a new profile

Many bad Firefox behaviors are in fact caused by one of the many third-party 'themes', 'extensions' and 'plugins'. These will go away with a new profile - that is, when Firefox is restored to default settings and without any extensions and themes.

Problems with corrupt profiles are not handled in bug reports: if your problem went away with a new profile, please do not report the problem as a bug.

Start Firefox by entering the following command in a terminal: firefox -ProfileManager. You should now see the Profile Manager window.

Important note: From the Profile Manager you are also able to remove and rename profiles. Be very careful when deleting profiles, if you created the profile in a directory that already existed, the entire directory will be removed!

Click on the 'Create Profile...' button to start the 'Create Profile Wizard'. Click 'Next' and enter a descriptive name for the new profile. Click Finish to have Firefox create the new profile. You should now be taken back to the Profile Manager and the newly created profile should be listed. Select it and click 'Start Firefox'. Try to reproduce the bug with this new profile.

Note: you can go back to your own profile by starting Firefox using the command firefox -ProfileManager again, selecting your own profile, and clicking on 'Start Firefox'.

Link to Mozilla Documentation (Source)

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.

Use the terminal

Start Firefox from a terminal by running firefox. Now you can either run (((firefox 2>&1 | tee /tmp/firefox-errors.txt))) than attach it to bug report you fill find it in /tmp/ dir in filesystem. or you can create a new text file and copy-paste the output in that file, and attach it to your bug report as an attachment. Note this only works on Firefox 2.0.x; the latest Firefox 3 betas do not leave errors in terminal.

Specific Websites

If you are having a problem with a website, please include its link, along with the exact problem you experienced on the site. We would truly appreciate if you can also take the time to isolate what on the page is triggering the bug, and include it as an HTML snippet in the bug report if possible. Something else that would be helpful is a screen shot of the problem you are seeing. You may also want to to try reproducing it with Epiphany-browser or a non-xulrunner browser like Konqueror or if you'd rather not install KDE libs or other parts on you Gnome you can try using Galeon.

Crashes

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. You can provide this crash id in the bug that you reported to Ubuntu.

Run Firefox in a Debugger

Install the debugging symbols for firefox (and some other dbg packages like in above point):

 apt-get install firefox-dbg
 apt-get install libgtk2.0-0-dbg \
     libnss3-0d-dbg \
     libnspr4-0d-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.

Thunderbird-3.0

If you had a crash, provide exact steps to reproduce the crash. If you cannot reproduce the crash, provide details of exactly what you were doing prior to the crash. Then, follow these steps:

  1. Install debugging symbols by typing the following in a terminal (or install it with Adept or Synaptic):

    # sudo apt-get install thunderbird-3.0-dbg \
         libgtk2.0-0-dbg \
         libnss3-1d-dbg \
         libnspr4-0d-dbg \
         libpango1.0-0-dbg \
         libcairo2-dbg \
         libc6-dbg

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

gdb /usr/lib/thunderbird-3*/thunderbird 2>&1 | tee /tmp/gdb-thunderbird.txt
... # someoutput
(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

Now ~/tmp/gdb-thunderbird.txt will contain the info we need to initially process your crash bug. So, please attach that file to your bug report.

Specific issues

XML errors and broken UI after upgrade

After each release (eg Ubuntu Dapper 6.06, Edgy 6.10 and so on), 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. (We think it's a bug that you have to restart it but sadly it's beyond our resources to fix it.)

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)