How to get a backtrace

aajanki edited this page Dec 12, 2012 · 2 revisions

After a crash the most critical piece of information to get is the stack backtrace that shows the call sequence that leads to the issue. First of all make sure you have lightspark's debug symbols installed, either by compiling from source or installing the appropriate debug package for your distribution.

Firefox

You need to temporarily disable out-of-process-plugin execution:

  • Open a new tab in firefox
  • type about:config in the address bar
  • If asked confirm that you know what you are doing
  • Search for dom.ipc.plugins.enabled
  • Double click in the resulting line to toggle the value from true to false
  • Restart firefox

Starting firefox in debugger

Now start firefox from the terminal with the -g option

firefox -g

or run firefox inside a gdb session

gdb --args firefox

and type run and the prompt. When a crash happens the gdb prompt will be available on the terminal. Type bt and post all the output as a bug report on launchpad or pastebin it if it's relevant in a IRC discussion.

Chrome and Chromium

There is no need to disable out-of-process-plugin because Chromium can launch the plugin process inside gdb.

Close all browser windows and restart chromium with

chromium --plugin-launcher='xterm -e gdb --args'

Type run when the prompt appears, and then bt when gdb stop after a crash.