RESOLVED FIXED264438
[Win] ~CompletionHandler's assertion "Completion handler should always be called" fails under RemoteWCLayerTreeHost::update
https://bugs.webkit.org/show_bug.cgi?id=264438
Summary [Win] ~CompletionHandler's assertion "Completion handler should always be cal...
Fujii Hironori
Reported 2023-11-08 14:21:28 PST
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
Fujii Hironori
Comment 1 2023-11-09 11:51:22 PST
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
Comment 2 2023-11-09 13:30:21 PST
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
Comment 3 2023-11-09 22:38:28 PST
EWS
Comment 4 2023-11-10 14:59:44 PST
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
Comment 5 2023-11-10 15:00:16 PST
Note You need to log in before you can comment on or make changes to this bug.