Open
Bug 1188037
Opened 10 years ago
Updated 2 years ago
Need manual graphics testing for OOM conditions
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
NEW
People
(Reporter: vladan, Assigned: jrmuizel)
Details
(Whiteboard: gfx-noted)
Background:
I've been seeing graphics glitches (black tabs, window not repainting) on my various Windows machines very frequently over the last couple of months.
Today, I tried to load a profile in the Gecko profiler while the system was under memory pressure, got a JS "Out of memory" error in the DevTools console, and as soon as I switched to another tab, the tab was completely black and would only repaint portions of the page when I moused over them (similar to past issues). This is very similar to past gfx glitches I've experienced.
about:memory showed that vsize is close to 4GB on this 32-bit Aurora build.
Jeff's suggestion: Manually test how gfx behaves during OOMs and potentially fix or change the behaviour.
I'm in favour of this suggestion, and I would argue that crashing, or asking the user to restart, or even forcefully unloading some of his background tabs is preferrable to bizarre graphics glitches.
Flags: needinfo?(milan)
Comment 1•10 years ago
|
||
Sounds reasonable - what's the best way to get us into the "close to OOM" state? Do we have developer tools for this?
Flags: needinfo?(milan) → needinfo?(vdjeric)
Reporter | ||
Comment 2•10 years ago
|
||
I was able to reproduce Firefox OOM reliably by opening a very brief profile in process-per-tab e10s with a dozen content processes :)
You could also write a toy Firefox extension or even a devtools snippet to allocate a lot of huge JS objects.
Seems like a job for an intern? Yours or mine :)
Flags: needinfo?(vdjeric)
Reporter | ||
Comment 3•10 years ago
|
||
Basically just fork this https://github.com/luser/crashme to allocate a whole bunch of large JS objects until allocations fail
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(milan)
(In reply to Vladan Djeric (:vladan) -- please needinfo! from comment #3)
> Basically just fork this https://github.com/luser/crashme to allocate a
> whole bunch of large JS objects until allocations fail
Or VirtualAlloc if you want to do it on the C++ side of the addon.
Updated•9 years ago
|
Whiteboard: gfx-noted
Assigning to Jeff so that we track any ideas we have on this topic.
Assignee: nobody → jmuizelaar
Flags: needinfo?(milan)
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•