Bug 218458 - REGRESSION (r269244?): ASSERTION FAILED: m_idHashSalt.isEmpty() || m_idHashSalt == salt in WebCore::Document::setDeviceIDHashSalt
Summary: REGRESSION (r269244?): ASSERTION FAILED: m_idHashSalt.isEmpty() || m_idHashSa...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: youenn fablet
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-11-02 13:22 PST by Ryan Haddad
Modified: 2020-11-03 05:35 PST (History)
14 users (show)

See Also:


Attachments
Patch (2.93 KB, patch)
2020-11-03 01:46 PST, youenn fablet
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2020-11-02 13:22:36 PST
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
Comment 1 Radar WebKit Bug Importer 2020-11-02 13:23:35 PST
<rdar://problem/70963733>
Comment 2 Ryan Haddad 2020-11-02 14:42:44 PST
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
Comment 3 youenn fablet 2020-11-03 01:46:31 PST
Created attachment 413021 [details]
Patch
Comment 4 EWS 2020-11-03 05:35:53 PST
Committed r269295: <https://trac.webkit.org/changeset/269295>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413021 [details].