[Adium-devl] Better bug reporting statistics
Ofri Wolfus
ofri.wolfus at gmail.com
Thu Aug 2 08:49:11 UTC 2007
As some of you may remember, I once tried to write a generic crash
reporter. It tried, like adium's burning duck, to get triggered just
before the app terminates. This approach lets you do a lot of fun
stuff, but forces you to constantly fight with Apple's crash reporter
if you don't want it to show up.
Apple's crash reporter watches for mach exceptions, so it's possible
to make it ignore your app but then you have to generate your own
stack traces and so on. Other tricks to shut it up are usually bad,
like SCR's input manager or the burning duck's periodically sending
it a quit message. Trying to install a custom signal handler will not
trigger your code fast enough, which is what makes the burning dock
sometimes pop together with Apple's reporter.
If I had to build a crash reporter today I'd go with a next launch
approach. When the app launches it looks for a crash log in the
user's logs directory, and if it finds one it offers submitting it.
It's the safest approach (and also the easiest).
I'll be happy to share the code I have under BSD license if anyone's
interested. It's capable of grabbing NSLogs from console, take
screenshots of visible windows and grab other general info about the
machine. But like I said, it counts on being executed just before the
app terminates. Maybe if breakpad can generate crash logs for us we
can combine the two...
- Ofri
- - - - - - - - - - - - - - - - - - -
http://www.dpompa.com
- - - - - - - - - - - - - - - - - - -
On 02/08/2007, at 00:02, David Smith wrote:
> One nice easy one for someone interested (I forgot about it last
> night when I had some time for once. dang.) would be to track number
> of crashes since the last sparkle submission, and number of hours run
> in the same period. That would get us MTBF numbers so we could at
> least tell which direction stability was headed.
>
> Long term I think crash reporting is so valuable and general purpose
> that we need an equivalent to Sparkle (or equivalent to SCR without
> using input managers). Something nicely encapsulated that we can drop
> into any project and get instant crash reports. Doing this as an
> Adium-specific project would be doing the Mac community a disservice.
> My research so far indicates that google breakpad is the obvious
> choice for a backend (with access to all of Mozilla's serverside
> tools built to go with it, see http://crash-stats.mozilla.com/ for an
> early version), but I'm open to other suggestions.
>
> David
>
> On Aug 1, 2007, at 1:54 PM, Chris Forsythe wrote:
>
>> Before I quit irc again (9th time, and it's sticking so far!),
>> David and
>> I were discussing our crash logger options. Breakpad gets brought
>> up a
>> lot, but in general we've been floating around a few different
>> things.
>> The idea for 1.1 was soc2006, and 1.2 is soc2007. I'd like 1.3 to
>> focus
>> on getting better crash reporting statistics, but that's just me.
>> What
>> does everyone think about making a concerted effort for getting
>> better
>> crash log stats in 1.3 so that we can start working better on
>> those in
>> general and have a better idea of longterm changes in code being
>> effective for crash prevention/resolution?
>>
>> Chris
>>
>> _______________________________________________
>> Adium-devl mailing list
>> Adium-devl at adiumx.com
>> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
>
>
> _______________________________________________
> Adium-devl mailing list
> Adium-devl at adiumx.com
> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070802/0620814b/attachment-0001.html>
More information about the devel
mailing list