<?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>257970</bug_id>
          
          <creation_ts>2023-06-12 11:38:07 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData)</short_desc>
          <delta_ts>2023-06-30 09:27:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Compositing</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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="Bri Harris">bharris9</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>ap</cc>
    
    <cc>jenner</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1961097</commentid>
    <comment_count>0</comment_count>
    <who name="Bri Harris">bharris9</who>
    <bug_when>2023-06-12 11:38:07 -0700</bug_when>
    <thetext>platform/mac/media/unmute-after-loading.html

is a flaky crash on macOS Debug.


HISTORY:
https://results.webkit.org/?suite=layout-tests&amp;test=platform%2Fmac%2Fmedia%2Funmute-after-loading.html

STDERR LINK: https://build.webkit.org/results/Apple-Ventura-Debug-AppleSilicon-WK2-Tests/265061@main%20(2760)/platform/mac/media/unmute-after-loading-stderr.txt

STDERR TEXT:
STDERR TEXT:
ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData)
/Volumes/Data/worker/Apple-Ventura-Debug-Build/build/Source/WebCore/rendering/RenderLayerCompositor.cpp(1201) : void WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer *, WebCore::RenderLayer &amp;, WebCore::LayerOverlapMap &amp;, WebCore::RenderLayerCompositor::CompositingState &amp;, WebCore::RenderLayerCompositor::BackingSharingState &amp;, bool &amp;)
1   0x151490100 WTFCrash
2   0x107908e40 WebCore::NetworkResourcesData::ResourceData::hasContent() const
3   0x1089ebbcc WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&amp;, WebCore::LayerOverlapMap&amp;, WebCore::RenderLayerCompositor::CompositingState&amp;, WebCore::RenderLayerCompositor::BackingSharingState&amp;, bool&amp;)
4   0x1089eb85c WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&amp;, WebCore::LayerOverlapMap&amp;, WebCore::RenderLayerCompositor::CompositingState&amp;, WebCore::RenderLayerCompositor::BackingSharingState&amp;, bool&amp;)
5   0x1089eb8e4 WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&amp;, WebCore::LayerOverlapMap&amp;, WebCore::RenderLayerCompositor::CompositingState&amp;, WebCore::RenderLayerCompositor::BackingSharingState&amp;, bool&amp;)
6   0x1089e999c WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*)
7   0x107e73008 WebCore::LocalFrameView::updateCompositingLayersAfterLayout()
8   0x107e76334 WebCore::LocalFrameView::didLayout(WTF::WeakPtr&lt;WebCore::RenderElement, WTF::DefaultWeakPtrImpl&gt;)
9   0x107e8f194 WebCore::LocalFrameViewLayoutContext::performLayout()
10  0x107e6d8e0 WebCore::LocalFrameViewLayoutContext::layout()
11  0x107e88680 WebCore::LocalFrameView::updateLayoutAndStyleIfNeededRecursive()
12  0x107ee318c WebCore::Page::layoutIfNeeded()
13  0x107ee3c0c WebCore::Page::updateRendering()
14  0x12cebcce4 WebKit::WebPage::updateRendering()
15  0x12c117990 WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType)
16  0x12c11b6cc WebKit::TiledCoreAnimationDrawingArea::renderingUpdateRunLoopCallback()
17  0x12c11d3a4 WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&amp;, WebKit::WebPageCreationParameters const&amp;)::$_0::operator()() const
18  0x12c11d350 WTF::Detail::CallableWrapper&lt;WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&amp;, WebKit::WebPageCreationParameters const&amp;)::$_0, void&gt;::call()
19  0x1067e1a8c WTF::Function&lt;void ()&gt;::operator()() const
20  0x1081d01d0 WebCore::RunLoopObserver::runLoopObserverFired()
21  0x1081d013c WebCore::RunLoopObserver::runLoopObserverFired(__CFRunLoopObserver*, unsigned long, void*)
22  0x18453d9f0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
23  0x18453d8dc __CFRunLoopDoObservers
24  0x18453c514 CFRunLoopRunSpecific
25  0x1854b5fcc -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
26  0x18552eccc -[NSRunLoop(NSRunLoop) run]
27  0x1841ae594 _xpc_objc_main
28  0x1841adeb4 xpc_main
29  0x12b469e58 WebKit::XPCServiceMain(int, char const**)
30  0x12d3eb6d0 WKXPCServiceMain
31  0x10075bfa0 main
com.apple.WebKit.WebContent.Development terminated (pid 4291) for reason: crash
LEAK: 1 WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1961098</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-06-12 11:38:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/110656130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1961980</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2023-06-15 17:45:44 -0700</bug_when>
    <thetext>I confirmed that this happens when the answer to `canAccelerateVideoRendering()` changes without `RenderLayerBacking::contentChanged(VideoChanged)` being called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1961984</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2023-06-15 18:24:29 -0700</bug_when>
    <thetext>Here&apos;s some logging showing the issue:

18:22:34.834 93261   RenderLayerCompositor::requiresCompositingForVideo - layer 0x112001b70 requiresImmediateCompositing:0 shouldDisplayVideo:1 canAccelerateVideoRendering:1
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ad8d0 supportsAcceleratedRendering 1
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ad8d0 supportsAcceleratedRendering 1
18:22:34.834 93261   HTMLMediaElement::prepareForLoad(B188CAA22C26631F) gesture = false
18:22:34.834 93261   HTMLMediaElement::createMediaPlayer(B188CAA22C26631F) 
18:22:34.834 93261   VideoLayerManagerObjC::didDestroyVideoLayer(B188CAA22C26631F) 
18:22:34.834 93261   VideoLayerManagerObjC::setTextTrackRepresentationLayer(B188CAA22C26631F) 
18:22:34.834 93261   HTMLMediaElement::setPlaybackRate(B188CAA22C26631F) 1
18:22:34.834 93261   MediaElementSession::clientWillBeginAutoplaying(B188CAA22C26631F) state = Autoplaying
18:22:34.834 93261   HTMLMediaElement::setShouldDelayLoadEvent(B188CAA22C26631F) true
18:22:34.834 93261   RenderLayerCompositor 0x1103584e0 [LocalFrameView 0x1120000b0 Frame 0x1100ac220 (main frame) file:///Volumes/Data/Development/system/webkit/OpenSource/LayoutTests/platform/mac/media/unmute-after-loading.html] updateCompositingLayers after layout contentLayersCount 6
18:22:34.834 93261   RenderLayerCompositor 0x1103584e0 [LocalFrameView 0x1120000b0 Frame 0x1100ac220 (main frame) file:///Volumes/Data/Development/system/webkit/OpenSource/LayoutTests/platform/mac/media/unmute-after-loading.html] updateCompositingLayers after layout contentLayersCount 6
18:22:34.834 93261   RenderLayerCompositor::computeCompositingRequirements when no change - layer 0x112001b70 video will composite: 1 because is already composited 1
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   RenderLayerCompositor::requiresCompositingForVideo - layer 0x112001b70 requiresImmediateCompositing:0 shouldDisplayVideo:1 canAccelerateVideoRendering:0
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   RenderLayerCompositor::computeCompositingRequirements - layer 0x112001b70 video will composite later: 0
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   RenderLayerCompositor::requiresCompositingForVideo - layer 0x112001b70 requiresImmediateCompositing:0 shouldDisplayVideo:1 canAccelerateVideoRendering:0
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   RenderLayerCompositor::requiresCompositingForVideo - layer 0x112001b70 requiresImmediateCompositing:0 shouldDisplayVideo:1 canAccelerateVideoRendering:0
18:22:34.834 93261   HTMLMediaElement 0x11202ec30 supportsAcceleratedRendering - player 0x1101ae250 supportsAcceleratedRendering 0
18:22:34.834 93261   willBeComposited (1) != needsToBeComposited(layer, queryData) (0 for layer 0x112001b70

So HTMLMediaElement::createMediaPlayer creates a new MediaPlayer object, which does not support accelerated rendering, but RenderLayerBacking::contentChanged(VideoChanged) was never called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1962658</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Jenner">jenner</who>
    <bug_when>2023-06-20 14:50:52 -0700</bug_when>
    <thetext>*** Bug 258095 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1962660</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Jenner">jenner</who>
    <bug_when>2023-06-20 14:51:16 -0700</bug_when>
    <thetext>*** Bug 258097 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1962662</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Jenner">jenner</who>
    <bug_when>2023-06-20 14:54:21 -0700</bug_when>
    <thetext>Marked bugs 258095 and 258097 as duplicates of this bug because the tests mentioned in those are hitting the same assertion, and appear to have a similar regression point. The tests that are hitting the same assertion at:


media/track/video-track-add-remove.html 
media/track/video-track-alternate-groups.html
media/modern-media-controls/pip-support/pip-support-enabled.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1964414</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2023-06-29 23:42:29 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/15435</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1964499</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-06-30 09:26:59 -0700</bug_when>
    <thetext>Committed 265656@main (05ca73cb5029): &lt;https://commits.webkit.org/265656@main&gt;

Reviewed commits have been landed. Closing PR #15435 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>