Closed Bug 830475 Opened 8 years ago Closed 6 years ago

Calling nsWindow::GetLayerManager early in startup causes crashing


(Core Graveyard :: Widget: Gonk, defect)

21 Branch
Gonk (Firefox OS)
Not set


(Not tracked)



(Reporter: kats, Unassigned)



Bug 820167 (and soon, bug 826383 which builds upon 820167), adds some code that calls nsWindow::GetLayerManager early in startup. This was causing crashes on Fennec. I fixed the problems on Fennec but in the meantime the code landed with ifdefs to disable it for ANDROID platforms. As it turns out, removing the ifdefs still causes crashes on B2G, so the underlying problem needs to be fixed in B2G as well.

The problem on Fennec (and the same probably applies to B2G) is that GetLayerManager ended up getting called on two different nsWindow instances, and both of them attempted to create the OMTC compositor. The second creation attempt would fail and cause a crash. This is detailed in bug 785597.

For now I plan to change the #ifdef ANDROID to #ifdef MOZ_WIDGET_GONK (see bug 828126) so that we don't regress the fixes applied to Fennec. Once this bug is fixed for B2G the ifdefs can be removed completely.
Also, for the record, I did try to fix this on B2G by applying the same sort of patch that I used on Fennec, but for some reason it didn't quite work. I don't know enough about the B2G widget code to fix this properly.
I don't think this is an issue any more.
Closed: 6 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.