Debugging

Revision 9 as of 2010-02-15 15:11:28

Clear message

When you want to file a bug, it should be filed upstream using this linux template. Please always include the result of the following command:

dpkg -l | grep chromium-

Debugging Chromium crashes

If chromium crashes and if you want to file a bug upstream, 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: Backtraces with gdb

The debug package for chromium is called chromium-browser-dbg (it's big, ~75MB). 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. Instructions about those are available in DebuggingProgramCrash

Once done, open a terminal and proceed as follow:

chromium-browser --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 http://packages.ubuntu.com/ 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: http://code.google.com/p/chromium/wiki/LinuxDebugging


CategoryDebugging