WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
308304
[threaded-animations] failed assertion`ASSERT(timeline)` in `RemoteLayerTreeNode::setAcceleratedEffectsAndBaseValues()`
https://bugs.webkit.org/show_bug.cgi?id=308304
Summary
[threaded-animations] failed assertion`ASSERT(timeline)` in `RemoteLayerTreeN...
Antoine Quint
Reported
2026-02-20 07:39:32 PST
We have reports of `ASSERT(timeline)` in `ScrollTimeline::computeProgressResolutionData()` failing.
Attachments
Add attachment
proposed patch, testcase, etc.
Antoine Quint
Comment 1
2026-02-20 07:39:52 PST
rdar://170600376
Antoine Quint
Comment 2
2026-02-20 10:09:03 PST
I've found one way to reproduce such a crash with content like so: ``` <style> #container { position: absolute; width: 400px; height: 400px; overflow: scroll; } @keyframes grow { from { scale: 0 1 } to { scale: 1 1 } } #progress { position: absolute; width: 100%; height: 2000px; background-color: black; transform-origin: top left; animation: grow auto; animation-timeline: scroll(); } </style> <div id="container"> <div id="progress"></div> </div> ``` In this example, `#container` is composited, but once the animation applying to `#progress` is accounted for, `#container` no longer is. This will cause the accelerated timeline to be removed, but the accelerated animation is not, causing the disconnect in the remote layer tree. I think we need to do two things here: 1. ensure a scrolling container that is the source of a timeline targeted by accelerated animations is composted, 2. harden our code such that the animations pending upload to the remote layer tree are pruned if we find out their accelerated timeline representation has been removed since their addition.
Antoine Quint
Comment 3
2026-02-21 09:18:45 PST
In the end we merely need to call to `Document::runPostRenderingUpdateAnimationTasks()` inside `Page::doAfterUpdateRendering()` so that it's done after `layoutIfNeeded(LayoutOptions::UpdateCompositingLayers)`.
Antoine Quint
Comment 4
2026-02-21 10:00:07 PST
Pull request:
https://github.com/WebKit/WebKit/pull/59168
EWS
Comment 5
2026-02-21 14:50:12 PST
Committed
307993@main
(a5afe56ab689): <
https://commits.webkit.org/307993@main
> Reviewed commits have been landed. Closing PR #59168 and removing active labels.
EWS
Comment 6
2026-02-27 13:19:53 PST
Committed
305413.372@safari-7624-branch
(69bda0f8ed7d): <
https://commits.webkit.org/305413.372@safari-7624-branch
> Reviewed commits have been landed. Closing PR #4564 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug