The default bug view has changed. See this FAQ.

OOP apps display blank white screen in b2g desktop if jsconsole is displayed

RESOLVED FIXED in mozilla17

Status

()

Core
Graphics: Layers
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: djf, Assigned: cjones)

Tracking

unspecified
mozilla17
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
On B2G desktop builds (on MacOS only, I think) OOP processes (such as Calendar and Calculator) just show a plain white rectangle.

The app is actually running, however... If you press and hold Home, the task switcher view shows a small non-white version of the app.

This bug appeared at the same time as #780920, and I suspect it is another manifestation of the same underlying regression.

This bug might also be related to #781000 because it shares the "main app window doesn't have the right content, but it shows up correctly in the task switcher" problem.
Something is apparently broken in the cross-process+cross-thread composition pipeline on mac.
Component: General → Graphics: Layers
Product: Boot2Gecko → Core

Comment 2

5 years ago
I'm unable to reproduce this on MacOS. Calendar and Calculator do indeed run OOP, but they render correctly. Do I need to set any non-default prefs?
(Reporter)

Comment 3

5 years ago
I can still reproduce this this morning.  I'm using MacOS 10.6.8.  I don't think I've got any non-default prefs.

Steps:

1) Download B2G from https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/b2g-17.0a1.en-US.mac64.dmg.  Drag the app to my desktop.
2) cd to my Gaia repo
3) rm -rf profile   # just to be sure
4) DEBUG=1 make
5) ~/Desktop/B2G.app/Contents/MacOS/b2g -jsconsole -profile /Users/djf/Gaia/gaia/profile
6) launch calculator, calendar, crystal skull
7) all three give blank white windows
8) Press and hold home button, see non-blank icons for the three apps

Comment 4

5 years ago
I can reproduce if I include the '-jsconsole' argument (as in Step 5 above). However, if that argument is omitted, I can no longer reproduce. So my guess is that the presence of an additional compositor (for the Error Console window) is causing confusion (e.g. perhaps the OOP content is being pushed to the wrong compositor).
(Reporter)

Comment 5

5 years ago
Crazy! I've updated the title to reflect the -jsconsole requirement to reproduce.
It seems like that ought to be a really useful clue for getting this diagnosed and fixed.
Summary: OOP apps display blank white screen in b2g desktop → OOP apps display blank white screen in b2g desktop if jsconsole is displayed
I would bet that changing this http://mxr.mozilla.org/mozilla-central/source/gfx/layers/ipc/CompositorParent.cpp#156

  sCurrentCompositor = this;

to

  if (!sCurrentCompositor) {
    sCurrentCompositor = this;
  }

works around this bug.
Created attachment 652543 [details] [diff] [review]
Work around having multiple compositors when -jsconsole is used

Donovan reports that this works around the bug.
Assignee: nobody → jones.chris.g
Attachment #652543 - Flags: review?(ajuma.bugzilla)

Updated

5 years ago
Attachment #652543 - Flags: review?(ajuma.bugzilla) → review+
https://hg.mozilla.org/mozilla-central/rev/957cd281bbba
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
You need to log in before you can comment on or make changes to this bug.