<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>302703</bug_id>
          
          <creation_ts>2025-11-18 02:09:10 -0800</creation_ts>
          <short_desc>[scroll-animations-1] Tab crashes when an element containing a scoped scroll-driven animation from an inner pseudo-element repeatedly changes display while depending on cqw</short_desc>
          <delta_ts>2026-01-12 09:02:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari 26</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roman Komarov">kizmarh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>graouts</cc>
    
    <cc>karlcow</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2159545</commentid>
    <comment_count>0</comment_count>
      <attachid>477419</attachid>
    <who name="Roman Komarov">kizmarh</who>
    <bug_when>2025-11-18 02:09:10 -0800</bug_when>
    <thetext>Created attachment 477419
A saved codepen example with the minimal reproduction

To reproduce, open https://codepen.io/kizu/pen/QwNgKdz?editors=1100 or the attached saved .html from it, and then repeatedly open/close the details.

This happened in a much more involved use case while I was writing a new article, but I think I managed to remove anything non-related to have a minimally-reproducible example.

For me, this happens both in stable Safari Version 26.1 (20622.2.11.119.1), and in STP Release 232 (WebKit 20624.1.2.19.2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2159636</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-11-18 10:34:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/164979494&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2159637</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2025-11-18 10:34:44 -0800</bug_when>
    <thetext>Crash in:

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   WebCore                       	       0x11dd6a9cc WebCore::compareCSSAnimations(WebCore::CSSAnimation const&amp;, WebCore::CSSAnimation const&amp;) + 448
1   WebCore                       	       0x11dd4fae8 void std::__1::__stable_sort&lt;std::__1::_RangeAlgPolicy, std::__1::_ProjectedPred&lt;bool (*)(WebCore::WebAnimation const&amp;, WebCore::WebAnimation const&amp;), WebCore::KeyframeEffectStack::ensureEffectsAreSorted()::$_0&gt;&amp;, WTF::WeakPtr&lt;WebCore::KeyframeEffect, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits&lt;WTF::DefaultWeakPtrImpl&gt;&gt;*&gt;(WTF::WeakPtr&lt;WebCore::KeyframeEffect, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits&lt;WTF::DefaultWeakPtrImpl&gt;&gt;*, WTF::WeakPtr&lt;WebCore::KeyframeEffect, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits&lt;WTF::DefaultWeakPtrImpl&gt;&gt;*, std::__1::_ProjectedPred&lt;bool (*)(WebCore::WebAnimation const&amp;, WebCore::WebAnimation const&amp;), WebCore::KeyframeEffectStack::ensureEffectsAreSorted()::$_0&gt;&amp;, std::__1::iterator_traits&lt;WTF::WeakPtr&lt;WebCore::KeyframeEffect, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits&lt;WTF::DefaultWeakPtrImpl&gt;&gt;*&gt;::difference_type, std::__1::iterator_traits&lt;WTF::WeakPtr&lt;WebCore::KeyframeEffect, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits&lt;WTF::DefaultWeakPtrImpl&gt;&gt;*&gt;::value_type*, long) + 124
2   WebCore                       	       0x11dd3d634 WebCore::KeyframeEffectStack::ensureEffectsAreSorted() + 184
3   WebCore                       	       0x11dd3d888 WebCore::KeyframeEffectStack::applyKeyframeEffects(WebCore::RenderStyle&amp;, WTF::HashSet&lt;mpark::variant&lt;WebCore::CSSPropertyID, WTF::AtomString&gt;, WTF::DefaultHash&lt;mpark::variant&lt;WebCore::CSSPropertyID, WTF::AtomString&gt;&gt;, WTF::HashTraits&lt;mpark::variant&lt;WebCore::CSSPropertyID, WTF::AtomString&gt;&gt;, WTF::HashTableTraits, (WTF::ShouldValidateKey)1&gt;&amp;, WebCore::RenderStyle const*, WebCore::Style::ResolutionContext const&amp;) + 384
4   WebCore                       	       0x11f3a6c6c WebCore::Style::TreeResolver::createAnimatedElementUpdate(WebCore::Style::ResolvedStyle&amp;&amp;, WebCore::Styleable const&amp;, WTF::OptionSet&lt;WebCore::Style::Change, (WTF::ConcurrencyTag)0&gt;, WebCore::Style::ResolutionContext const&amp;, WebCore::Style::IsInDisplayNoneTree) + 9556
5   WebCore                       	       0x11f39f38c WebCore::Style::TreeResolver::resolveElement(WebCore::Element&amp;, WebCore::RenderStyle const*, WebCore::Style::TreeResolver::ResolutionType) + 2592</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>477419</attachid>
            <date>2025-11-18 02:09:10 -0800</date>
            <delta_ts>2025-11-18 02:09:10 -0800</delta_ts>
            <desc>A saved codepen example with the minimal reproduction</desc>
            <filename>Safari Crash repro.html</filename>
            <type>text/html</type>
            <size>1344</size>
            <attacher name="Roman Komarov">kizmarh</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwNjYpaHR0cHM6Ly9jZHBuLmlv
L3Blbi9kZWJ1Zy9Rd05nS2R6P2F1dGhlbnRpY2F0aW9uX2hhc2g9RHFBRGROZHh5ZE9BIC0tPgo8
aHRtbCBsYW5nPSJlbiI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgogIAogIAogIAogIAoKICA8dGl0bGU+U2Fm
YXJpIENyYXNoIHJlcHJvPC90aXRsZT4KCiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0i
aHR0cHM6Ly9jb2RlcGVuLmlvL2tpenUvcGVuL1F3TmdLZHoiPgogIAogIAogIAogIAo8c3R5bGU+
Ci8qIFRoZSBjb250ZW50IHNob3VsZCBiZSBoaWRkZW4gdmlhIGRpc3BsYXk6IG5vbmUsIG5vdCBu
ZWNlc3NhcmlseSB2aWEgZGV0YWlscy9kZXRhaWxzLWNvbnRlbnQuICovCmRldGFpbHM6bm90KFtv
cGVuXSk6OmRldGFpbHMtY29udGVudCB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmZvbyB7CiAgLyog
SXQgbmVlZHMgdG8gYmUgYSBzY3JvbGwtZHJpdmVuIGFuaW1hdGlvbiBsaWZ0ZWQgdXAgdmlhIHRp
bWVsaW5lLXNjb3BlLiAqLwogIGFuaW1hdGlvbjogLS1mb287CiAgYW5pbWF0aW9uLXRpbWVsaW5l
OiAtLWZvbzsKICB0aW1lbGluZS1zY29wZTogLS1mb287CiAgLyogRXhhY3QgdmFsdWUgZG9lc24n
dCBtYXR0ZXIsIHdoYXQgbWF0dGVycyBpcyB0aGF0IGl0IGlzIGluIGNxdy4gKi8KICBpbmxpbmUt
c2l6ZTogNTBjcXc7Cn0KCi8qIE11c3QgYmUgYSBwc2V1ZG8tZWxlbWVudCBvbiBgLmJhcmAuIFNh
bWUgb24gYC5mb29gIG9yIGFuIGFjdHVhbCBlbGVtZW50IGluc2lkZSBgLmJhcmAgd29uJ3QgdHJp
Z2dlciB0aGlzLiAqLwouYmFyOjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIC8qIEVpdGhlciBg
dmlldy10aW1lbGluZWAgYW5kIGBzY3JvbGwtdGltZWxpbmVgIGFyZSBuZWVkZWQgdG8gcmVwcm9k
dWNlICovCiAgc2Nyb2xsLXRpbWVsaW5lOiAtLWZvbzsKfQoKLyogS2V5ZnJhbWVzIGp1c3QgbmVl
ZCB0byBiZSBwcmVzZW50LCBjb3VsZCBjb250YWluIGFueXRoaW5nICovCkBrZXlmcmFtZXMgLS1m
b28ge30KPC9zdHlsZT4KCiAgCiAgCiAgCjwvaGVhZD4KCjxib2R5PgogIDxkZXRhaWxzPgogIDxz
dW1tYXJ5PkV4cGFuZC9jb2xsYXBzZSBtZSBhIGZldyB0aW1lIGluIGEgcXVpY2sgc3VjY2Vzc2lv
bjwvc3VtbWFyeT4KICA8ZGl2IGNsYXNzPSJmb28iPjxkaXYgY2xhc3M9ImJhciI+PC9kaXY+PC9k
aXY+CiAgPGRpdiBjbGFzcz0iZm9vIj48ZGl2IGNsYXNzPSJiYXIiPjwvZGl2PjwvZGl2Pgo8L2Rl
dGFpbHM+CiAgCiAgCiAgCgoKCjwvYm9keT48L2h0bWw+
</data>

          </attachment>
      

    </bug>

</bugzilla>