Fatal assertion: Assertion failure: false (Only operate on BGRA8 surfs.), at gfx/thebes/gfxUtils.cpp:188 -- Opening Inspector on some WebGL containing pages causes the browser to crash

RESOLVED FIXED in Firefox 41

Status

()

Core
Canvas: WebGL
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: mahdi, Assigned: lsalzman)

Tracking

Trunk
mozilla41
Points:
---

Firefox Tracking Flags

(firefox41 fixed)

Details

(Whiteboard: [gfx-noted])

Attachments

(2 attachments)

(Reporter)

Description

3 years ago
Created attachment 8608680 [details]
webgl-crash.log

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0
Build ID: 20150521020354

Steps to reproduce:

This will cause your browser to crash:

Open http://104.131.12.163:3000/
Open inspector

The page uses these libraries: Phaser.js, System.js (to load modules), Nunjucks, Sprint.js, es6-module-loader.js, EventEmitter.js.

And the source is compiled from es6 to es5 using Babel.

I tested on Phaser.js and WebGL demos, neither caused my browser to crash.

If the source code is needed, ask, I hope the team agrees.

Comment 1

3 years ago
Jeff, can you help here? The assertion line seems to have been introduced by you. :-)
Flags: needinfo?(jgilbert)
Summary: Opening Inspector on some WebGL containing pages causes the browser to crash → Fatal assertion: Assertion failure: false (Only operate on BGRA8 surfs.), at gfx/thebes/gfxUtils.cpp:188 -- Opening Inspector on some WebGL containing pages causes the browser to crash
Whiteboard: [gfx-noted]
(Assignee)

Comment 2

3 years ago
Created attachment 8613169 [details] [diff] [review]
only premultiply webgl snapshot pixels if alpha is used"

I couldn't manage to run the testcase, but just eyeballing the code is enough to see how/why this is occurring.

There's no point in premultiplying the snapshot if the context is not using alpha. In that case, it creates a surface of B8G8R8X8, which triggers the assertion. The sane thing to do here, thus, is not to premultiply when that is the case...
Assignee: nobody → lsalzman
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #8613169 - Flags: review?(jgilbert)
Attachment #8613169 - Flags: review?(jgilbert) → review+
(Assignee)

Updated

3 years ago
Keywords: checkin-needed
can we get a try run, thanks!
Flags: needinfo?(lsalzman)
Keywords: checkin-needed
(Assignee)

Comment 4

3 years ago
(In reply to Carsten Book [:Tomcat] from comment #3)
> can we get a try run, thanks!

https://treeherder.mozilla.org/#/jobs?repo=try&revision=2c39507c45ec
Flags: needinfo?(lsalzman)
(Reporter)

Updated

3 years ago
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/d216678de399
Status: NEW → RESOLVED
Last Resolved: 3 years ago
status-firefox41: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Flags: needinfo?(jgilbert)
You need to log in before you can comment on or make changes to this bug.