Closed Bug 1376213 Opened 9 years ago Closed 8 years ago

Crash in [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ]

Categories

(Core :: Graphics: WebRender, defect, P3)

x86_64
All
defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- disabled
firefox57 --- fixed

People

(Reporter: jan, Assigned: jerry)

References

(Blocks 2 open bugs)

Details

(Keywords: crash, nightly-community, Whiteboard: [gfx-noted])

Crash Data

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 Build ID: 20170625100343 Steps to reproduce: bp-d46e081e-5997-425b-bfa0-f308a0170625 webrender+webrendest enabled, no gpu-process today on Debian Testing x64 (Radeon RX480).
Severity: normal → critical
Has STR: --- → no
Depends on: wr-stability
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Crash reason: "Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource!"
Crash Signature: [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ]
Whiteboard: [gfx-noted]
Nightly 57 x64 20170813183258 @ Debian Testing (webrender+webrendest+stylo) STR for me: 1. open view-source:https://tobias-kluge.de/css/bootstrap.css 2. get a browser crash > Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource! bp-dba6e69c-4ecc-4e1f-9972-932620170814 bp-ebd69828-67ed-4d94-8acf-413c00170814 bp-18244dbe-4ae5-411d-9438-6aaca0170814
Blocks: 1388995
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #2) > STR for me: > 1. open view-source:https://tobias-kluge.de/css/bootstrap.css > 2. get a browser crash Also on Windows. Nightly 57 x64 20170815100349 @ Windows 10 bp-4ccbf717-ead5-4df5-8b2b-29cdd0170816 bp-b36c8b95-b890-41a4-bda4-fd2900170816 > Crash Reason: EXCEPTION_ILLEGAL_INSTRUCTION but with the same crash stack as on linux.
Status: UNCONFIRMED → NEW
Crash Signature: [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] → [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] [@ webrender::gpu_cache::Texture::push_data ]
Has STR: no → yes
Ever confirmed: true
OS: Linux → All
Version: 56 Branch → Trunk
Nightly 57 x64 20170817100132 @ Debian Testing (layers force accel+webrender+webrendest+blob-images) 1. view-source:https://us.battle.net//d3/en/blog/20976068 2. mark some text 3. grab the scrollbar and move down fast. 4. browser crash bp-911f6bc4-3db4-40a7-947b-cceec0170817 18.08.17 01:26 [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] = this bug bp-1c0b8253-2d14-48a4-8409-6fb070170817 18.08.17 01:26 [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] = this bug bp-67f4e8a2-5ba3-4a47-8ef5-118d00170817 18.08.17 01:25 [@ @0x405b63 ] = not reported, but seems the same like bug 1377113 > Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource!
Assignee: nobody → hshih
Status: NEW → ASSIGNED
The gecko send a big size of glyph array to WR, and WR can't handle this big number of glyph in one batch. Then we have an assert in WR. There are two problem here. a) gecko should not send all glyph data into WR. In this case, gecko send all glyph data to WR even though some glyph is not seen. b) if a page really contain so many glyph on the screen, WR should split this glyph array into several batches.
See Also: → 1377113
See Also: 1377113
See Also: → 1392086
This PR[1] is to address the b) in comment 5. [1] https://github.com/servo/webrender/pull/1597
There is no crash with [1] when I follow the STR in comment 2. [1] https://github.com/servo/webrender/pull/1597
Nightly 57 x64 20170824100243 @ Debian Testing (KDE/Xorg/Radeon RX480) webrender + webrendest + layers-free + blob-image + layers force acceleration (In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #4) > 1. view-source:https://us.battle.net//d3/en/blog/20976068 browser crash just by opening that url bp-11c10d93-c34a-4faa-8924-5d0dd0170825 [@ @0x405f75 ] > Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource! (In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #2) > 1. open view-source:https://tobias-kluge.de/css/bootstrap.css > 2. get a browser crash bp-1a279e27-5190-453d-bea8-96f6b0170825 [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] > Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource! (In reply to Jerry Shih[:jerry] (UTC+8) from comment #8) > Wait for https://github.com/servo/webrender/pull/1597 merged in gecko. I'm looking forward to get the next Nightly and will re-test then.
Crash Signature: [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] [@ webrender::gpu_cache::Texture::push_data ] → [@ mozalloc_abort | abort | webrender::gpu_cache::Texture::push_data ] [@ webrender::gpu_cache::Texture::push_data ] [@ mozalloc_abort | abort | webrender::gpu_cache::{{impl}}::push_data ]
Depends on: 1393468
The https://github.com/servo/webrender/pull/1597 is in gecko now, and I don't see the crash for the STR in comment 2. Hi Jan, Could you try with the nightly again?
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(jan)
Resolution: --- → FIXED
(In reply to Jerry Shih[:jerry] (UTC+8) from comment #11) > The https://github.com/servo/webrender/pull/1597 is in gecko now, and I > don't see the crash for the STR in comment 2. > > Hi Jan, > Could you try with the nightly again? Verified fixed in Nightly 57 x64 20170829100404 @ Debian Testing. STRs in comment 2 and comment 4 do not work anymore. I'll verify Windows and macOS later.
Flags: needinfo?(jan)
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.