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

Jonathan Pryor jonpryor at vt.edu
Fri Sep 16 17:39:07 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.

 - Jon

More information about the android-devel mailing list