Slack crashes Firefox ESR w/ gifs
Categories
(Core :: Graphics, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | affected |
firefox55 | --- | wontfix |
firefox56 | --- | fix-optional |
firefox57 | --- | fix-optional |
People
(Reporter: cand, Unassigned)
Details
(Keywords: crash, Whiteboard: [gfx-noted])
Attachments
(1 file)
3.45 KB,
text/plain
|
Details |
Comment 1•7 years ago
|
||
Updated•7 years ago
|
Comment 7•7 years ago
|
||
Comment 8•7 years ago
|
||
Reporter | ||
Comment 10•7 years ago
|
||
Reporter | ||
Comment 11•7 years ago
|
||
Comment 13•7 years ago
|
||
Reporter | ||
Comment 14•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Reporter | ||
Comment 16•5 years ago
|
||
It stopped happening when I added a GB of RAM to my VM (1 to 2 GB). So I believe it's due to FF using a massive amount of RAM to show the gifs -> malloc fails -> FF does not test the pointer and crashes.
At no point were there OOM killer messages in dmesg, so FF must have tried to allocate so much more that Linux straight up said no. The VM did have swap, but a very small amount of it, around 100mb.
Comment 17•5 years ago
|
||
(In reply to cand from comment #16)
It stopped happening when I added a GB of RAM to my VM (1 to 2 GB). So I believe it's due to FF using a massive amount of RAM to show the gifs -> malloc fails -> FF does not test the pointer and crashes.
At no point were there OOM killer messages in dmesg, so FF must have tried to allocate so much more that Linux straight up said no. The VM did have swap, but a very small amount of it, around 100mb.
That sounds more like Linux overcommit behavior. You have more virtual memory than physical memory, which Linux will happily allocate. Then when that memory is actually touched, Linux then triggers the fault on it because it fails to back it. It's not a malloc behavior per se, but a Linux behavior.
It's also possible for a failed malloc to occur somewhere in our code, but most places should either trigger an assertion if that occurred, or be resilient to that situation and fail gracefully. However, the stack trace posted doesn't give us enough to go on to say one way or another.
Thus, I am not sure this bug is actionable at this point.
Comment 18•5 years ago
|
||
We stopped trying to decode every frame in advance with bug 523950 (and some followups). I wouldn't expect to see this anymore.
Description
•