what about server part of breakpad?

878 views
Skip to first unread message

dot

unread,
Nov 19, 2012, 8:45:22 AM11/19/12
to google-br...@googlegroups.com
I knew of socorro, which is developed by mozilla.
Are there other server implements of processor?

Ted Mielczarek

unread,
Nov 19, 2012, 1:16:12 PM11/19/12
to google-br...@googlegroups.com
On 11/19/2012 8:45 AM, dot wrote:
> I knew of socorro, which is developed by mozilla.
> Are there other server implements of processor?

There's not anything else I'm aware of, other than whatever Google is
using internally. I think the general breakdown is that either you need
all the features of Socorro, or your crash volume is low enough that any
hand-rolled system will be fine.

FWIW, there has been some work to make Socorro more usable for small
deployments, removing the hard dependency on HBase.

-Ted

dot

unread,
Nov 19, 2012, 9:09:42 PM11/19/12
to google-br...@googlegroups.com
Sorry, Ted, I couldn't catch your meaning.
Do you mean that in most time we don't need a system such as socorro?
In fact, I'm working to make socorro running on my machine or just develop one new such system.

在 2012年11月20日星期二UTC+8上午2时16分13秒,Ted Mielczarek写道:

Ted Mielczarek

unread,
Nov 20, 2012, 7:47:26 AM11/20/12
to google-br...@googlegroups.com
On 11/19/2012 9:09 PM, dot wrote:
> Sorry, Ted, I couldn't catch your meaning.
> Do you mean that in most time we don't need a system such as socorro?
> In fact, I'm working to make socorro running on my machine or just
> develop one new such system.

Right, Socorro is great if you need all of its features, like the
ability to handle millions of crashes per day. If you don't, it's not
hard to write a simple CGI that accepts minidumps and runs
minidump_stackwalk on them. If your crash volume is low you can probably
just read all the crash reports you receive.

-Ted

Benjamin Smedberg

unread,
Nov 20, 2012, 8:56:39 AM11/20/12
to google-br...@googlegroups.com, Ted Mielczarek
For example, I had a feature for processing hangs which Socorro isn't
ready to deal with yet. So I wrote my own server code which you can find
here:

https://github.com/bsmedberg/skunky-hangprocessor

It's designed to work on a single machine and store the minidumps on the
filesystem. It runs a single collector:

https://github.com/bsmedberg/skunky-hangprocessor/blob/master/hangprocessor/collector.py

and a single processor:

https://github.com/bsmedberg/skunky-hangprocessor/blob/master/hangprocessor/processor.py

It generates individual reports and daily summaries as flat files.

This system is sufficient for handling about 1000 crashes per day and
could probably scale to 5000 by adding a small amount of
multiprocessing. Its query functionality is very basic, because there
are no databases; all queries are basically per-day map-reduce jobs
which read the processed crash data. But for a small workload, it's a
lot simpler than full socorro.

It really depends on your needs.

--BDS

Vincent Tondellier

unread,
Nov 20, 2012, 10:22:45 AM11/20/12
to google-br...@googlegroups.com
Le lundi 19 novembre 2012 14:45:22, dot a écrit :
> I knew of socorro, which is developed by mozilla.

Socorro is good if you need to process a lot of crash (millions of them), and
run extensive statistics on them, but is hard to install and configure
properly. I haven't checked recently, but when I tried it, it contained
hardcoded references to mozilla products. And there's some displayed data that
is not relevant to non-webbrowser products.

> Are there other server implements of processor?

I have a minimalistic web interface to handle a very small volume of crashs.
It is easy to install (see INSTALL in the tar), but lacks a lot of features.
There is no database, everything is stored on the filesystem, it only lists
the last 20 crashs, the index page is not very useful, and there is no
statistics. Also, there is no processor, collector, etc ..., everything is
done by the web interface.
But the report page is quite complete, it can list all stack frames, and can
link to your VCS viewer (redmine, viewvc, trac, ...), almost like socorro.
Here is a screenshot: http://team1664.org/crashtest/crashtest.png

It is written in perl with Mojolicious, and you can get it here:
http://team1664.org/crashtest/crashtest-0.0.1.tar.gz
(yes, it also lacks a real name !). It can be deployed with any PSGI
compatible web server (see the mojolicious documentation for examples) or the
integrated server. I use nginx + uwsgi.

The crash submitting API is compatible with socorro (I have a small c++ &
libcurl program to submit crashs, if anyone is interested).

If you want to help, I can setup a mercurial/git/whatever repository. The
license is GPL3 for now, but if needed it can be relicensed to BSD or MIT.

dot dot

unread,
Nov 22, 2012, 8:15:06 PM11/22/12
to google-br...@googlegroups.com
Seems like we encountered the same problem that Socorro is difficult to install. One guy working for socorro said that they are trying to make the installation easy.
I'm trying to create one such system which could meet our requirement.


2012/11/20 Vincent Tondellier <tondellier+...@dosisoft.fr>

--



Reply all
Reply to author
Forward
0 new messages