ImprovingDebugging Boston summit 2006 Notes


here are the notes from the Improving debuggin BOF at GNOME summit.

the "live" version is at:


Currently we have a problem: big GNOME deployments + Distributions =
People using binary packages => no debug information => useless
backtraces from bug-buddy

Asking the user to install 100MB of debug info packages is not a solution

So we are going to try a different approach:

   * If the user has debug symbols + gdb get the usual backtrace with gdb
   * If no debugs symbols (most common case), send a minidump file to
a debug server.

Arguments for using minidump format instead a core file:

   * Is smaller than core file
   * We can use airbag for creating them easily and for processing on
the debug server

Using google's airbag project will bring us code for:

   * Installing the segmentation handler
   * Creating the minidump file
   * Processing the minidump file on the server side
   * Having a SymbolStore with all the debug symbols

The code that we need to write is:

   * libgnomeui/whatever code for getting the segmentantion and
dumping the minidump
   * bug-buddy code for sending the minidump to the debug server
   * SymbolProvider infrastructure for getting packages+debug
pakacges from most common distros and storing them in the SymbolStore

The idea is to implement the ?SymbolProvider in python, because we
have nice high-level bingins for managing rpm/deb based distros. Some
code has started to support Fedora distribution.

here is a diagram of the process:

We could implement some kind of filter between debug server and
bugzilla to avoid duplicates.

For crashes on python/mono-managed code we already can send the
exception trace using bug-buddy

We need to ask the foundation for hardware for the debug server (it
would need good bandwitdh and huge ammount of disc space [aprox 7.2 GB
per distro supported]

For suporting testing distros like rawhide we cuold ask distros to
host their own debug server to enrich the backtraces.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]