Last Comment Bug 782411 - OOP apps display blank white screen in b2g desktop if jsconsole is displayed
: OOP apps display blank white screen in b2g desktop if jsconsole is displayed
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Graphics: Layers (show other bugs)
: unspecified
: x86 Mac OS X
: -- normal (vote)
: mozilla17
Assigned To: Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-13 14:02 PDT by David Flanagan [:djf]
Modified: 2012-08-18 04:26 PDT (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Work around having multiple compositors when -jsconsole is used (1.15 KB, patch)
2012-08-16 13:28 PDT, Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
ajuma.bugzilla: review+
Details | Diff | Review

Description David Flanagan [:djf] 2012-08-13 14:02:31 PDT
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.
Comment 1 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-08-13 16:44:41 PDT
Something is apparently broken in the cross-process+cross-thread composition pipeline on mac.
Comment 2 Ali Juma [:ajuma] 2012-08-14 07:51:25 PDT
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?
Comment 3 David Flanagan [:djf] 2012-08-14 10:01:02 PDT
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 Ali Juma [:ajuma] 2012-08-14 10:27:47 PDT
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).
Comment 5 David Flanagan [:djf] 2012-08-14 10:35:55 PDT
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.
Comment 6 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-08-15 03:22:25 PDT
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.
Comment 7 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-08-16 13:28:31 PDT
Created attachment 652543 [details] [diff] [review]
Work around having multiple compositors when -jsconsole is used

Donovan reports that this works around the bug.
Comment 8 Ryan VanderMeulen [:RyanVM] 2012-08-18 04:26:43 PDT
https://hg.mozilla.org/mozilla-central/rev/957cd281bbba

Note You need to log in before you can comment on or make changes to this bug.