[macios-devel] [android-devel] Signal-chaining & crash reporters
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.
More information about the macios-devel