New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 779261 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug


Participants' hotlists:
Hotlist-1


Sign in to add a comment

Two-frame animated GIF of Zoidberg displaying with dropped frame in Chrome

Reported by marga...@alleyinteractive.com, Oct 27 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36

Example URL:
http://www.epigrammatic.org/img/zoidberg.gif

Steps to reproduce the problem:
1. Open that URL
2. View the animated GIF 

What is the expected behavior?
In Safari, opening this GIF in browser displays all frames correctly, and the image of the Zoidberg character from Futurama appears to look left and right rapidly. The attached GIF is the same as is uploaded at that URL, and it consists of solely 2 frames, one of Zoidberg facing left, one of Zoidberg facing right, each set to display for 0.32 seconds. 

What went wrong?
In Chrome, the GIF appears either 1. as a static blank frame or 2. as a static frame of Zoidberg facing to the right. 

Does it occur on multiple sites: Yes

Is it a problem with a plugin? N/A 

Did this work before? Yes Not sure 

Does this work in other browsers? Yes

Chrome version: 62.0.3202.62  Channel: stable
OS Version: OS X 10.12.6
Flash Version: Version 62.0.3202.62 (Official Build) (64-bit)
 
zoidberg.gif
5.0 KB View Download
I can reproduce this - bisecting now.
Labels: -Pri-2 ReleaseBlock-Stable M-63 Pri-1
Owner: scroggo@chromium.org
Status: Assigned (was: Unconfirmed)
I think this was fixed by this patch:

https://chromium.googlesource.com/chromium/src/+/8bf6a886aad1c42210fd16f372097236db34c162

Suggest an M63 merge to fix this in the beta channel.
Also an additional test in case this situation is not yet tested.
Components: -Blink Internals>Images>Codecs
Status: Started (was: Assigned)
I have uploaded https://chromium-review.googlesource.com/c/chromium/src/+/743691. That was created following the instructions for using git drover at https://www.chromium.org/developers/how-tos/drover. (The change does not cherry-pick due to further changes in SegmentStreamTest in https://chromium-review.googlesource.com/720813.)

I have verified that the CL does fix the issue with zoidberg.gif.

The next step I think is to wait for an official approval of doing the merge?

Comment 7 by gov...@chromium.org, Oct 30 2017

[Bulk Edit]
URGENT - PTAL.
M63 Stable promotion is coming soon and your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP. Thank you.

Cc: ranjitkan@chromium.org
Labels: TE-Verified-M64 TE-Verified-64.0.3255.0
Rechecked this issue on Mac 10.12.6 using chrome version 64.0.3254.0 and 64.0.3255.0. Fix is working as intended. Able to view all frames correctly.

Adding TE-Verified labels for M64.
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 1 2017

Labels: merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5

commit a57e28529a8dd63261cb59fe9f21139cb3a0d5e5
Author: Leon Scroggins III <scroggo@google.com>
Date: Wed Nov 01 12:07:49 2017

Cherry-pick 'Reland "Stop building SkCodec"'

Bug:  779261 

This is a reland of fd493b4bc80363d51a4c142ddf287d38e86fc1f5
Original change's description:
> Stop building SkCodec
>
> Bug: 768878
>
> Building SkCodec seems to have caused a paint regression on a webpage
> without any images. This leads us to suspect "some minor compiler
> optimization tickling". Stop building it to confirm. Two CLs rely on
> SkCodec:
>
> "Use SkCodec internally in GIFImageDecoder"
> 4fed3346549a90c0de40c02f6388e19e8151e92a. This introduced building
> SkCodec.
>
> "Enable Skia's SkImageGenerator implementation"
> f5eb27c2b897f206b275fd862e874b64159cc15e. This used SkCodec to fix
>  crbug.com/758459 , but that seems to have been fixed in another way.
>
> In addition, this corrects some formatting in the old code (as
> commanded by presubmit), and makes some other minor changes (no more
> PassRefPtr, FrameDurationAtIndex now returns a TimeDelta).
>
> Change-Id: Ic2bdd87740da0232c9c07e27eed6049efc26d76c
> Reviewed-on: https://chromium-review.googlesource.com/718918
> Commit-Queue: Leon Scroggins <scroggo@chromium.org>
> Reviewed-by: Chris Blume <cblume@chromium.org>
> Reviewed-by: Fredrik Söderquist <fs@opera.com>
> Reviewed-by: Leon Scroggins <scroggo@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#509570}

TBR=scroggo@google.com

(cherry picked from commit 8bf6a886aad1c42210fd16f372097236db34c162)

Bug: 768878
Change-Id: I18ce8032a1154f222d7392ac5a48b4cd5ec31672
Reviewed-on: https://chromium-review.googlesource.com/730484
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@chromium.org>
Commit-Queue: Leon Scroggins <scroggo@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#510847}
Reviewed-on: https://chromium-review.googlesource.com/743691
Cr-Commit-Position: refs/branch-heads/3239@{#332}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/skia/BUILD.gn
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.h
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/ImageFrame.cpp
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/ImageFrame.h
[delete] https://crrev.com/52360f276aaddb9da6087ca6a62e61e60c1ac5a6/third_party/WebKit/Source/platform/image-decoders/SegmentStream.cpp
[delete] https://crrev.com/52360f276aaddb9da6087ca6a62e61e60c1ac5a6/third_party/WebKit/Source/platform/image-decoders/SegmentStream.h
[delete] https://crrev.com/52360f276aaddb9da6087ca6a62e61e60c1ac5a6/third_party/WebKit/Source/platform/image-decoders/SegmentStreamTest.cpp
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.cpp
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoder.h
[modify] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp
[add] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageReader.cpp
[add] https://crrev.com/a57e28529a8dd63261cb59fe9f21139cb3a0d5e5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageReader.h

Issue 780878 has been merged into this issue.
Cc: manoranj...@chromium.org
Labels: M-62 OS-Linux
I've verified this in linux, but not mac.
Mano@ - can you please test this in Windows and Mac?
Labels: TE-Verified-M63 TE-Verified-63.0.3239.32
The above merge (c#9) is working fine on latest M63#63.0.3239.32 for Win10 & Mac OS X 10.13.2 (Beta).
Labels: OS-Windows
And it has already been verified on trunk as per c#8.
Change listed at #9 got merged to M63 without merge request and approval. It is good that change has been verified by TE on M64 and M63. 

scroggo@, could you pls confirm this merge is a safe merge overall?

Next time, please request a merge to M63 and wait for approval.
Re #14: Yes, merge is safe overall. Sorry I did not wait for approval! I saw #7 and thought that meant to submit.
OK, got it. Sorry for the confusion. Thank you.
Status: Fixed (was: Started)
Project Member

Comment 18 by bugdroid1@chromium.org, Nov 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41c9e865d871ffcbc96e9da5bcf40f52968bdef5

commit 41c9e865d871ffcbc96e9da5bcf40f52968bdef5
Author: Leon Scroggins III <scroggo@google.com>
Date: Wed Nov 29 15:27:29 2017

Add a regression test for GIF

We had a bug where GIFs with opaque first frames but transparent later
frames failed to decode. Add a test that confirms it is fixed.

crbug779261.gif is a modified version of gif-loop-count.gif which
triggers the bug by having no transparent index in frame 0 and a valid
(though unused) transparent index in its independent frame 1.

Bug:  779261 
Bug: 780878
Change-Id: I0c07b7105cdf1c17a148e074279b0e3df7235df8
Reviewed-on: https://chromium-review.googlesource.com/753841
Commit-Queue: Leon Scroggins <scroggo@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520119}
[add] https://crrev.com/41c9e865d871ffcbc96e9da5bcf40f52968bdef5/third_party/WebKit/LayoutTests/images/resources/crbug779261.gif
[modify] https://crrev.com/41c9e865d871ffcbc96e9da5bcf40f52968bdef5/third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp

Sign in to add a comment