Bug 288146
Summary: | [Win] Received invalid message GPUConnectionToWebProcess_CreateRenderingBackend for destination 0 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Fujii Hironori <fujii.hironori> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | Keywords: | DoNotImportToRadar |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Fujii Hironori
Some layout tests are randomly crashing.
I'm testing with Windows Debug build of 290741@main and running "python .\Tools\Scripts\run-webkit-tests --debug".
Regressions: Unexpected crashes (3)
fast/dom/Window/addEventListener-implicit-this.html [ Crash ]
http/tests/navigation/anchor-frames-same-origin.html [ Crash ]
http/wpt/html/semantics/scripting-1/the-script-element/module/module-fails-decoding-then-load-as-classic-script.html [ Crash ]
Received invalid message GPUConnectionToWebProcess_CreateRenderingBackend for destination 0
SHOULD NEVER BE REACHED
C:\webkit\wa\Source\WebKit\Platform/IPC/Connection.cpp(1453) : void IPC::Connection::dispatchMessage(UniqueRef<Decoder>)
ERROR: [webFrameID=343, webPageID=339] WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction: Got policyAction 0 from async IPC
C:\webkit\wa\Source\WebKit\WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp(213) : auto WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction &, const ResourceRequest &, const ResourceResponse &, FormState *, const String &, std::optional<WebCore::NavigationIdentifier>, std::optional<WebCore::HitTestResult> &&, bool, IsPerformingHTTPFallback, SandboxFlags, PolicyDecisionMode, FramePolicyFunction &&)::(anonymous class)::operator()(PolicyDecision &&) const
ERROR: [webFrameID=715, webPageID=711] WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction: Got policyAction 0 from async IPC
C:\webkit\wa\Source\WebKit\WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp(213) : auto WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction &, const ResourceRequest &, const ResourceResponse &, FormState *, const String &, std::optional<WebCore::NavigationIdentifier>, std::optional<WebCore::HitTestResult> &&, bool, IsPerformingHTTPFallback, SandboxFlags, PolicyDecisionMode, FramePolicyFunction &&)::(anonymous class)::operator()(PolicyDecision &&) const
1 00007FFD92DB42BF IPC::Connection::dispatchMessage
2 00007FFD92DBBC1D IPC::Connection::SyncMessageState::ConnectionAndIncomingMessage::dispatch
3 00007FFD92DADDFC IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection
4 00007FFD92DB45EF IPC::Connection::dispatchSyncStateMessages
5 00007FFD92DB741B IPC::Connection::SyncMessageState::processIncomingMessage::<lambda_1>::operator()
6 00007FFD92DB73B7 WTF::Detail::CallableWrapper<`lambda at C:\webkit\wa\Source\WebKit\Platform\IPC\Connection.cpp:239:30',void>::call
7 00007FFD8ED00CEC WTF::Function<void ()>::operator()
8 00007FFD907781B2 WTF::RunLoop::performWork
9 00007FFD90934C18 WTF::RunLoop::wndProc
10 00007FFD90934B23 WTF::RunLoop::RunLoopWndProc
11 00007FFE492283F1 DispatchMessageW
12 00007FFE49227EB1 DispatchMessageW
13 00007FFD90934E92 WTF::RunLoop::run
14 00007FFD91CD2183 WebKit::AuxiliaryProcessMainBase<WebKit::GPUProcess,1>::run
15 00007FFD91CD2037 WebKit::AuxiliaryProcessMain<WebKit::GPUProcessMainWin>
16 00007FFD91CD1FE1 WebKit::GPUProcessMain
17 00007FF62BEF101C main
18 00007FF62BEF13CC __scrt_common_main_seh
19 00007FFE4959259D BaseThreadInitThunk
20 00007FFE4A36AF38 RtlUserThreadStart
ERROR: 000002607142FD70 - [PID=27292] WebProcessProxy::gpuProcessConnectionDidBecomeUnresponsive
C:\webkit\wa\Source\WebKit\UIProcess/WebProcessProxy.cpp(1159) : void WebKit::WebProcessProxy::gpuProcessConnectionDidBecomeUnresponsive(GPUProcessConnectionIdentifier)
ERROR: 00000260703E6500 - GPUProcessProxy::childConnectionDidBecomeUnresponsive:
C:\webkit\wa\Source\WebKit\UIProcess/GPU/GPUProcessProxy.cpp(621) : void WebKit::GPUProcessProxy::childConnectionDidBecomeUnresponsive()
ERROR: 00000260703E6500 - GPUProcessProxy::didBecomeUnresponsive: GPUProcess with PID 32684 became unresponsive, terminating it
C:\webkit\wa\Source\WebKit\UIProcess/GPU/GPUProcessProxy.cpp(860) : virtual void WebKit::GPUProcessProxy::didBecomeUnresponsive()
ERROR: 00000260703E6500 - GPUProcessProxy::gpuProcessExited: reason=Unresponsive
C:\webkit\wa\Source\WebKit\UIProcess/GPU/GPUProcessProxy.cpp(580) : void WebKit::GPUProcessProxy::gpuProcessExited(ProcessTerminationReason)
GPUProcess terminated (pid 32684) for reason: crash
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Fujii Hironori
CreateRenderingBackend message contains an IPC::StreamServerConnectionHandle which contains a WebCore::SharedMemoryHandle which contains a Win32Handle.
Transfering a Win32Handle fails if a source process exits before destination process recieves the Win32Handle,
See also 279361@main.
Fujii Hironori
This assertion failure is reproducible on my PC.
> python .\Tools\Scripts\run-webkit-tests --debug --no-retry --iter=1000 --exit-after-n-crash=1 -f fast/dom/Window/a-rel-noopener.html
See also bug#280843 comment#4