Open
Bug 865844
Opened 11 years ago
Updated 2 months ago
test_WebGLContextLost from bug 844323 causes assertion failures
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
Tracking
()
NEW
People
(Reporter: justin.lebar+bug, Unassigned)
References
Details
Attachments
(1 file, 1 obsolete file)
See bug 844323 comment 45; this test (currently disabled) causes assertion failures. It's not clear to me yet whether this issue needs to block the landing of bug 844323, but I kind of hope not, since that landing is blocking a lot of other, important B2G work.
Comment 1•11 years ago
|
||
It appears that in RenderFrameParent we hit the path where we can't get a LayerManagerComposite, here: https://mxr.mozilla.org/mozilla-central/source/layout/ipc/RenderFrameParent.cpp#609 with nsContentUtils::LayerManagerForDocument(doc) returning a BasicLayerManager here: https://mxr.mozilla.org/mozilla-central/source/layout/ipc/RenderFrameParent.cpp#481 I don't know yet if we are supposed to get into this code path sometimes or if it always means we ran into an error.
Comment 2•11 years ago
|
||
we don't seem to ever hit the supposedly correct path https://mxr.mozilla.org/mozilla-central/source/layout/ipc/RenderFrameParent.cpp#607 where we have a LayerManagerComposite
Updated•11 years ago
|
Assignee: nobody → nical.bugzilla
Comment 3•11 years ago
|
||
While looking at this bug it turned out that we were always falling back on the "oh darn, we don't have a LayerManagerComposite" code path in RenderFrameParent, so here is a patch that actually queries compositing info (layers backend and max texture size) without needing a layer manager composite. This doesn't solve the problem, though. Now it seems that we are in a different setup in this test than in the regular linux config: we do some IPC stuff and use PuppetWidget but we don't initialize OMTC. And then we still try to use the ClientLayerManager stuff but without a proper omtc setup it crashes in the Client code.
Attachment #744629 -
Flags: review?(ncameron)
Comment 4•11 years ago
|
||
So, I don't know why test_WebGLContextLost uses a different setup than the Cipc/Ripc tests. My understanding is that it also means to run stuff in a b2g-like setup with IPC going on, except that Ripc/Cipc has "browser.tabs.remote" prefed on while test_WebGLContextLost has "dom.mozBrowserFramesEnabled" instead. As a result, Cipc/Ripc initialize OMTC, while test_WebGLContextLost doesn't, even though it uses PuppetWidget that require OMTC. Hence the crash.
Updated•11 years ago
|
Attachment #744629 -
Flags: review?(ncameron) → review?(bas)
Comment 5•11 years ago
|
||
> As a result, Cipc/Ripc initialize OMTC, while test_WebGLContextLost doesn't,
> even though it uses PuppetWidget that require OMTC. Hence the crash.
Actually I take back what I said about OMTC init. It is more about the order of things happening. OMTC is setup in both cases.
Comment 6•11 years ago
|
||
Comment on attachment 744629 [details] [diff] [review] Make some global compositing information accessible without a compositor. Review of attachment 744629 [details] [diff] [review]: ----------------------------------------------------------------- this is a bit outdated, and doesn't fix the problem entirely
Attachment #744629 -
Flags: review?(bas)
Comment 7•11 years ago
|
||
Nical is swamped a bit, I'll find somebody else.
Assignee: nical.bugzilla → milan
Updated•11 years ago
|
Assignee: milan → nical.bugzilla
Updated•5 years ago
|
Assignee: nical.bugzilla → nobody
Updated•2 years ago
|
Severity: normal → S3
Comment hidden (spam) |
Updated•2 months ago
|
Attachment #9385452 -
Attachment is obsolete: true
You need to log in
before you can comment on or make changes to this bug.
Description
•