Intermittent TEST-UNEXPECTED-TIMEOUT | /css/css-backgrounds/animations/background-color-animation-with-zero-alpha.html | expected PASS
Categories
(Testing :: web-platform-tests, defect, P5)
Tracking
(firefox-esr78 unaffected, firefox87 unaffected, firefox88 wontfix, firefox89 wontfix, firefox90 fixed)
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox87 | --- | unaffected |
firefox88 | --- | wontfix |
firefox89 | --- | wontfix |
firefox90 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: hiro)
References
(Regressed 1 open bug, Regression)
Details
(Keywords: intermittent-failure, regression, Whiteboard: [stockwell needswork:owner])
Attachments
(2 files)
Filed by: csabou [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=333851353&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/KRrVuXxiQY2bZ8xu4p9jyQ/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/KRrVuXxiQY2bZ8xu4p9jyQ/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1
task 2021-03-20T04:56:53.400Z] 04:56:53 INFO - TEST-PASS | /css/css-backgrounds/animations/background-color-animation-with-zero-alpha.html | took 164ms
[task 2021-03-20T04:56:53.401Z] 04:56:53 INFO - TEST-START | /css/css-backgrounds/animations/background-color-animation-with-zero-alpha.html
[task 2021-03-20T04:56:53.402Z] 04:56:53 INFO - Run 6/10
[task 2021-03-20T04:56:53.406Z] 04:56:53 INFO - PID 2865 | 1616216213404 Marionette INFO Testing http://web-platform.test:8000/css/css-backgrounds/animations/background-color-animation-with-zero-alpha.html == http://web-platform.test:8000/css/css-backgrounds/animations/background-color-animation-with-zero-alpha-ref.html
[task 2021-03-20T04:57:16.726Z] 04:57:16 INFO - PID 2865 | 2021-03-20 04:57:16.725 firefox[2865:27250] Persistent UI failed to open file file:///Users/cltbld/Library/Saved%20Application%20State/org.mozilla.nightlydebug.savedState/window_1.data: No such file or directory (2)
[task 2021-03-20T04:57:33.441Z] 04:57:33 INFO - PID 2865 | [Parent 2865, Compositor] WARNING: Possibly dropping task posted to updater thread: file /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZUpdater.cpp:370
[task 2021-03-20T04:57:33.456Z] 04:57:33 INFO - PID 2865 | [Child 2873, Main Thread] WARNING: nsAppShell::Exit() called redundantly: file /builds/worker/checkouts/gecko/widget/cocoa/nsAppShell.mm:751
[task 2021-03-20T04:57:33.458Z] 04:57:33 INFO - PID 2865 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2021-03-20T04:57:33.467Z] 04:57:33 WARNING - Failed to get assertion count; window was closed
[task 2021-03-20T04:57:33.475Z] 04:57:33 WARNING - Failed to get assertion count; window was closed
[task 2021-03-20T04:57:33.476Z] 04:57:33 INFO - TEST-UNEXPECTED-TIMEOUT | /css/css-backgrounds/animations/background-color-animation-with-zero-alpha.html | expected PASS
[task 2021-03-20T04:57:33.476Z] 04:57:33 INFO - TEST-INFO took 40075ms
[task 2021-03-20T04:57:33.499Z] 04:57:33 INFO - PID 2865 | 1616216253495 Marionette INFO Stopped listening on port 50835
[task 2021-03-20T04:57:33.515Z] 04:57:33 INFO - PID 2865 | [Child 2873, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3365
[task 2021-03-20T04:57:33.535Z] 04:57:33 INFO - PID 2865 | [Child 2873, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4442
[task 2021-03-20T04:57:33.552Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.553Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.559Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.565Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.573Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.575Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-03-20T04:57:33.731Z] 04:57:33 INFO - PID 2865 | [Parent 2865, Compositor] WARNING: Possibly dropping task posted to updater thread: file /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZUpdater.cpp:370
[task 2021-03-20T04:57:33.742Z] 04:57:33 INFO - PID 2865 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2021-03-20T04:57:33.743Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: nsAppShell::Exit() called redundantly: file /builds/worker/checkouts/gecko/widget/cocoa/nsAppShell.mm:751
[task 2021-03-20T04:57:33.744Z] 04:57:33 INFO - PID 2865 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2021-03-20T04:57:33.850Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3365
[task 2021-03-20T04:57:33.863Z] 04:57:33 INFO - PID 2865 | [Child 2871, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4442
[task 2021-03-20T04:57:33.943Z] 04:57:33 INFO - PID 2865 | [2021-03-20T04:57:33Z WARN xulstore::persist] tried to remove key that isn't in the store
[task 2021-03-20T04:57:33.943Z] 04:57:33 INFO - PID 2865 | [2021-03-20T04:57:33Z WARN xulstore::persist] tried to remove key that isn't in the store
[task 2021-03-20T04:57:34.105Z] 04:57:34 INFO - PID 2865 | [Child 2872, Main Thread] WARNING: nsAppShell::Exit() called redundantly: file /builds/worker/checkouts/gecko/widget/cocoa/nsAppShell.mm:751
[task 2021-03-20T04:57:34.139Z] 04:57:34 INFO - PID 2865 | [Child 2872, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3365
[task 2021-03-20T04:57:34.143Z] 04:57:34 INFO - PID 2865 | [Child 2874, Main Thread] WARNING: nsAppShell::Exit() called redundantly: file /builds/worker/checkouts/gecko/widget/cocoa/nsAppShell.mm:751
[task 2021-03-20T04:57:34.144Z] 04:57:34 INFO - PID 2865 | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2021-03-20T04:57:34.154Z] 04:57:34 INFO - PID 2865 | [Child 2872, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4442
[task 2021-03-20T04:57:34.169Z] 04:57:34 INFO - PID 2865 | [Child 2874, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3365
[task 2021-03-20T04:57:34.174Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.000003s: starting', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.175Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.000304s: Live database entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.176Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.000319s: gLiveDatabaseHashtable entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.178Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.000823s: Live database entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.179Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.001071s: gLiveDatabaseHashtable entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.179Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: cache: '0.001100s: starting', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.180Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: sdb: '0.001114s: starting', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.181Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: ls: '0.001124s: starting', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.182Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.002158s: Live database entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.184Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.002206s: Live database entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.185Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.002227s: gLiveDatabaseHashtable entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.186Z] 04:57:34 INFO - PID 2865 | [Child 2874, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4442
[task 2021-03-20T04:57:34.186Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.012300s: Live database entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.187Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.012335s: gLiveDatabaseHashtable entry removed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.188Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: idb: '0.012370s: completed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.188Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: cache: '0.012417s: completed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.189Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: sdb: '0.012425s: completed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.190Z] 04:57:34 INFO - PID 2865 | [Parent 2865, IPDL Background] WARNING: ls: '0.012430s: completed', file /builds/worker/checkouts/gecko/dom/quota/ActorsParent.cpp:3688
[task 2021-03-20T04:57:34.317Z] 04:57:34 INFO - PID 2865 | [Parent 2865, Main Thread] WARNING: NS_ENSURE_TRUE(mDB) failed: file /builds/worker/checkouts/gecko/netwerk/cache/nsDiskCacheDeviceSQL.cpp:1279
[task 2021-03-20T04:57:34.325Z] 04:57:34 INFO - PID 2865 | [Parent 2865, Main Thread] WARNING: nsAppShell::Exit() called redundantly: file /builds/worker/checkouts/gecko/widget/cocoa/nsAppShell.mm:751
[task 2021-03-20T04:57:35.085Z] 04:57:35 INFO - PID 2865 | [Parent 2865, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3365
[task 2021-03-20T04:57:35.117Z] 04:57:35 INFO - PID 2865 | [Parent 2865, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4442
[task 2021-03-20T04:57:35.273Z] 04:57:35 INFO - Browser exited with return code 0
[task 2021-03-20T04:57:35.273Z] 04:57:35 INFO - PROCESS LEAKS /var/folders/mx/15ww1m2s701gthpd5h8vmkbr000017/T/tmpyv9qrq5e/runtests_leaks_2815.log
task 2021-03-20T04:57:35.274Z] 04:57:35 INFO - leakcheck | Processing log file /var/folders/mx/15ww1m2s701gthpd5h8vmkbr000017/T/tmpyv9qrq5e/runtests_leaks_2815.log for scope /
[task 2021-03-20T04:57:35.274Z] 04:57:35 INFO - TEST-INFO | leakcheck | default process: leak threshold set at 51200 bytes
[task 2021-03-20T04:57:35.275Z] 04:57:35 INFO - TEST-INFO | leakcheck | forkserver process: leak threshold set at 0 bytes
[task 2021-03-20T04:57:35.275Z] 04:57:35 INFO - TEST-INFO | leakcheck | gmplugin process: leak threshold set at 20000 bytes
[task 2021-03-20T04:57:35.276Z] 04:57:35 INFO - TEST-INFO | leakcheck | gpu process: leak threshold set at 10000 bytes
[task 2021-03-20T04:57:35.276Z] 04:57:35 INFO - TEST-INFO | leakcheck | plugin process: leak threshold set at 0 bytes
[task 2021-03-20T04:57:35.276Z] 04:57:35 INFO - TEST-INFO | leakcheck | rdd process: leak threshold set at 0 bytes
[task 2021-03-20T04:57:35.277Z] 04:57:35 INFO - TEST-INFO | leakcheck | socket process: leak threshold set at 0 bytes
[task 2021-03-20T04:57:35.277Z] 04:57:35 INFO - TEST-INFO | leakcheck | tab process: leak threshold set at 10000 bytes
[task 2021-03-20T04:57:35.278Z] 04:57:35 INFO - TEST-INFO | leakcheck | vr process: leak threshold set at 0 bytes
[task 2021-03-20T04:57:35.278Z] 04:57:35 INFO - leakcheck | Processing leak log file /var/folders/mx/15ww1m2s701gthpd5h8vmkbr000017/T/tmpyv9qrq5e/runtests_leaks_2815_tab_pid2871.log
[task 2021-03-20T04:57:35.278Z] 04:57:35 INFO -
[task 2021-03-20T04:57:35.279Z] 04:57:35 INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, tab process 2871
[task 2021-03-20T04:57:35.279Z] 04:57:35 INFO -
[task 2021-03-20T04:57:35.280Z] 04:57:35 INFO - |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
[task 2021-03-20T04:57:35.280Z] 04:57:35 INFO - | | Per-Inst Leaked| Total Rem|
[task 2021-03-20T04:57:35.280Z] 04:57:35 INFO - 0 |TOTAL | 42 0| 117634 0|
[task 2021-03-20T04:57:35.281Z] 04:57:35 INFO -
[task 2021-03-20T04:57:35.281Z] 04:57:35 INFO - nsTraceRefcnt::DumpStatistics: 796 entries
[task 2021-03-20T04:57:35.282Z] 04:57:35 INFO - TEST-PASS | leakcheck | tab no leaks detected!```
Comment hidden (Intermittent Failures Robot) |
Comment 2•4 years ago
|
||
Set release status flags based on info from the regressing bug 1699836
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 7•3 years ago
|
||
Update:
There have been 42 failures within the last 7 days:
- 6 failures Android 7.0 x86-64 WebRender opt
- 1 failure on Linux 18.04 x64 WebRender opt
- 34 failures on Windows 10 x64 WebRender debug
- 1 failure on Windows 10 x64 WebRender Shippable opt
Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=339593814&repo=mozilla-central&lineNumber=9884
[task 2021-05-13T10:24:16.757Z] 10:24:16 INFO - TEST-START | /css/css-backgrounds/animations/invalidation/background-color-animation-with-zero-alpha.html
[task 2021-05-13T10:24:16.776Z] 10:24:16 INFO - PID 5228 | 1620901456774 Marionette INFO Testing http://web-platform.test:8000/css/css-backgrounds/animations/invalidation/background-color-animation-with-zero-alpha.html == http://web-platform.test:8000/css/css-backgrounds/animations/invalidation/background-color-animation-with-zero-alpha-ref.html
[task 2021-05-13T10:24:16.827Z] 10:24:16 INFO - PID 5228 | [Child 8592, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-05-13T10:24:16.949Z] 10:24:16 INFO - PID 5228 | [Child 8592, Main Thread] WARNING: '!CanSend() || !mManager || !mManager->CanSend()', file /builds/worker/checkouts/gecko/dom/ipc/jsactor/JSWindowActorChild.cpp:40
[task 2021-05-13T10:24:56.847Z] 10:24:56 INFO - PID 5228 | [GPU 1404, Compositor] WARNING: Possibly dropping task posted to updater thread: file /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZUpdater.cpp:370
[task 2021-05-13T10:24:56.905Z] 10:24:56 WARNING - Failed to get assertion count; window was closed
[task 2021-05-13T10:24:56.920Z] 10:24:56 WARNING - Failed to get assertion count; window was closed
[task 2021-05-13T10:24:56.923Z] 10:24:56 INFO - TEST-UNEXPECTED-TIMEOUT | /css/css-backgrounds/animations/invalidation/background-color-animation-with-zero-alpha.html | expected PASS
[task 2021-05-13T10:24:56.923Z] 10:24:56 INFO - TEST-INFO took 40166ms
Comment 8•3 years ago
|
||
James, could you help us assign this to someone?
Thank you.
Updated•3 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 10•3 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #9)
Created attachment 9222534 [details]
Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r?boris!,miko!Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.
In the testcase background-color-animation-with-zero-alpha.html
the whole animation is fully transparent. Rather than creating transparent items and throwing them away, can we instead detect that the target color is fully transparent and stop animating?
Assignee | ||
Comment 11•3 years ago
|
||
(In reply to Miko Mynttinen [:miko] from comment #10)
(In reply to Hiroyuki Ikezoe (:hiro) from comment #9)
Created attachment 9222534 [details]
Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r?boris!,miko!Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.In the testcase
background-color-animation-with-zero-alpha.html
the whole animation is fully transparent. Rather than creating transparent items and throwing them away, can we instead detect that the target color is fully transparent and stop animating?
To stop animating means we need to tell when we need to restart animating beforehand, unfortunately it's quite hard to tell beforehand when the animating background-color becomes opaque without computing the style on each tick. We have a similar optimization that is to skip computing style if the computed timing value is not changed since the previous style computation. And also that we have nsChangeHint to tell whether the style change affects painting/reflow etc. etc. If there is no change hint we skip such post styling processes. That said, animation properties which can be run on the compositor thread, we need to do such post styling processes even if no change hint generated, we do the special handing in RestyleManager::AddLayerChangesForAnimation and the background-color-animation-with-zero-alpha.html
is a case handled by AddLayerChangesForAnimation.
Assignee | ||
Comment 12•3 years ago
|
||
Note that as far as I can tell, opacity animation also generates a display item and thus runs on the compositor even if it's fully transparent.
Comment 13•3 years ago
•
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #11)
To stop animating means we need to tell when we need to restart animating beforehand, unfortunately it's quite hard to tell beforehand when the animating background-color becomes opaque without computing the style on each tick. We have a similar optimization that is to skip computing style if the computed timing value is not changed since the previous style computation. And also that we have nsChangeHint to tell whether the style change affects painting/reflow etc. etc. If there is no change hint we skip such post styling processes. That said, animation properties which can be run on the compositor thread, we need to do such post styling processes even if no change hint generated, we do the special handing in RestyleManager::AddLayerChangesForAnimation and the
background-color-animation-with-zero-alpha.html
is a case handled by AddLayerChangesForAnimation.
Thank you for the additional explanation. It seems that with WebRender, we might be able to avoid creating display items and instead add WebRenderAnimationData
on frames. This would unfortunately not work with FLB since that uses DisplayItemData
instead.
I think this can wait until FLB is removed, unless this patch regresses performance (it is modifying a hot code path).
Comment 14•3 years ago
|
||
Assignee | ||
Comment 15•3 years ago
|
||
(In reply to Miko Mynttinen [:miko] from comment #13)
(In reply to Hiroyuki Ikezoe (:hiro) from comment #11)
To stop animating means we need to tell when we need to restart animating beforehand, unfortunately it's quite hard to tell beforehand when the animating background-color becomes opaque without computing the style on each tick. We have a similar optimization that is to skip computing style if the computed timing value is not changed since the previous style computation. And also that we have nsChangeHint to tell whether the style change affects painting/reflow etc. etc. If there is no change hint we skip such post styling processes. That said, animation properties which can be run on the compositor thread, we need to do such post styling processes even if no change hint generated, we do the special handing in RestyleManager::AddLayerChangesForAnimation and the
background-color-animation-with-zero-alpha.html
is a case handled by AddLayerChangesForAnimation.Thank you for the additional explanation. It seems that with WebRender, we might be able to avoid creating display items and instead add
WebRenderAnimationData
on frames. This would unfortunately not work with FLB since that usesDisplayItemData
instead.I think this can wait until FLB is removed, unless this patch regresses performance (it is modifying a hot code path).
I believe the patch improves the performance where (transparent) background-color animations are.
Comment 16•3 years ago
|
||
Backed out changeset 1c7f2486a0e9 (Bug 1699890) for causing multiple failures CLOSED TREE
Push with failures: https://treeherder.mozilla.org/logviewer?job_id=340404769&repo=autoland&lineNumber=3849
Log: https://treeherder.mozilla.org/logviewer?job_id=340404063&repo=autoland&lineNumber=1860
https://treeherder.mozilla.org/logviewer?job_id=340404769&repo=autoland&lineNumber=3849
Backout: https://hg.mozilla.org/integration/autoland/rev/4253de1f4be5be9c9bddfc18eadedf8f67ebdb36
Assignee | ||
Comment 17•3 years ago
|
||
Sigh. So I was blind about the fact background-color animations covered by opaque background-image propety's image haven't properly been optimized. Instead, it just simply keeps restyling and trying to create display items repeatedly, which means it consumes main-thread works. For now it's better than before that is that now the animations run on the compositor instead of consuming the main-thread, but eventually we should avoid the works both the main and the compositor threads, i.e. skip restyling and following jobs on the main-thread in such cases. For now, I do skip the check in the test I will file a bug for the optimization (and in that bug the test case should be moved into file_restyles.html to make sure it doesn't do restyling on the main-thread too).
Assignee | ||
Comment 18•3 years ago
|
||
Filed bug 1712246.
Comment hidden (Intermittent Failures Robot) |
Comment 20•3 years ago
|
||
Comment 21•3 years ago
|
||
Backed out for causing dt assertion failures on nsDisplayList.h.
Assignee | ||
Comment 22•3 years ago
|
||
So that now EffectCompositor::HasAnimationsForCompositor doesn't return true
for such cases, thus we will not accidentally try to generate
nsDisplayBackgroundColor display item for such animations (bug 1699890#c21)
and we will not generate nsChangeHint_RepaintFrame (bug 1701547) either.
Comment hidden (Intermittent Failures Robot) |
Comment 24•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Comment 25•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/69826920340d
https://hg.mozilla.org/mozilla-central/rev/38bfba07a1ac
Comment 26•3 years ago
|
||
Backed out for causing failures on background-color-animation-with-table2.html.
Backout link: https://hg.mozilla.org/integration/autoland/rev/4db2640cb0cd60103ffa75fa76b11fa66257774f
Failure log: https://treeherder.mozilla.org/logviewer?job_id=340729850&repo=autoland&lineNumber=11035
Updated•3 years ago
|
Comment 27•3 years ago
|
||
Backout merged: https://hg.mozilla.org/mozilla-central/rev/4db2640cb0cd
Assignee | ||
Comment 28•3 years ago
|
||
I wonder what our backing out policy is.. The test has been already filed as intermittent failure (bug 1712193) and I've already commented the failure reason in bug 1712193 comment 1. So I thought the changes in this bug will never be backed out due to the intermittent....
(Note that the reason why it looks like bug 1712193 failure rate was bumped up by this change is that this change makes the test in question more reliable fail, the test should just fail all the time but it's been passing accidentally!)
Anyway, I am going to mark all background-color-animation-with-table[1-4].html as "[PASS, TIMEOUT]". (Interestingly background-color-animation-with-table3.html has been already marked as "[PASS, TIMEOUT]" by the wptsync-bot).
Comment 29•3 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Comment 31•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/153fa39b3084
https://hg.mozilla.org/mozilla-central/rev/6128a351b7e7
Comment hidden (Intermittent Failures Robot) |
Description
•