[android-devel] [macios-devel] Signal-chaining & crash reporters

Rolf Kvinge Rolf.Kvinge at microsoft.com
Fri Sep 16 17:59:55 UTC 2016


> On Sep 16, 2016, at 1:23 PM, Rolf Kvinge <Rolf.Kvinge at microsoft.com> wrote:
> > So mono would install its signal handlers twice?
> 
> I think that could be made to work, but I think it may also be somewhat moot.
> 
> While chatting over the scenario with Rodrigo, an interesting question/point came up:
> 
> Can the 3rd party crash reporters *chain*? That is, if e.g. HockeyApp grabs the SIGSEGV signal, can it invoke the previously registered SIGSEGV handler as part of it’s operation?
> 
> Mono doesn’t necessarily need to be the first signal handler; it just needs to be executed. Thus, the following sequence of events should be fine:
> 
> 	process startup
> 	mono registers SIGSEGV
> 	HockeyApp registers SIGSEGV
> 
> Then, when a SIGSEGV is raised due to e.g. use of a null variable, the HoekcyApp handler will be executed first, at which point it can “chain” to the mono handler, which will raise a NullReferenceException.
> 
> This could result in “false positives” — HockeyApp will “see” SIGSEGVs which aren’t “real” issues — but otherwise it should work.

The app developer would be flooded with crash reports about NullReferenceExceptions (that are false positives), and might have a hard time distinguishing the real crashes from the fake ones.

At the very least it would annoying, and not at all delightful.

Rolf




More information about the android-devel mailing list