Bug 250096

Summary: ASSERTION FAILED: isContextThread() in WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon for workers/worker-to-worker.html
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, cdumez, kkinnunen, ryanhaddad, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Fujii Hironori 2023-01-04 12:28:05 PST
ASSERTION FAILED: isContextThread() in WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon for workers/worker-to-worker.html

Some debug builds layout test buildbots are crashing randomly for workers/worker-to-worker.html.

WebKit Results Database: workers/worker-to-worker.html
https://results.webkit.org/?suite=layout-tests&test=workers%2Fworker-to-worker.html

Buildbot: builder Apple-Monterey-Debug-AppleSilicon-WK1-Tests build 5447
https://build.webkit.org/#/builders/367/builds/5447
https://build.webkit.org/results/Apple-Monterey-Debug-AppleSilicon-WK1-Tests/258333@main%20(5447)/results.html

ASSERTION FAILED: isContextThread()
dom/ScriptExecutionContext.cpp(207) : void WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon(CompletionHandler<void ()> &&)
1   0x1197d05f8 WTFCrash
2   0x12350d470 WebCore::JSANGLEInstancedArrays::createPrototype(JSC::VM&, WebCore::JSDOMGlobalObject&)
3   0x126b1d304 WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon(WTF::CompletionHandler<void ()>&&)
4   0x126a8f524 WebCore::MessagePort::messageAvailable()
5   0x126aa805c auto WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)::$_7::operator()<WebCore::ScriptExecutionContext>(WebCore::ScriptExecutionContext&) const
6   0x126aa7fac WTF::Detail::CallableWrapper<WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)::$_7, void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext&)
7   0x125c4b12c WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const
8   0x125c35e2c WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&)
9   0x126b20ba0 WebCore::ScriptExecutionContext::ensureOnContextThread(WebCore::ProcessQualified<WTF::UUID>, WebCore::ScriptExecutionContext::Task&&)
10  0x126a8e100 WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)
11  0x126be80b0 WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_9::operator()()
12  0x126be7f90 WTF::Detail::CallableWrapper<WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_9, void>::call()
13  0x1197fcbb4 WTF::Function<void ()>::operator()() const
14  0x11985f804 WTF::ensureOnMainThread(WTF::Function<void ()>&&)
15  0x126bda2dc WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)
16  0x126bf3b68 WebCore::WorkerMessagePortChannelProvider::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_4::operator()()
17  0x126bf3a64 WTF::Detail::CallableWrapper<WebCore::WorkerMessagePortChannelProvider::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_4, void>::call()
18  0x1197fcbb4 WTF::Function<void ()>::operator()() const
19  0x1198a0430 WTF::RunLoop::performWork()
20  0x1198a6430 WTF::RunLoop::performWork(void*)
21  0x1958c29a0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
22  0x1958c28ec __CFRunLoopDoSource0
23  0x1958c25ec __CFRunLoopDoSources0
24  0x1958c0f6c __CFRunLoopRun
25  0x1958c0490 CFRunLoopRunSpecific
26  0x10223db0c runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
27  0x10223cf80 runTestingServerLoop()
28  0x10223c670 dumpRenderTree(int, char const**)
29  0x10223e47c DumpRenderTreeMain(int, char const**)
30  0x102327c74 main
31  0x102a79088 (null)
Comment 1 Fujii Hironori 2023-01-04 12:29:42 PST
Buildbot: builder WinCairo-64-bit-Debug-Tests build 120
https://build.webkit.org/#/builders/727/builds/120
https://build.webkit.org/results/WinCairo-64-bit-Debug-Tests/258369@main%20(120)/results.html

ASSERTION FAILED: isContextThread()
C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebCore\dom/ScriptExecutionContext.cpp(207) : WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon
1   00007FFE28FF248B WTFCrash
2   00007FFE09E7DFBE WTFCrashWithInfo
3   00007FFE0CA76F3E WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon
4   00007FFE0CA040D1 WebCore::MessagePort::messageAvailable
5   00007FFE0CA1FDAE `WebCore::MessagePort::notifyMessageAvailable'::`2'::<lambda_1>::operator()<WebCore::ScriptExecutionContext>
6   00007FFE0CA1BD94 WTF::Detail::CallableWrapper<`WebCore::MessagePort::notifyMessageAvailable'::`2'::<lambda_1>,void,WebCore::ScriptExecutionContext &>::call
7   00007FFE0BE589F7 WTF::Function<void __cdecl(WebCore::ScriptExecutionContext &)>::operator()
8   00007FFE0BE619C8 WebCore::ScriptExecutionContext::Task::performTask
9   00007FFE0CA78006 WebCore::ScriptExecutionContext::ensureOnContextThread
10  00007FFE0CA03FDC WebCore::MessagePort::notifyMessageAvailable
11  00007FFE1E842B3A WebKit::WebProcess::messagesAvailableForPort
12  00007FFE1EC622D8 WebKit::WebMessagePortChannelProvider::postMessageToRemote
13  00007FFE0CB30BA1 `WebCore::WorkerMessagePortChannelProvider::postMessageToRemote'::`2'::<lambda_1>::operator()
14  00007FFE0CB32C9B WTF::Detail::CallableWrapper<`WebCore::WorkerMessagePortChannelProvider::postMessageToRemote'::`2'::<lambda_1>,void>::call
15  00007FFE2900A503 WTF::Function<void __cdecl(void)>::operator()
16  00007FFE290A2108 WTF::RunLoop::performWork
17  00007FFE2918C471 WTF::RunLoop::wndProc
18  00007FFE2918C3D4 WTF::RunLoop::RunLoopWndProc
19  00007FFE35D774D6 DispatchMessageW
20  00007FFE35D76FF2 DispatchMessageW
21  00007FFE2918B956 WTF::RunLoop::run
22  00007FFE1D26093B WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess,1>::run
23  00007FFE1D260703 WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWin>
24  00007FFE1D260545 WebKit::WebProcessMain
25  00007FF6FA92101D main
26  00007FF6FA92125C __scrt_common_main_seh
27  00007FFE33D37AF4 BaseThreadInitThunk
28  00007FFE3887A371 RtlUserThreadStart
Comment 2 Fujii Hironori 2023-01-04 12:35:25 PST
Buildbot: builder Apple-Monterey-Debug-WK1-Tests build 3976
https://build.webkit.org/#/builders/374/builds/3976
https://build.webkit.org/results/Apple-Monterey-Debug-WK1-Tests/255610@main%20(3976)/results.html

ASSERTION FAILED: isContextThread()
dom/ScriptExecutionContext.cpp(202) : void WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon()
1   0x126df2619 WTFCrash
2   0x13734b56b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x13af7938c WebCore::ScriptExecutionContext::processMessageWithMessagePortsSoon()
4   0x13aed7108 WebCore::MessagePort::messageAvailable()
5   0x13aeedcce auto WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)::$_7::operator()<WebCore::ScriptExecutionContext>(WebCore::ScriptExecutionContext&) const
6   0x13aeedc21 WTF::Detail::CallableWrapper<WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)::$_7, void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext&)
7   0x13a193c17 WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const
8   0x13a17eccd WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&)
9   0x13af7ce11 WebCore::ScriptExecutionContext::ensureOnContextThread(WebCore::ProcessQualified<WTF::UUID>, WebCore::ScriptExecutionContext::Task&&)
10  0x13aed5c15 WebCore::MessagePort::notifyMessageAvailable(WebCore::MessagePortIdentifier const&)
11  0x13b0258f2 WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_5::operator()()
12  0x13b0257d9 WTF::Detail::CallableWrapper<WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_5, void>::call()
13  0x126e22f52 WTF::Function<void ()>::operator()() const
14  0x126e821b7 WTF::ensureOnMainThread(WTF::Function<void ()>&&)
15  0x13b01c8ea WebCore::MessagePortChannelProviderImpl::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)
16  0x13b03114b WebCore::WorkerMessagePortChannelProvider::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_16::operator()()
17  0x13b031069 WTF::Detail::CallableWrapper<WebCore::WorkerMessagePortChannelProvider::postMessageToRemote(WebCore::MessageWithMessagePorts&&, WebCore::MessagePortIdentifier const&)::$_16, void>::call()
18  0x126e22f52 WTF::Function<void ()>::operator()() const
19  0x126ec330e WTF::RunLoop::performWork()
20  0x126ec88de WTF::RunLoop::performWork(void*)
21  0x7ff81fee4aeb __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
22  0x7ff81fee4a53 __CFRunLoopDoSource0
23  0x7ff81fee47cd __CFRunLoopDoSources0
24  0x7ff81fee31e8 __CFRunLoopRun
25  0x7ff81fee27ac CFRunLoopRunSpecific
26  0x106d53aaa runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
27  0x106d52cd7 runTestingServerLoop()
28  0x106d524a2 dumpRenderTree(int, char const**)
29  0x106d545e8 DumpRenderTreeMain(int, char const**)
30  0x106e3af92 main
31  0x1144e351e (null)
Comment 3 Radar WebKit Bug Importer 2023-01-11 12:29:17 PST
<rdar://problem/104135032>