Bug 239770 - [ macOS Debug wk2 ] Thirteen imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash (ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData))
Summary: [ macOS Debug wk2 ] Thirteen imported/w3c/web-platform-tests/html/semantics/e...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-04-26 08:17 PDT by Karl Rackler
Modified: 2022-05-11 09:40 PDT (History)
15 users (show)

See Also:


Attachments
event_order_canplay_canplaythrough-crash-log (3.76 KB, text/plain)
2022-04-26 08:18 PDT, Karl Rackler
no flags Details
event_order_canplay_canplaythrough-stderr (3.67 KB, text/plain)
2022-04-26 08:19 PDT, Karl Rackler
no flags Details
event_order_loadedmetadata_loadeddata-crash-log (3.76 KB, text/plain)
2022-04-26 08:19 PDT, Karl Rackler
no flags Details
event_order_loadedmetadata_loadeddata-stderr (3.67 KB, text/plain)
2022-04-26 08:19 PDT, Karl Rackler
no flags Details
readyState_during_canplaythrough-crash-log (3.76 KB, text/plain)
2022-04-26 08:20 PDT, Karl Rackler
no flags Details
readyState_during_canplaythrough-stderr (3.67 KB, text/plain)
2022-04-26 08:20 PDT, Karl Rackler
no flags Details
readyState_during_playing-crash-log (3.76 KB, text/plain)
2022-04-26 08:20 PDT, Karl Rackler
no flags Details
readyState_during_playing-stderr (3.67 KB, text/plain)
2022-04-26 08:21 PDT, Karl Rackler
no flags Details
event_pause-crash-log (3.76 KB, text/plain)
2022-04-26 11:11 PDT, Karl Rackler
no flags Details
event_pause-stderr (3.67 KB, text/plain)
2022-04-26 11:11 PDT, Karl Rackler
no flags Details
event_play-crash-log (3.76 KB, text/plain)
2022-04-26 11:12 PDT, Karl Rackler
no flags Details
event_play-stderr (3.67 KB, text/plain)
2022-04-26 11:12 PDT, Karl Rackler
no flags Details
event_canplay-crash-log (3.76 KB, text/plain)
2022-04-26 13:32 PDT, Karl Rackler
no flags Details
event_canplay-stderr (3.67 KB, text/plain)
2022-04-26 13:32 PDT, Karl Rackler
no flags Details
event_loadeddata-crash-log (3.76 KB, text/plain)
2022-04-26 13:33 PDT, Karl Rackler
no flags Details
event_loadeddata-stderr (3.67 KB, text/plain)
2022-04-26 13:33 PDT, Karl Rackler
no flags Details
event_loadstart-crash-log (3.76 KB, text/plain)
2022-04-26 13:33 PDT, Karl Rackler
no flags Details
event_loadstart-stderr (3.67 KB, text/plain)
2022-04-26 13:34 PDT, Karl Rackler
no flags Details
event_timeupdate-crash-log (3.76 KB, text/plain)
2022-04-26 13:35 PDT, Karl Rackler
no flags Details
event_timeupdate-stderr (3.67 KB, text/plain)
2022-04-26 13:36 PDT, Karl Rackler
no flags Details
networkState_during_progress-crash-log (3.76 KB, text/plain)
2022-04-26 13:36 PDT, Karl Rackler
no flags Details
readyState_during_canplay-stderr (3.67 KB, text/plain)
2022-04-26 13:37 PDT, Karl Rackler
no flags Details
readyState_during_loadeddata-crash-log (3.76 KB, text/plain)
2022-04-26 13:38 PDT, Karl Rackler
no flags Details
readyState_during_loadeddata-stderr (3.67 KB, text/plain)
2022-04-26 13:39 PDT, Karl Rackler
no flags Details
Patch (3.04 KB, patch)
2022-04-27 20:49 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (6.47 KB, patch)
2022-04-28 09:18 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (6.56 KB, patch)
2022-04-28 09:25 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Rackler 2022-04-26 08:17:05 PDT
Description:
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_playing.html

The first failure that I saw on the dashboard was 4/4/2022 at r292293, but this does not appear relevant to causing this issue.


REPRODUCTION STEPS
I can reproduce this on r292959, but unable to reproduce it on 292262.  

Command: 
run-webkit-tests --root --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --iterations 50 -f --no-retry

Result: 
Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_playing.html [ Crash ]


History:
https://results.webkit.org/?suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_order_canplay_canplaythrough.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_order_loadedmetadata_loadeddata.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_canplaythrough.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_playing.html&platform=mac&style=debug&limit=50000&flavor=gpuprocess&flavor=wk2

Crash Log:
No crash log found for com.apple.WebKit.WebContent.Development:86372.
Comment 1 Radar WebKit Bug Importer 2022-04-26 08:17:36 PDT
<rdar://problem/92334616>
Comment 2 Karl Rackler 2022-04-26 08:18:46 PDT
Created attachment 458362 [details]
event_order_canplay_canplaythrough-crash-log
Comment 3 Karl Rackler 2022-04-26 08:19:12 PDT
Created attachment 458363 [details]
event_order_canplay_canplaythrough-stderr
Comment 4 Karl Rackler 2022-04-26 08:19:39 PDT
Created attachment 458364 [details]
event_order_loadedmetadata_loadeddata-crash-log
Comment 5 Karl Rackler 2022-04-26 08:19:56 PDT
Created attachment 458365 [details]
event_order_loadedmetadata_loadeddata-stderr
Comment 6 Karl Rackler 2022-04-26 08:20:16 PDT
Created attachment 458366 [details]
readyState_during_canplaythrough-crash-log
Comment 7 Karl Rackler 2022-04-26 08:20:34 PDT
Created attachment 458367 [details]
readyState_during_canplaythrough-stderr
Comment 8 Karl Rackler 2022-04-26 08:20:52 PDT
Created attachment 458368 [details]
readyState_during_playing-crash-log
Comment 9 Karl Rackler 2022-04-26 08:21:11 PDT
Created attachment 458369 [details]
readyState_during_playing-stderr
Comment 10 Karl Rackler 2022-04-26 08:48:40 PDT
I have marked these tests as a flaky crash while this issue is investigated.
Comment 11 Alexey Proskuryakov 2022-04-26 09:04:19 PDT
com.apple.WebKit.Networking.Development: Could not compile WebContent sandbox: /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap
Comment 12 Karl Rackler 2022-04-26 09:44:28 PDT
Landed https://commits.webkit.org/249989@main (r293429)!
Comment 13 Karl Rackler 2022-04-26 09:46:30 PDT
Reopened because the issue is still being investigated.
Comment 14 Karl Rackler 2022-04-26 09:47:04 PDT
Reopened because the issue is still being investigated.
Comment 15 Karl Rackler 2022-04-26 11:10:35 PDT
Description: Adding two additional tests
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_pause.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_play.html

REPRODUCTION STEPS
I can reproduce this on r292959, but unable to reproduce it on 292262.  
The regression is between r292262-r295959.

Command: 
run-webkit-tests --root --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --iterations 50 -f --no-retry

Result: 
Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_pause.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_play.html [ Crash ]

History:
https://results.webkit.org/?suite=layout-tests&suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_pause.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_play.html&platform=mac&flavor=wk2&style=debug&limit=50000

Crash Log:
No crash log found for com.apple.WebKit.Networking.Development:26056.

stderr: 
com.apple.WebKit.Networking.Development: Could not compile WebContent sandbox: /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap


I have marked this test as a flaky crash while this issue is investigated.
Comment 16 Karl Rackler 2022-04-26 11:11:18 PDT
Created attachment 458381 [details]
event_pause-crash-log
Comment 17 Karl Rackler 2022-04-26 11:11:38 PDT
Created attachment 458382 [details]
event_pause-stderr
Comment 18 Karl Rackler 2022-04-26 11:12:05 PDT
Created attachment 458383 [details]
event_play-crash-log
Comment 19 Karl Rackler 2022-04-26 11:12:27 PDT
Created attachment 458384 [details]
event_play-stderr
Comment 20 Karl Rackler 2022-04-26 11:18:54 PDT
Pull request: https://github.com/WebKit/WebKit/pull/393
Comment 21 EWS 2022-04-26 11:32:32 PDT
Test gardening commit r293437 (249995@main): <https://commits.webkit.org/249995@main>

Reviewed commits have been landed. Closing PR #393 and removing active labels.
Comment 22 Per Arne Vollan 2022-04-26 12:58:13 PDT
I believe the sandbox issue was fixed in https://trac.webkit.org/changeset/292975/webkit.
Comment 23 Alexey Proskuryakov 2022-04-26 13:11:23 PDT
Got it. Seeing this for recent crashes:

ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData)
./rendering/RenderLayerCompositor.cpp(1184) : void WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer *, WebCore::RenderLayer &, WebCore::LayerOverlapMap &, WebCore::RenderLayerCompositor::CompositingState &, WebCore::RenderLayerCompositor::BackingSharingState &, bool &)
1   0x1f569e8f9 WTFCrash
2   0x1ce777c2b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x1d3cc37e5 WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&, WebCore::LayerOverlapMap&, WebCore::RenderLayerCompositor::CompositingState&, WebCore::RenderLayerCompositor::BackingSharingState&, bool&)
4   0x1d3cc33f0 WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer&, WebCore::LayerOverlapMap&, WebCore::RenderLayerCompositor::CompositingState&, WebCore::RenderLayerCompositor::BackingSharingState&, bool&)
Comment 24 Simon Fraser (smfr) 2022-04-26 13:15:50 PDT
This happens when media compositing state happens without correctly informing RenderLayerCompositor.
Comment 25 Karl Rackler 2022-04-26 13:31:38 PDT
Description: Adding seven additional tests
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplay.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html

REPRODUCTION STEPS
I can reproduce this on r292959, but unable to reproduce it on 292262.  
The regression is between r292262-r295959.

Command: 
run-webkit-tests --root --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --iterations 50 -f --no-retry

Result: 
Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplay.html [ Crash ]

Regressions: Unexpected crashes (1)
  imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html [ Crash ]

History:
https://results.webkit.org/?suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_canplay.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_loadeddata.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_loadstart.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_timeupdate.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FnetworkState_during_progress.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_canplay.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_loadeddata.html&limit=50000&platform=mac&flavor=wk2&style=debug

Crash Log:
No crash log found for com.apple.WebKit.Networking.Development:26056.

stderr: 
com.apple.WebKit.Networking.Development: Could not compile WebContent sandbox: /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap


I have marked this test as a flaky crash while this issue is investigated.
Comment 26 Karl Rackler 2022-04-26 13:32:22 PDT Comment hidden (obsolete)
Comment 27 Karl Rackler 2022-04-26 13:32:40 PDT Comment hidden (obsolete)
Comment 28 Karl Rackler 2022-04-26 13:33:01 PDT Comment hidden (obsolete)
Comment 29 Karl Rackler 2022-04-26 13:33:25 PDT Comment hidden (obsolete)
Comment 30 Karl Rackler 2022-04-26 13:33:48 PDT Comment hidden (obsolete)
Comment 31 Karl Rackler 2022-04-26 13:34:15 PDT Comment hidden (obsolete)
Comment 32 Karl Rackler 2022-04-26 13:35:10 PDT Comment hidden (obsolete)
Comment 33 Karl Rackler 2022-04-26 13:36:15 PDT Comment hidden (obsolete)
Comment 34 Karl Rackler 2022-04-26 13:36:48 PDT Comment hidden (obsolete)
Comment 35 Karl Rackler 2022-04-26 13:37:42 PDT Comment hidden (obsolete)
Comment 36 Karl Rackler 2022-04-26 13:38:44 PDT Comment hidden (obsolete)
Comment 37 Karl Rackler 2022-04-26 13:39:07 PDT Comment hidden (obsolete)
Comment 38 Simon Fraser (smfr) 2022-04-26 13:43:01 PDT
No need for all the duplicate logs.

com.apple.WebKit.Networking.Development: Could not compile WebContent sandbox: /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap

sandbox initialization failed: /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap

com.apple.WebKit.Networking.Development: Could not initialize sandbox profile [/Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb], error '/Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.NetworkProcess.sb:549:13: unbound variable:
	MSC_mach_msg2_trap
'
ENABLE_SANDBOX_MESSAGE_FILTER=YES
_OS_VERSION=12.3
WEBKIT2_FRAMEWORK_DIR=/Volumes/Builds/292959
DARWIN_USER_TEMP_DIR=/private/var/folders/t8/wt_bzchd67ddzrvh2ptzb39w0000gn/T/WebKitTestRunners-287mv_8z
DARWIN_USER_CACHE_DIR=/private/var/folders/t8/wt_bzchd67ddzrvh2ptzb39w0000gn/C/WebKitTestRunners-287mv_8z
HOME_DIR=/Users/karlrackler
HOME_LIBRARY_DIR=/Users/karlrackler/Library
HOME_LIBRARY_PREFERENCES_DIR=/Users/karlrackler/Library/Preferences
CPU=x86_64
com.apple.WebKit.Networking.Development: Unable to apply sandbox
1   0x113003759 WTFCrash
2   0x1490c7a0c WebKit::AuxiliaryProcess::initializeSandbox(WebKit::AuxiliaryProcessInitializationParameters const&, WebKit::SandboxInitializationParameters&)
3   0x148d072bc WebKit::NetworkProcess::initializeSandbox(WebKit::AuxiliaryProcessInitializationParameters const&, WebKit::SandboxInitializationParameters&)
4   0x1498260cd WebKit::AuxiliaryProcess::initialize(WebKit::AuxiliaryProcessInitializationParameters const&)
5   0x1491adf9e WebKit::NetworkProcess::NetworkProcess(WebKit::AuxiliaryProcessInitializationParameters&&)
6   0x1491ae40d WebKit::NetworkProcess::NetworkProcess(WebKit::AuxiliaryProcessInitializationParameters&&)
Comment 39 Karl Rackler 2022-04-26 13:48:43 PDT
Pull request: https://github.com/WebKit/WebKit/pull/398
Comment 40 Karl Rackler 2022-04-26 13:51:53 PDT
(In reply to Simon Fraser (smfr) from comment #38)
> No need for all the duplicate logs.
> 
> com.apple.WebKit.Networking.Development: Could not compile WebContent
> sandbox:
> /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.
> NetworkProcess.sb:549:13: unbound variable:
> 	MSC_mach_msg2_trap
> 
> sandbox initialization failed:
> /Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.
> NetworkProcess.sb:549:13: unbound variable:
> 	MSC_mach_msg2_trap
> 
> com.apple.WebKit.Networking.Development: Could not initialize sandbox
> profile
> [/Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.
> NetworkProcess.sb], error
> '/Volumes/Builds/292959/WebKit.framework/Resources/com.apple.WebKit.
> NetworkProcess.sb:549:13: unbound variable:
> 	MSC_mach_msg2_trap
> '
> ENABLE_SANDBOX_MESSAGE_FILTER=YES
> _OS_VERSION=12.3
> WEBKIT2_FRAMEWORK_DIR=/Volumes/Builds/292959
> DARWIN_USER_TEMP_DIR=/private/var/folders/t8/wt_bzchd67ddzrvh2ptzb39w0000gn/
> T/WebKitTestRunners-287mv_8z
> DARWIN_USER_CACHE_DIR=/private/var/folders/t8/wt_bzchd67ddzrvh2ptzb39w0000gn/
> C/WebKitTestRunners-287mv_8z
> HOME_DIR=/Users/karlrackler
> HOME_LIBRARY_DIR=/Users/karlrackler/Library
> HOME_LIBRARY_PREFERENCES_DIR=/Users/karlrackler/Library/Preferences
> CPU=x86_64
> com.apple.WebKit.Networking.Development: Unable to apply sandbox
> 1   0x113003759 WTFCrash
> 2   0x1490c7a0c
> WebKit::AuxiliaryProcess::initializeSandbox(WebKit::
> AuxiliaryProcessInitializationParameters const&,
> WebKit::SandboxInitializationParameters&)
> 3   0x148d072bc
> WebKit::NetworkProcess::initializeSandbox(WebKit::
> AuxiliaryProcessInitializationParameters const&,
> WebKit::SandboxInitializationParameters&)
> 4   0x1498260cd
> WebKit::AuxiliaryProcess::initialize(WebKit::
> AuxiliaryProcessInitializationParameters const&)
> 5   0x1491adf9e
> WebKit::NetworkProcess::NetworkProcess(WebKit::
> AuxiliaryProcessInitializationParameters&&)
> 6   0x1491ae40d
> WebKit::NetworkProcess::NetworkProcess(WebKit::
> AuxiliaryProcessInitializationParameters&&)

Roger that.
Comment 41 EWS 2022-04-26 14:35:20 PDT
Test gardening commit r293451 (250005@main): <https://commits.webkit.org/250005@main>

Reviewed commits have been landed. Closing PR #398 and removing active labels.
Comment 42 Simon Fraser (smfr) 2022-04-26 14:48:54 PDT
I'd prefer we didn't garden around a sandbox crash.
Comment 43 Simon Fraser (smfr) 2022-04-26 14:59:16 PDT
Sandbox crash was supposedly fixed in r292975. The current crashes all seem to be the compositing assertion.
Comment 44 Simon Fraser (smfr) 2022-04-27 17:19:51 PDT
Repro:
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough.html --iterations=100 --exit-after-n-failures=1 --expect-pass
Comment 45 Simon Fraser (smfr) 2022-04-27 18:17:49 PDT
Debugging so far:
* RenderLayer::contentChanged() is called for the video element's layer, setting the NeedsPostLayoutCompositingUpdate bit
* some compositing update runs, does not make the video composited, clears the bit
* a later compositing update skips the the `willBeComposited = needsToBeComposited(layer, queryData);` line in RenderLayerCompositor::computeCompositingRequirements(), but the video should have become composited.
Comment 46 Simon Fraser (smfr) 2022-04-27 18:21:14 PDT
Here's the problem:

18:19:55.658 71596 worker/0   RenderLayer 0x3ae195410 contentChanged 5
18:19:55.658 71596 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 0
...
18:19:55.659 71596 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 0
18:19:55.659 71596 worker/0   Clearing compositing requirements bits on layer RenderLayer 0x3ae195410 300x150
18:19:55.659 71596 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1
18:19:55.659 71596 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1
18:19:55.659 71596 worker/0   1 Mismatched compositing state on layer RenderLayer 0x3ae195410 300x150 willBeComposited 0 needsToBeComposited 1 did check 0
18:19:55.659 71596 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1

So "canAccelerateVideoRendering" changes from 0 to 1 without a call to contentChanged(). That's on media code to get right.
Comment 47 Simon Fraser (smfr) 2022-04-27 18:26:52 PDT
18:25:29.728 72341 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 0
18:25:29.728 72341 worker/0   Clearing compositing requirements bits on layer RenderLayer 0x45bf438e0 300x150
18:25:29.728 72341 worker/0   MediaPlayerPrivateAVFoundation 0x10f0a0d80 acceleratedRenderingStateChanged()
18:25:29.728 72341 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1
18:25:29.728 72341 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1
18:25:29.728 72341 worker/0   1 Mismatched compositing state on layer RenderLayer 0x45bf438e0 300x150 willBeComposited 0 needsToBeComposited 1 did check 0
18:25:29.728 72341 worker/0   requiresImmediateCompositing 0 shouldDisplayVideo 1 canAccelerateVideoRendering 1
18:25:29.728 72341 worker/0   ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData)

So MediaPlayerPrivateAVFoundation::acceleratedRenderingStateChanged() ran but did not trigger a call to contentChanged
Comment 48 Simon Fraser (smfr) 2022-04-27 18:35:48 PDT
The contract here is that if the answer to HTMLMediaElemenet::supportsAcceleratedRendering() changes, then contentChanged(VideoChanged) has to be called. That's not happening reliably.
Comment 49 Simon Fraser (smfr) 2022-04-27 20:49:26 PDT
Created attachment 458488 [details]
Patch
Comment 50 Alexey Proskuryakov 2022-04-27 22:55:14 PDT
Comment on attachment 458488 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=458488&action=review

> Source/WebKit/ChangeLog:3
> +        [ macOS Debug wk2 ] Thirteen imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash (ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData))

Could you please unskip the tests?
Comment 51 Simon Fraser (smfr) 2022-04-28 09:18:45 PDT
Created attachment 458528 [details]
Patch
Comment 52 Simon Fraser (smfr) 2022-04-28 09:25:26 PDT
Created attachment 458529 [details]
Patch
Comment 53 EWS 2022-04-28 14:24:52 PDT
Committed r293589 (250098@main): <https://commits.webkit.org/250098@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458529 [details].
Comment 54 Karl Rackler 2022-05-11 09:40:04 PDT
Verified tests no longer crashing.

History: 
https://results.webkit.org/?platform=mac&flavor=wk2&style=debug&limit=50000&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_canplay.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_loadeddata.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_loadstart.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_order_canplay_canplaythrough.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_order_loadedmetadata_loadeddata.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_pause.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_play.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2Fevent_timeupdate.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FnetworkState_during_progress.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_canplay.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_canplaythrough.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_loadeddata.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Fembedded-content%2Fmedia-elements%2FreadyState_during_playing.html