Closed Bug 782411 Opened 12 years ago Closed 12 years ago

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

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17

People

(Reporter: djf, Assigned: cjones)

Details

Attachments

(1 file)

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
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?
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
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).
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.
Donovan reports that this works around the bug.
Assignee: nobody → jones.chris.g
Attachment #652543 - Flags: review?(ajuma.bugzilla)
Attachment #652543 - Flags: review?(ajuma.bugzilla) → review+
https://hg.mozilla.org/mozilla-central/rev/957cd281bbba
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: