Closed Bug 1315863 Opened 4 years ago Closed 4 years ago

Flickering sync icon in menu

Categories

(Core :: ImageLib, defect, P3)

52 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla53
Tracking Status
firefox49 --- wontfix
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- verified
firefox53 --- verified

People

(Reporter: winson.wen1, Assigned: aosmond)

References

Details

(Keywords: regression, Whiteboard: [gfx-noted])

Attachments

(1 file, 1 obsolete file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20161107030203

Steps to reproduce:

Sign in to Firefox sync
Sync Firefox


Actual results:

Animated sync icon in Firefox menu is flickering when animating.


Expected results:

Icon animates without flickering.
Using Mozregression-gui spat out this:

app_name: firefox
build_date: 2016-10-26 16:39:52.768000
build_file: C:\Users\Winson Wen\.mozilla\mozregression\persist\a27012791c9e--mozilla-inbound--firefox-52.0a1.en-US.win64.zip
build_type: inbound
build_url: https://queue.taskcluster.net/v1/task/NbAnpFt6SGS2ZLbEgFfv0A/runs/0/artifacts/public%2Fbuild%2Ffirefox-52.0a1.en-US.win64.zip
changeset: a27012791c9ed666cddc0e18be775d7e42bd2df0
pushlog_url: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=d26ac63f1b81c3fce35448a7c502e95e0b5c56c0&tochange=a27012791c9ed666cddc0e18be775d7e42bd2df0
repo_name: mozilla-inbound
repo_url: https://hg.mozilla.org/integration/mozilla-inbound
task_id: NbAnpFt6SGS2ZLbEgFfv0A
Can you type "about:support" into the URL Bar and copy & paste your Graphics information.
Component: Untriaged → Graphics
Flags: needinfo?(winson.wen1)
Keywords: regression
Product: Firefox → Core
Graphics
Features
Compositing	Direct3D 11
Asynchronous Pan/Zoom	wheel input enabled; touch input enabled
WebGL Renderer	Google Inc. -- ANGLE (Intel(R) HD Graphics Direct3D11 vs_4_1 ps_4_1)
WebGL2 Renderer	Google Inc. -- ANGLE (Intel(R) HD Graphics Direct3D11 vs_4_1 ps_4_1)
Hardware H264 Decoding	Yes; D3D11 blacklisted with DLL igd10umd64.dll (9.17.10.4229); Using D3D9 API
Audio Backend	wasapi
Direct2D	true
DirectWrite	true (10.0.14393.351)
GPU #1
Active	Yes
Description	Intel(R) HD Graphics
Vendor ID	0x8086
Device ID	0x0106
Driver Version	9.17.10.4229
Driver Date	5-28-2015
Drivers	igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32
Subsys ID	21ed17aa
RAM	Unknown
Diagnostics
AzureCanvasAccelerated	0
AzureCanvasBackend	skia
AzureContentBackend	skia
AzureFallbackCanvasBackend	cairo
GPUProcessPid	956
GPUProcess	
Decision Log
D3D9_COMPOSITING	
disabled by default: Disabled by default
Flags: needinfo?(winson.wen1)
I was able to reproduce this issue on Firefox 53.0a1 (2016-11-14) under Windows 10 64-bit and Ubuntu 16.04 32-bit.

See screencast: http://screencast.com/t/RLl5Ywg6

Last good revision: 31177ceb556cd662fa0dc7aaba12067243113355
First bad revision: a27012791c9ed666cddc0e18be775d7e42bd2df0
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=31177ceb556cd662fa0dc7aaba12067243113355&tochange=a27012791c9ed666cddc0e18be775d7e42bd2df0
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → All
Hardware: Unspecified → All
Priority: -- → P3
Whiteboard: [gfx-noted]
Marking 53 affected per comment 4.  This doesn't sound like a major bug, so marking fix-optional for 52.
It is the image itself, and not any particular interaction with Firefox Sync and the popup displayed, so a simpler STR is:
1) Open browser/themes/linux/syncProgress-horizontalbar.png directly. Flickers.
2) Open browser/themes/linux/syncProgress-toolbar.png directly. Does not flicker with similar animation.

I tried backing out the libpng upgrade and it confirmed it fixes the flickering. I will look into what changed that could have broken this -- maybe a partially misapplied APNG patch (?)...
Assignee: nobody → aosmond
Blocks: 1311776
Status: NEW → ASSIGNED
Component: Graphics → ImageLib
It appears that PNG_ZLIB_VERNUM was never defined. When libpng switched to checking ZLIB_VERNUM directly, those #ifdefs all of a sudden got enabled because that *is* defined in zlib.h. Attached patch reverts only those changes from the libpng upgrade and stops the flickering (not intended to land, just for debug).
It looks like we need to set PNG_MAXIMUM_INFLATE_WINDOW in our decoder in order to decode that image properly. It was effectively set with the PNG_ZLIB_VERNUM define missing, but with ZLIB_VERNUM present, we need to explicitly set this.
Attachment #8811442 - Flags: review?(glennrp+bmo)
Comment on attachment 8811442 [details] [diff] [review]
Use PNG_MAXIMUM_INFLATE_WINDOW option, v1

Looks OK
Attachment #8811442 - Flags: review?(glennrp+bmo) → review+
Pushed by aosmond@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/39806168b32d
Use PNG_MAXIMUM_INFLATE_WINDOW to ensure maximum compatibility with existing images. r=glennrp
Attachment #8811442 - Flags: review?(tnikkel)
Let's make sure this is uplifted so we don't ship this.
https://hg.mozilla.org/mozilla-central/rev/39806168b32d
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Please request Aurora approval on this when you get a chance.
Flags: needinfo?(aosmond)
Comment on attachment 8811442 [details] [diff] [review]
Use PNG_MAXIMUM_INFLATE_WINDOW option, v1

Approval Request Comment
[Feature/regressing bug #]: 1311776
[User impact if declined]: User will see the sync icon flickering. PNG interop in the wild may be reduced as some images can fail to decode that used to work.
[Describe test coverage new/current, TreeHerder]: Tried viewing the PNG on latest nightly, no longer flickers.
[Risks and why]: Very low risk. This patch merely restores original behaviour prior to regressing bug.
[String/UUID change made/needed]: N/A
Flags: needinfo?(aosmond)
Attachment #8811442 - Flags: approval-mozilla-aurora?
Verified as fixed on Firefox 53.0a1 (2016-11-21) under Windows 10 64-bit and Ubuntu 16.04 32-bit. There are no longer UI issues displayed during the sync button rotation.
Status: RESOLVED → VERIFIED
Comment on attachment 8811442 [details] [diff] [review]
Use PNG_MAXIMUM_INFLATE_WINDOW option, v1

fix regression from libpng update in aurora52
Attachment #8811442 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Confirm that the sync icon spins without any UI issues also on Firefox 52.0a2 (2016-11-24) under Windows 10 64-bit and Ubuntu 16.04 32-bit.
You need to log in before you can comment on or make changes to this bug.