Translation(s): none

Debugging Chromium crashes

If chromium crashes you need to provide a proper backtrace for your crash.

It could be accomplished using gdb and some debug packages.

If you know nothing about gdb, the generic instructions are available here: HowToGetABacktrace

The debug package for chromium is called chromium-dbg (it's really big, ~700MB). It could be installed and removed like any other packages.

Note: you may need other debug packages if the backtrace shows lines like "#5 0x083949e0 in ?? ()". In that case, you need the corresponding -dbg or -dbgsym packages.

Once done, open a terminal and proceed as follow:

chromium --debug 2>&1 | tee gdb-chromium.txt
(gdb) handle SIG33 pass nostop noprint
(gdb) set pagination 0
(gdb) run <arguments, if any>

do what you need to do to trigger the crash, then:

(gdb) backtrace
(gdb) thread apply all backtrace
(gdb) quit

Check the file gdb-chromium.txt to see if it contains symbols (as few "?? ()" as possible). If not, please locate and install the missing debug package(s) and retry.

Note: ldd /usr/lib/chromium-browser/chromium-browser could give you a clue of which libs are loaded, and could tell you in which package they live.

Once you feel it's good enough, you may attach the file gdb-chromium.txt to your bug report.

Note: since chromium is multi-process (it spawns several processes, such as the sandbox and all renderers), the stack may be useless, depending on where the crash occurs. You can then try with --single-process (after --debug). If it is still not enough, you can try inferring from the upstream chrome debugging tips:

Debugging GTK Warnings

You can turn a Gtk warning into a crash using the G_DEBUG variable and get a backtrace as above; see the upstream debugging tips for details.

It’s probably worth installing the debugging symbol packages libglib2.0-0-dbg and libgtk2.0-0-dbg when doing this.