Closed Bug 782413 Opened 12 years ago Closed 12 years ago

b2g fails to initialize widget starting with m-c commit 75cdb3f932c6

Categories

(Core Graveyard :: Widget: Gonk, defect)

All
Gonk (Firefox OS)
defect
Not set
blocker

Tracking

(blocking-basecamp:+)

RESOLVED FIXED
blocking-basecamp +

People

(Reporter: jgriffin, Assigned: mattwoodrow)

References

Details

Attachments

(2 files)

Beginning with m-c commit 75cdb3f932c6 (https://hg.mozilla.org/mozilla-central/pushloghtml?startID=23268&endID=23269), the emulator fails to boot.  It shows only a white screen, and B2G never loads.

Logcat shows:

I/ServiceManager(   42): Waiting for service batteryinfo...
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Idle
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Checking
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Idle
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Checking
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Idle
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Checking
I/nsVolumeService(   42): UpdateVolumeRunnable::Run 'sdcard' state Idle
I/ServiceManager(   42): Waiting for service batteryinfo...
I/Gecko   (   42): Logging GL tracing output to /system/b2g/firefox.trace
I/Gecko   (   42): Attempting load of /data/local/egltrace.so
I/Gecko   (   42): Attempting load of libEGL.so
D/libEGL  (   42): loaded /system/lib/egl/libEGL_emulation.so
D/        (   42): HostConnection::get() New Host Connection established 0x9c8370, tid 82
D/libEGL  (   42): loaded /system/lib/egl/libGLESv1_CM_emulation.so
D/libEGL  (   42): loaded /system/lib/egl/libGLESv2_emulation.so
I/ServiceManager(   42): Waiting for service batteryinfo...
E/EGL_emulation(   42): tid 82: eglCreatePbufferSurface(682): error 0x3009 (EGL_BAD_MATCH)
E/GeckoConsole(   42): OpenGL LayerManager Initialized Succesfully.
E/GeckoConsole(   42): Version: OpenGL ES 2.0 (2.1 Mesa 7.11)
E/GeckoConsole(   42): Vendor: Google (Mesa Project)
E/GeckoConsole(   42): Renderer: Android Emulator OpenGL ES Translator (Software Rasterizer)
E/GeckoConsole(   42): FBO Texture Target: TEXTURE_2D
I/GeckoDump(   42): Opened socket on 9999
I/ServiceManager(   42): Waiting for service batteryinfo...
I/Gecko   (   42): RIL Worker: DateTimeZone string 12/08/13:21:01:42-28:1:America!Los_Angeles
W/AudioFlinger(   37): Thread AudioOut_1 cannot connect to the power manager service

This blocks all CI testing.
blocking-basecamp: --- → ?
Attached file full logcat
This affects all b2g builds, not just the emulator.
Severity: normal → blocker
blocking-basecamp: ? → +
Component: General → Widget: Gonk
Product: Boot2Gecko → Core
Summary: emulator fails to boot starting with m-c commit 75cdb3f932c6 → b2g fails to initialize widget starting with m-c commit 75cdb3f932c6
Assignee: nobody → matt.woodrow
So, this makes me kinda sad.

It appears that the gonk widget code only tracks the widget that was most recently invalidated, and then only paints that. This seems horribly fragile, since any changes in the way we flush invalidates to widgets could result in us attempting to draw the wrong one?

In this case, we now attempt to paint at the same time as we flush the invalidates, so we were painting all the widgets, not just one. Attempting to create multiple compositors doesn't work at all, but the widget code doesn't really stop or warn us.

Anyway, this patch just lets the first paint continue as it used to, so we just one of the widgets set up with a LayerManager. Then it uses that to determine which widget we actually want to paint from then on.
Attachment #651600 - Flags: review?(jones.chris.g)
The gonk widget backend really only supports one toplevel widget.  We should stop pretending otherwise and fix up the things causing us to create more than one.
Comment on attachment 651600 [details] [diff] [review]
Only paint widgets that have a layer manager

Let's get this landed on m-c, statim.
Attachment #651600 - Flags: review?(jones.chris.g) → review+
Emergency bustage fix that needed to go directly to m-c.

https://hg.mozilla.org/mozilla-central/rev/22f6adf8685b
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Depends on: 783449
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: