http/tests/navigation/page-cache-iframe-no-current-historyItem.html has become a flaky assertion failure on iOS and macOS debug bots. This appears to have started with https://trac.webkit.org/changeset/269244/webkit https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fnavigation%2Fpage-cache-iframe-no-current-historyItem.html ASSERTION FAILED: m_idHashSalt.isEmpty() || m_idHashSalt == salt ./dom/Document.cpp(7957) : void WebCore::Document::setDeviceIDHashSalt(const WTF::String &) 1 0x450d89f89 WTFCrash 2 0x4300025eb WTFCrashWithInfo(int, char const*, char const*, int) 3 0x4330fbf36 WebCore::Document::setDeviceIDHashSalt(WTF::String const&) 4 0x4324940b9 WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_3::operator()() 5 0x432493f5e WTF::Detail::CallableWrapper<WebCore::UserMediaRequest::allow(WebCore::CaptureDevice&&, WebCore::CaptureDevice&&, WTF::String&&, WTF::CompletionHandler<void ()>&&)::$_3, void>::call() 6 0x430016942 WTF::Function<void ()>::operator()() const 7 0x4324935ae void WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive<WebCore::UserMediaRequest>(WebCore::UserMediaRequest&, WebCore::TaskSource, WTF::Function<void ()>&&)::'lambda'()::operator()() const 8 0x4324930fe WTF::Detail::CallableWrapper<void WebCore::ActiveDOMObject::queueTaskKeepingObjectAlive<WebCore::UserMediaRequest>(WebCore::UserMediaRequest&, WebCore::TaskSource, WTF::Function<void ()>&&)::'lambda'(), void>::call() 9 0x430016942 WTF::Function<void ()>::operator()() const 10 0x433206e0e WebCore::EventLoopFunctionDispatchTask::execute() 11 0x4331fd4b5 WebCore::EventLoop::run() 12 0x433394e0c WebCore::WindowEventLoop::didReachTimeToRun() 13 0x43339a377 decltype(*(std::__1::forward<WebCore::WindowEventLoop*&>(fp0)).*fp()) std::__1::__invoke<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*&, void>(void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*&) 14 0x43339a2f0 std::__1::__bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<>, __is_valid_bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, 0ul, std::__1::tuple<> >(void (WebCore::WindowEventLoop::*&)(), std::__1::tuple<WebCore::WindowEventLoop*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) 15 0x43339a2a9 std::__1::__bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<>, __is_valid_bind_return<void (WebCore::WindowEventLoop::*)(), std::__1::tuple<WebCore::WindowEventLoop*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*>::operator()<>() 16 0x43339a24e WTF::Detail::CallableWrapper<std::__1::__bind<void (WebCore::WindowEventLoop::*&)(), WebCore::WindowEventLoop*>, void>::call() 17 0x430016942 WTF::Function<void ()>::operator()() const 18 0x43004deae WebCore::Timer::fired() 19 0x4342aeb84 WebCore::ThreadTimers::sharedTimerFiredInternal() 20 0x4342b7e61 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const 21 0x4342b7e0e WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call() 22 0x430016942 WTF::Function<void ()>::operator()() const 23 0x43426b10b WebCore::MainThreadSharedTimer::fired() 24 0x4343263a6 WebCore::timerFired(__CFRunLoopTimer*, void*) 25 0x7fff350507f9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ 26 0x7fff3505035f __CFRunLoopDoTimer 27 0x7fff3504fe47 __CFRunLoopDoTimers 28 0x7fff35034bea __CFRunLoopRun 29 0x7fff35033e3e CFRunLoopRunSpecific 30 0x7fff376cf1c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 31 0x7fff37781c6f -[NSRunLoop(NSRunLoop) run] LEAK: 2 WebPageProxy
<rdar://problem/70963733>
This also affects http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fnavigation%2Fpage-cache-iframe-no-current-historyItem.html
Created attachment 413021 [details] Patch
Committed r269295: <https://trac.webkit.org/changeset/269295> All reviewed patches have been landed. Closing bug and clearing flags on attachment 413021 [details].