On Mon, 2008-06-23 at 13:22 -0400, Colin Walters wrote:
Breakpad: Used by Firefox and various Google applications. Based on
a
shared library linked into processes which catches SIGSEGV and submits
a report via HTTP.
Format:
http://code.google.com/p/google-breakpad/wiki/ProcessorDesign
One nice thing is that Mozilla has a lot of investment in a free
software scalable processing server called "Socorro":
http://code.google.com/p/socorro
GNOME is using breakpad/socorro and has a server up:
http://blogs.gnome.org/ovitters/2007/10/06/crash-gnome-org/
They were prototyping it using Fedora, and I believe bug-buddy which
is linked into all GTK+ programs uses breakpad and sends to
crash.gnome.org by default.
* Possibly replace breakpad library linking by using utrace+system
service (right?)
If I remember right, the reason for this part of the discussion was:
1) Linking everything on the system to breakpad is a bit nasty.
2) Apport doesn't need to be linked in, but it runs *after* the process
gets dumped by the kernel. At which point it's slightly different from
when it actually crashed.
pjones' idea was to have a system service that would receive
notification of segfaults and use utrace to stop the process and
generate a (breakpad-style report).
* Create debuginfo DAV server and pull debuginfo data dynamically
(what are the download requirements? does this replace gdb's
"debuginfo-install" display?)
It would make the 'debuginfo-install' message go away, because (if DAV +
FUSE does the right thing) you'll have all the debuginfo you need, in
the right place - mounted as a FUSE filesystem.
It requires some trickery with the web server to keep from *actually*
unpacking all the debuginfo packages in existence (something like ~5T of
data?) but Peter was working on a proof-of-concept at FUDCon.
My 2¢ - Link in breakpad, create
http://crash.fedoraproject.org
running Socorro.
Link it into what? Everything, via LD_PRELOAD? Or just GNOME stuff? I
thought bug-buddy already used breakpad?
Oh, and don't forget that we need the debuginfo server (which I think
Peter has been calling "littlebottom" to make these reports useful.
Investigate either submitting reports to Mozilla as well for Firefox
or create a system where our Socorro pushes reports to theirs.
The latter seems like the Right Thing, but it depends on the previous
actions. I wonder how caillon would feel about getting Firefox doing
reports to Mozilla in the meantime.
Longer term investigate utrace system service instead of having
apps
link to breakpad (this gets us non-desktop system crashes without
having to universally LD_PRELOAD or whatever).
Yeah, I don't think we need to solve this until we've got the
proof-of-concept stack: a couple of choice apps sending Breakpad reports
(with debuginfo fetched from littlebottom) to our own Socorro instance.
-w