Debugging guidelines for Mozilla products

This article helps affected users in reporting of Firefox and Thunderbird bugs and ease package maintainers fixing them.

Application crash
Application crash can occur during runtime. Application window simply disappear and bug report dialog will show up. By accepting this dialog crash will be reported to Mozilla crashstat servers. You can see list of submitted crashes on about:crashes page. If you want to report this crash to Fedora bugzilla you need to do few additional steps described in following subsections.

Installing debug info packages
Debug info packages which contains source files are required to create meaningful bug report. To install them you need to execute following command as root: debuginfo-install firefox for Firefox, debuginfo-install thunderbird for Thunderbird.

Running application in debugger
To run application in gnu debugger you need to run command: firefox -g -d gdb for Firefox, thunderbird -g -d gdb After debugger is started which is indicated by line: (gdb) To run program use command: run

Obtain crash stack trace
Then bring application to crash. This should be indicated by (gdb) prompt. Type: set logging on crash_bt thread apply all bt full print DumpJSStack set logging off to store stack and Javascript trace into crash_bt. Don't forget to attach this file to bug report.

Application freeze
If you are able to reproduce freeze you can follow steps. There is only one difference in section where (gdb) prompt is missing. To get prompt you have to press Ctrl-C.

Attach debugger to running application
Before you can attach to running application you need to have debug symbols installed.

When the freeze occurs randomly and/or difficult to predict you can attach to running application when it freezes by: gdb firefox `ps ax|grep firefox/firefox|grep -v grep|cut -d\ -f2` for Firefox. gdb thunderbird `ps ax|grep thunderbird|grep -v grep|cut -d\ -f2` for Thunderbird.

Then you can continue by

Figuring out what is responsible for crash
Some crashes and problems come from installed addons or 3rd party plugins. To determine if that's the case run application with -safe-mode parameter: firefox -safe-mode or thunderbird -safe-mode

Then  needs to be checked and   pressed.

If problem still persist it isn't most likely related to addons or plugins and you can just simply follow instructions in. Otherwise continue to next section.

Reporting addons and plugins issues
For Firefox set your location to about:plugins page. This page contains information about all installed plugins and it may help us in resolving your issue. Save it by File/Save Page As... to file and attach saved file to bug report.

For Thunderbird make screenshot of Tools/Addons/Extensions and Tools/Addons/Plugins, dialogs and attach images to bugzilla.

Attach also output of following commands: rpm -q firefox xulrunner flash-plugin gnash google-talkplugin nspluginwrapper ls /usr/lib64/mozilla/plugins/ ls /usr/lib/mozilla/plugins/

You may also run Firefox or Thunderbird by strace. This help us to track which dynamic libraries are loaded during startup. Strace usage: strace firefox &> strace_output or in case of Thunderbird: strace thunderbird &> strace_output and don't forget to attach created strace_output file to bug report. If application crash or freeze stack trace is also very useful, for instructions see section.

Advanced debugging
TODO

Thanks for your time you spare to reporting bugs!