Bug 264438
| Summary: | [Win] ~CompletionHandler's assertion "Completion handler should always be called" fails under RemoteWCLayerTreeHost::update | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <fujii.hironori> |
| Component: | Platform | Assignee: | Fujii Hironori <fujii.hironori> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Fujii Hironori
Running layout tests with Windows Debug randomly reports an assertion failure in GPU process.
https://build.webkit.org/results/WinCairo-64-bit-Debug-Tests/270384@main%20(21283)/animations/spring-function-stderr.txt
2 00007FF8F92E9510 WTF::CompletionHandler<void (std::optional<WebKit::UpdateInfo>)>::~CompletionHandler
3 00007FF8F92E40AF WebKit::RemoteWCLayerTreeHost::update::<lambda_2>::operator()::<lambda_1>::~(lambda at C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\GPUProcess\graphics\wc\RemoteWCLayerTreeHost.cpp:103:34)
4 00007FF8F92E4396 WTF::Detail::CallableWrapper<`lambda at C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\GPUProcess\graphics\wc\RemoteWCLayerTreeHost.cpp:103:34',void>::~CallableWrapper
5 00007FF8F92E4329 WTF::Detail::CallableWrapper<`lambda at C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\GPUProcess\graphics\wc\RemoteWCLayerTreeHost.cpp:103:34',void>::~CallableWrapper
6 00007FF9078CD651 std::default_delete<WTF::Detail::CallableWrapperBase<void> >::operator()
7 00007FF9078CD607 std::unique_ptr<WTF::Detail::CallableWrapperBase<void>,std::default_delete<WTF::Detail::CallableWrapperBase<void> > >::~unique_ptr
8 00007FF9078CC2E3 WTF::Function<void ()>::~Function
9 00007FF90795AC84 WTF::RunLoop::performWork
10 00007FF907A2F1A0 WTF::RunLoop::wndProc
11 00007FF907A2F0D7 WTF::RunLoop::RunLoopWndProc
12 00007FF8FBE60089 CallWindowProcW
13 00007FF8FBE5FA02 DispatchMessageW
14 00007FF907A2F36D WTF::RunLoop::run
15 00007FF8F9305423 WebKit::AuxiliaryProcessMainBase<WebKit::GPUProcess,0>::run
16 00007FF8F93052D7 WebKit::AuxiliaryProcessMain<WebKit::GPUProcessMainWin>
17 00007FF8F93051B3 WebKit::GPUProcessMain
18 00007FF7205C124C main
19 00007FF7205C18BC __scrt_common_main_seh
20 00007FF900C54DE0 BaseThreadInitThunk
21 00007FF91541EC4B RtlUserThreadStart
ERROR: 0000028A1D7985E0 - GPUProcessProxy::didClose:
C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/GPU/GPUProcessProxy.cpp(517) : didClose
ERROR: 0000028A1D7985E0 - GPUProcessProxy::gpuProcessExited: reason=Crash
C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/GPU/GPUProcessProxy.cpp(481) : gpuProcessExited
GPUProcess terminated (pid 14252) for reason: crash
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Fujii Hironori
https://build.webkit.org/results/WinCairo-64-bit-Debug-Tests/270419@main%20(21286)/animations/resume-after-page-cache-crash-log.txt
ASSERTION FAILED: Completion handler should always be called
!m_function
C:\BW\WinCairo-64-bit-Debug-Build\build\WebKitBuild\Debug\WTF\Headers\wtf/CompletionHandler.h(65) : ~CompletionHandler
1 00007FF9078C1B99 WTFCrash
2 00007FF8F92E9510 WTF::CompletionHandler<void (std::optional<WebKit::UpdateInfo>)>::~CompletionHandler
3 00007FF8F92E40AF WebKit::RemoteWCLayerTreeHost::update::<lambda_2>::operator()::<lambda_1>::~(lambda at C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\GPUProcess\graphics\wc\RemoteWCLayerTreeHost.cpp:103:34)
(...)
Fujii Hironori
It's reproducible on my PC.
> python .\Tools\Scripts\run-webkit-tests --debug --iter=100 -f --no-retry --no-show compositing/shared-backing/backing-sharing-compositing-change.html compositing/shared-backing/move-sharing-child.html
or
> python .\Tools\Scripts\run-webkit-tests --debug --iter=10 -f --no-retry --no-show compositing/shared-backing
Fujii Hironori
Pull request: https://github.com/WebKit/WebKit/pull/20290
EWS
Committed 270571@main (a7d29235f1b0): <https://commits.webkit.org/270571@main>
Reviewed commits have been landed. Closing PR #20290 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/118253244>