Assertion failure: mFirstFrameRefreshArea.Contains(entry.mDirtyRect), at image/AnimationFrameBuffer.cpp:411
Categories
(Core :: Graphics: ImageLib, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | affected |
People
(Reporter: bc, Unassigned)
References
()
Details
(Keywords: assertion)
Attachments
(1 file)
797 bytes,
text/html
|
Details |
- https://www.reebok.com/us
- Assert Nightly Linux/Windows. May need to reload multiple times.
Manually reproduced on Fedora 30 but not Ubuntu 18.10. Could not reproduce on Fedora with Firefox 69.0.2
Assertion failure: mFirstFrameRefreshArea.Contains(entry.mDirtyRect), at z:/build/build/src/image/AnimationFrameBuffer.cpp:411
#01: mozilla::image::Decoder::AllocateFrameInternal(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::SurfaceFormat,mozilla::Maybe<mozilla::image::AnimationParams> const &,mozilla::image::RawAccessFrameRef &&) [image/Decoder.cpp:342]
#02: mozilla::image::Decoder::AllocateFrame(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::SurfaceFormat,mozilla::Maybe<mozilla::image::AnimationParams> const &) [image/Decoder.cpp:266]
#03: mozilla::image::SurfaceSink::Configure(mozilla::image::SurfaceConfig const &) [image/SurfacePipe.cpp:70]
#04: mozilla::image::BlendAnimationFilter<mozilla::image::SurfaceSink>::Configure<mozilla::image::SurfaceConfig>(mozilla::image::BlendAnimationConfig const &,mozilla::image::SurfaceConfig const &) [image/SurfaceFilters.h:515]
#05: mozilla::image::SurfacePipeFactory::MakePipe<mozilla::image::SwizzleConfig,mozilla::image::BlendAnimationConfig,mozilla::image::SurfaceConfig>(mozilla::image::SwizzleConfig const &,mozilla::image::BlendAnimationConfig const &,mozilla::image::SurfaceConfig const &) [image/SurfacePipeFactory.h:582]
#06: mozilla::image::SurfacePipeFactory::CreateSurfacePipe(mozilla::image::Decoder *,mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::SurfaceFormat,mozilla::gfx::SurfaceFormat,mozilla::Maybe<mozilla::image::AnimationParams> const &,_qcms_transform *,mozilla::image::SurfacePipeFlags) [image/SurfacePipeFactory.h:0]
#07: mozilla::image::nsWebPDecoder::CreateFrame(mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const &) [image/decoders/nsWebPDecoder.cpp:242]
#08: mozilla::image::nsWebPDecoder::ReadSingle(unsigned char const *,unsigned __int64,mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const &) [image/decoders/nsWebPDecoder.cpp:423]
#09: mozilla::image::nsWebPDecoder::ReadMultiple(WebPDemuxer *,bool) [image/decoders/nsWebPDecoder.cpp:546]
#10: mozilla::image::nsWebPDecoder::ReadPayload(WebPDemuxer *,bool) [image/decoders/nsWebPDecoder.cpp:411]
#11: mozilla::image::nsWebPDecoder::ReadHeader(WebPDemuxer *,bool) [image/decoders/nsWebPDecoder.cpp:397]
#12: mozilla::image::nsWebPDecoder::ReadData() [image/decoders/nsWebPDecoder.cpp:0]
#13: mozilla::image::nsWebPDecoder::UpdateBuffer(mozilla::image::SourceBufferIterator &,mozilla::image::SourceBufferIterator::State) [image/decoders/nsWebPDecoder.cpp:0]
#14: mozilla::image::nsWebPDecoder::DoDecode(mozilla::image::SourceBufferIterator &,mozilla::image::IResumable *) [image/decoders/nsWebPDecoder.cpp:110]
#15: mozilla::image::Decoder::Decode(mozilla::image::IResumable *) [image/Decoder.cpp:133]
#16: mozilla::image::AnimationSurfaceProvider::Run() [image/AnimationSurfaceProvider.cpp:212]
#17: mozilla::image::DecodePoolWorker::Run() [image/DecodePool.cpp:272]
Comment 1•5 years ago
|
||
Hmm, I haven't gotten that assert yet, but I've triggered an invalid image size assert, indicating an image with width or height of 0.
Comment 2•5 years ago
|
||
Can reproduce now, seems to be this image
which the server returns a webp depending on how you request it.
Comment 3•5 years ago
|
||
This isn't quite a testcase for the assert, but if you reload it you get two renderings: one with teal on the bottom third of the image, one with white (or transparent) in the bottom third. The image should be the same between the two renderings because the devtools network panel tells me we use the cached file for the image.
Comment 4•5 years ago
|
||
(In reply to Timothy Nikkel (:tnikkel) from comment #3)
Created attachment 9099124 [details]
pp.htmlThis isn't quite a testcase for the assert, but if you reload it you get two renderings: one with teal on the bottom third of the image, one with white (or transparent) in the bottom third. The image should be the same between the two renderings because the devtools network panel tells me we use the cached file for the image.
And that problem reproduces with image.animated.decode-on-demand.threshold-kb set to really high, and image.animated.decode-on-demand.recycle set to false.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•2 years ago
|
Updated•11 months ago
|
Description
•