Created attachment 557740 [details]
While shutting down, I crashed today trying to report an exception (see the attached stack). What appears to have happened is that during shutdown some sort of "race" in an extension I have caused an exception to be thrown from an nsITimer callback. Reporting the exception in XPConnect tries to get the inner window from the inner window ID. However, we're already far enough into shutdown that the call to nsGlobalWindow::GetInnerWindowWithId crashes because we've already nulled out nsGlobalWindow::sWindowsById.
Created attachment 557745 [details] [diff] [review]
I can see a few ways of fixing this: add the null check here or in nsScriptError or check that we're in shutdown somehow in nsScriptError. I don't have a strong opinion for any of the options though.
I haven't been able to reproduce the crash since the first time, sadly.
Comment on attachment 557745 [details] [diff] [review]