Bug 283608
| Summary: | [run-webkit-tests] -stderr.txt file isn't generated if the ref test fails to generate a pixel dump | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <fujii> |
| Component: | New Bugs | Assignee: | Fujii Hironori <fujii> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Fujii Hironori
REGRESSION(281821@main): [Win WebKitTestRunner] stderr isn't flushed when WebProcess crashed
For example, WebProcess crashed 50 times in the following test run.
https://build.webkit.org/results/Windows-64-bit-Debug-Tests/286841@main%20(414)/results.html
But, only half of them has stderr.
I don't know when this problem started to happen.
I don't observe this problem on my PC and don't know how to reproduce.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Fujii Hironori
Oops. I wrote "REGRESSION(281821@main)" in the above comment. But, I'm not sure.
281821@main changed only UI process not to flush when crashing. I think WebProcess should flush by itself before it crashes.
Fujii Hironori
The removed function 'exceptionFilter' was called only when UI process crashed.
UI process didn't crash when a web process crashed.
So, I think 'exceptionFilter' is called in the above test runs.
Fujii Hironori
It is strange that stderr is empty even assuming that the web process crashed without flushing.
In https://build.webkit.org/results/Windows-64-bit-Debug-Tests/286841@main%20(414)/compositing/tiling/tiled-drawing-async-frame-scrolling-stderr.txt
the first half part was output by the web process, and the second half part was output by the UI process.
> ERROR: 0000026C78A14C20 - [PID=7720] WebProcessProxy::didClose (web process crash)
> C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1272) : virtual void WebKit::WebProcessProxy::didClose(IPC::Connection &)
> ERROR: 0000026C78A14C20 - [PID=7720] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash
> C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(1280) : void WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch(ProcessTerminationReason)
> ERROR: 0000026C78A2E9F0 - [pageProxyID=62, webPageID=63, PID=7720] WebPageProxy::processDidTerminate: (pid 7720), reason=Crash
> C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10636) : void WebKit::WebPageProxy::resetStateAfterProcessTermination(ProcessTerminationReason)
> ERROR: 0000026C78A2E9F0 - [pageProxyID=62, webPageID=63, PID=7720] WebPageProxy::dispatchProcessDidTerminate: reason=Crash
> C:\BW\Windows-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebPageProxy.cpp(10690) : void WebKit::WebPageProxy::dispatchProcessDidTerminate(WebProcessProxy &, ProcessTerminationReason)
> WebProcess terminated (pid 7720) for reason: crash
Fujii Hironori
(In reply to Fujii Hironori from comment #2)
> So, I think 'exceptionFilter' is called in the above test runs.
Correction:
So, I think 'exceptionFilter' *isn't* called in the above test runs.
Fujii Hironori
The all missing stderrs were actually recoreded in the log of run-webkit-tests.
https://build.webkit.org/#/builders/1190/builds/414
This is not a WebKit problem, but a run-webkit-tests problem.
Fujii Hironori
Pull request: https://github.com/WebKit/WebKit/pull/37113
EWS
Committed 287069@main (cf0de478beaf): <https://commits.webkit.org/287069@main>
Reviewed commits have been landed. Closing PR #37113 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/140549836>