STR: 1- In a debug build, open Paramount+ and start playing a movie such as the historical documentary about Ron Burgundy https://www.paramountplus.com/movies/anchorman-the-legend-of-ron-burgundy/mdAfXe4Sow6aUj51PTldodHHY4VXF7Pg/ 2- Click on full screen button 3- Once in full screen, wait a few seconds and exit full screen 4- Repeat What happens: You will hit the assertion ASSERT(!resources.get(key)) stack trace: (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xbbadbeef) frame #0: 0x0000000404765bee JavaScriptCore`::WTFCrash() at Assertions.cpp:321:35 frame #1: 0x000000041637544b WebCore`WTFCrashWithInfo((null)=151, (null)="./loader/cache/MemoryCache.cpp", (null)="void WebCore::MemoryCache::revalidationSucceeded(WebCore::CachedResource &, const WebCore::ResourceResponse &)", (null)=1918) at Assertions.h:703:5 * frame #2: 0x0000000419f710f0 WebCore`WebCore::MemoryCache::revalidationSucceeded(this=0x000000041d123ae8, revalidatingResource=0x000000040ca45400, response=0x00007ff7b7e6b5b8) at MemoryCache.cpp:151:5 frame #3: 0x0000000419eba41c WebCore`WebCore::SubresourceLoader::didReceiveResponse(this=0x0000000400974d80, response=0x00007ff7b7e6bc80, policyCompletionHandler=0x00007ff7b7e6ba98)>&&) at SubresourceLoader.cpp:419:38 frame #4: 0x00000003ec5d38f5 WebKit`WebKit::WebResourceLoader::didReceiveResponse(this=0x0000000403d268a0, response=0x00007ff7b7e6bc80, needsContinueDidReceiveResponseMessage=false) at WebResourceLoader.cpp:189:19 frame #5: 0x00000003ecc80b18 WebKit`void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::ResourceResponse const&, bool), std::__1::tuple<WebCore::ResourceResponse, bool>, 0ul, 1ul>(object=0x0000000403d268a0, function=80 33 5d ec 03 00 00 00 00 00 00 00 00 00 00 00, args=size=2, (null)=std::__1::index_sequence<0UL, 1UL> @ 0x00007ff7b7e6bbb8)(WebCore::ResourceResponse const&, bool), std::__1::tuple<WebCore::ResourceResponse, bool>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) at HandleMessage.h:125:5 frame #6: 0x00000003ecc80a4d WebKit`void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::ResourceResponse const&, bool), std::__1::tuple<WebCore::ResourceResponse, bool>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(args=size=2, object=0x0000000403d268a0, function=80 33 5d ec 03 00 00 00 00 00 00 00 00 00 00 00)(WebCore::ResourceResponse const&, bool)) at HandleMessage.h:131:5 frame #7: 0x00000003ecc7e3a0 WebKit`void IPC::handleMessage<Messages::WebResourceLoader::DidReceiveResponse, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::ResourceResponse const&, bool)>(connection=0x00000003d86dc300, decoder=0x00000004017ece58, object=0x0000000403d268a0, function=80 33 5d ec 03 00 00 00 00 00 00 00 00 00 00 00)(WebCore::ResourceResponse const&, bool)) at HandleMessage.h:202:5 frame #8: 0x00000003ecc7dc88 WebKit`WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(this=0x0000000403d268a0, connection=0x00000003d86dc300, decoder=0x00000004017ece58) at WebResourceLoaderMessageReceiver.cpp:52:16 frame #9: 0x00000003ec58f1ef WebKit`WebKit::NetworkProcessConnection::didReceiveMessage(this=0x00000003d86e82a0, connection=0x00000003d86dc300, decoder=0x00000004017ece58) at NetworkProcessConnection.cpp:96:32 frame #10: 0x00000003ea6b6b2e WebKit`IPC::Connection::dispatchMessage(this=0x00000003d86dc300, decoder=0x00000004017ece58) at Connection.cpp:1058:14 frame #11: 0x00000003ea6b72d2 WebKit`IPC::Connection::dispatchMessage(this=0x00000003d86dc300, message=IPC::Decoder @ 0x00000004017ece58) at Connection.cpp:1103:9 frame #12: 0x00000003ea6b789d WebKit`IPC::Connection::dispatchOneIncomingMessage(this=0x00000003d86dc300) at Connection.cpp:1172:5 frame #13: 0x00000003ea6d7305 WebKit`IPC::Connection::enqueueIncomingMessage(this=0x00000003e5553698)::$_12::operator()() at Connection.cpp:1027:28 frame #14: 0x00000003ea6d7219 WebKit`WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12, void>::call(this=0x00000003e5553690) at Function.h:53:39 frame #15: 0x000000040478ec32 JavaScriptCore`WTF::Function<void ()>::operator(this=0x00007ff7b7e6c220)() const at Function.h:82:35 frame #16: 0x000000040480c7ce JavaScriptCore`WTF::RunLoop::performWork(this=0x00000003d86fc080) at RunLoop.cpp:133:9 frame #17: 0x000000040481009e JavaScriptCore`WTF::RunLoop::performWork(context=0x00000003d86fc080) at RunLoopCF.cpp:46:37 frame #18: 0x00007ff80a92884d CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 frame #19: 0x00007ff80a9287b5 CoreFoundation`__CFRunLoopDoSource0 + 180 frame #20: 0x00007ff80a928534 CoreFoundation`__CFRunLoopDoSources0 + 242 frame #21: 0x00007ff80a926f6b CoreFoundation`__CFRunLoopRun + 893 frame #22: 0x00007ff80a92652d CoreFoundation`CFRunLoopRunSpecific + 563 frame #23: 0x00007ff80b78d2ae Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 216 frame #24: 0x00007ff80b8175f3 Foundation`-[NSRunLoop(NSRunLoop) run] + 76 frame #25: 0x00007ff80a5af233 libxpc.dylib`_xpc_objc_main + 825 frame #26: 0x00007ff80a5aec22 libxpc.dylib`xpc_main + 99 frame #27: 0x00000003eb54e53a WebKit`WebKit::XPCServiceMain((null)=1, (null)=0x00007ff7b7e6d530) at XPCServiceMain.mm:223:5 frame #28: 0x00000003ecd1d8ab WebKit`WKXPCServiceMain(argc=1, argv=0x00007ff7b7e6d530) at WKMain.mm:34:12 frame #29: 0x0000000108095ea2 com.apple.WebKit.WebContent.Development`main(argc=1, argv=0x00007ff7b7e6d530) at AuxiliaryProcessMain.cpp:30:12 frame #30: 0x0000000115d764d5 dyld`start + 421 Can always reproduce, typically within 30s. For going full screen to work properly, the fix in bug 231005 is required.
<rdar://problem/83794817>