Closed Bug 1442037 Opened 2 years ago Closed 2 years ago

Intermittent image/test/mochitest/test_discardFramesAnimatedImage.html | application crashed [@ mozilla::image::DecoderFactory::CloneAnimationDecoder]

Categories

(Core :: ImageLib, defect, P5, critical)

defect

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox-esr52 --- unaffected
firefox58 --- unaffected
firefox59 --- unaffected
firefox60 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: aosmond)

References

Details

(Keywords: crash, intermittent-failure, Whiteboard: [gfx-noted])

Crash Data

Attachments

(1 file)

Flags: needinfo?(aosmond)
> [task 2018-02-28T20:00:21.607Z] 20:00:21     INFO -  02-28 12:00:04.660 F/MOZ_Assert(  804): Assertion failure: aDecoder->HasAnimation(), at /builds/worker/workspace/build/src/image/DecoderFactory.cpp:232

I've convinced myself it is the assert that is the problem, rather than being indicative of a problem.

Possible sequence of events:
1) Metadata decode determines it is an animated image.
2) We create an AnimationSurfaceProvider and decode enough frames to go over the discard threshold.

3a) We reset the animation, and clone a new decoder. A task is waiting in the decoding task queue.
  OR
3b) Decoding finishes and we clone new decoder. We don't need any more frames at this moment, so we stop decoding and wait for the animation to progress to redecode.

4) Before the decoder gets a chance to run, we reset the animation again. The decoder hasn't produced any metadata and we trip the assert.
Assignee: nobody → aosmond
Status: NEW → ASSIGNED
Depends on: 523950
Flags: needinfo?(aosmond)
Whiteboard: [gfx-noted]
Attachment #8955124 - Flags: review?(tnikkel) → review+
Pushed by aosmond@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3a5462439ead
Fix an incorrect assert in DecoderFactory::CloneAnimationDecoder. r=tnikkel
https://hg.mozilla.org/mozilla-central/rev/3a5462439ead
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.