animated GIF not looping |
|||
Issue descriptionhttp://i.imgur.com/pQT0l.jpg Despite the .jpg file extension, you can look at a hexedit of the file and see it is a gif. imgur is not sending a mime type. The image seems to indicate it should loop forever[1] but it seems to only display one pass and then go blank. [1] hexdump line of interest: 00000310: 4e45 5453 4341 5045 322e 3003 0100 0000 NETSCAPE2.0..... 00000320: 21f9 0405 0f00 fe00 2c00 0000 0056 0500 !.......,....V.. On the first line, after "3003 01" are "00 00". Those 16 bits are the loop count. 0 means infinite.
,
Oct 31 2016
Definitely weird that it behaves differently between Mac and Win. My guess was that it was the same as issue 267883, but that doesn't explain the platform difference.
,
Oct 31 2016
I completely agree. I tried opening the file with my personal copy of Photoshop at home and Photoshop said the file had an error in it. I suspect there is a problem with the file. But like you said, I can't make sense of the platform difference.
,
Oct 31 2016
I just tried Linux ToT 56.0.2906.0 (Developer Build) (64-bit) and it loops correctly. However, Linux 53.0.2785.143 (Developer Build) (32-bit) did not loop correctly. I suspect the platform difference is because something got cherry-picked into the Mac release but didn't make it in time for the Windows release. But I feel better knowing that Linux ToT is working. I'll try Windows ToT. My current guess as to the cause was me purging before the current frame is completed. https://crbug.com/652046
,
Oct 31 2016
Windows ToT is working. Either this has been fixed since M54 or it is based on transient behavior like image cache. I don't want to close this until I'm certain. I'll do a bisect next.
,
Nov 1 2016
I just did a bisect between 53.0.2785.143 (I can see this is version is bad -- this is what I'm using as a daily driver right now) and ToT 56.0.2906.0 on linux64. Both worked correctly when bisecting. But I know this version of 53 is bad. So I believe this is a transient issue. It may be related to memory pressure, perhaps? When bisecting / building I had no memory pressure on the fresh run. And my daily driver has more memory pressure, since it is filled to the brim with tabs. Maybe this has to do with the image cache?
,
Nov 8 2016
I'm putting this on the back-burner for now. The issue is not easy to reproduce with a fresh build and only effects malformed gifs. So it will be difficult and isn't a common problem. That gives it a very low priority.
,
Nov 8 2016
,
Jul 5 2017
> So I believe this is a transient issue. It may be related to memory pressure, > perhaps? When bisecting / building I had no memory pressure on the fresh run. > And my daily driver has more memory pressure, since it is filled to the brim > with tabs. Maybe this has to do with the image cache? This could definitely be related to memory pressure - if we're unable to allocate memory for a frame, we call SetFailed. If we've failed, we don't try to loop (see GIFImageDecoder::RepetitionCount()). So we draw the blank frame that wasn't allocated, and then don't try to do anything further. > The issue is not easy to reproduce with a fresh build and only effects malformed gifs. If my hunch is correct, this doesn't have anything to do with the fact that the gif is malformed. (And it looks to me like the only problem is that it's missing the trailing 3B.) But the fact that it is very large does make a difference. > So it will be difficult and isn't a common problem. That gives it a very low priority. I recommend even lower - WontFix
,
Jul 5 2017
I completely agree with your analysis. Good thinking. |
|||
►
Sign in to add a comment |
|||
Comment 1 by cblume@chromium.org
, Oct 31 2016