Bug 264361 - REGRESSION(270308@main): [Win] ASSERTION FAILED: liveProcessesLRU().computeSize() < s_maxProcessCount for a random storage/indexeddb/modern test
Summary: REGRESSION(270308@main): [Win] ASSERTION FAILED: liveProcessesLRU().computeSi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
: 264717 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-11-07 13:20 PST by Fujii Hironori
Modified: 2023-11-15 11:50 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2023-11-07 13:20:45 PST
WinCairo-64-bit-Debug-Tests is crashing for storage/indexeddb/modern/aborted-put-private.html.

Regressions: Unexpected crashes (1)
  storage/indexeddb/modern/aborted-put-private.html [ Crash ]

Buildbot: builder WinCairo-64-bit-Debug-Tests build 21277 (270314@main)
https://build.webkit.org/#/builders/727/builds/21277

https://build.webkit.org/results/WinCairo-64-bit-Debug-Tests/270314@main%20(21277)/storage/indexeddb/modern/aborted-put-private-crash-log.txt

ASSERTION FAILED: liveProcessesLRU().computeSize() < s_maxProcessCount
C:\BW\WinCairo-64-bit-Debug-Build\build\Source\WebKit\UIProcess/WebProcessProxy.cpp(229) : create
1   00007FF9078C1C19 WTFCrash
2   00007FF8F91B1C6D WTFCrashWithInfo
3   00007FF8FA31F175 WebKit::WebProcessProxy::create
4   00007FF8FA31EE22 WebKit::WebProcessPool::createNewWebProcess
5   00007FF8FA321502 WebKit::WebProcessPool::processForRegistrableDomain
6   00007FF8FA20BC90 WebKit::WebPageProxy::launchProcess
7   00007FF8FA210235 WebKit::WebPageProxy::loadRequest
8   00007FF8FA210C3B WebKit::WebPageProxy::loadRequest
9   00007FF8FA3E03DC WKPageLoadURL
10  00007FF76F5B2CCD WTR::TestController::resetStateToConsistentValues::<lambda_0>::operator()
11  00007FF76F5B1DF3 WTR::TestController::resetStateToConsistentValues
12  00007FF76F5B13F2 WTR::TestController::ensureViewSupportsOptionsForTest
13  00007FF76F5B3EF2 WTR::TestController::configureViewForTest
14  00007FF76F6057B4 WTR::TestInvocation::invoke
15  00007FF76F5B4218 WTR::TestController::runTest
16  00007FF76F5B44CE WTR::TestController::runTestingServerLoop
17  00007FF76F5AD0C7 WTR::TestController::run
18  00007FF76F5ACCBA WTR::TestController::TestController
19  00007FF76F633D0D main
20  00007FF76F9F1094 __scrt_common_main_seh
21  00007FF900C54DE0 BaseThreadInitThunk
22  00007FF91541EC4B RtlUserThreadStart
Comment 1 Fujii Hironori 2023-11-07 13:22:37 PST
According to WinCairo-64-bit-Debug-Tests results, it seems to be a regression.

270300@main: Good
270307@main: Good
270314@main: Bad
270316@main: Bad

However, it's not reproducible on my PC. And, there is no suspicous change in the revision range.
Comment 2 Fujii Hironori 2023-11-12 17:42:05 PST
After I rebooted wincairo-debug-tests-02,  storage/indexeddb/modern/aborted-put-private.html isn't crashing,
But, storage/indexeddb/modern/basic-add-private.html is crashing with the assertion failure.

Buildbot: builder WinCairo-64-bit-Debug-Tests build 21296 (270572@main)
https://build.webkit.org/#/builders/727/builds/21296

https://results.webkit.org/?suite=layout-tests&suite=layout-tests&test=storage%2Findexeddb%2Fmodern%2Fbasic-add-private.html&test=storage%2Findexeddb%2Fmodern%2Faborted-put-private.html&platform=wincairo
Comment 3 Fujii Hironori 2023-11-13 00:05:35 PST
This assertion failure is reproducible on my PC.

> python .\Tools\Scripts\run-webkit-tests --debug  --no-retry --iter=500 --child=1 storage/indexeddb/modern/aborted-put.html storage/indexeddb/modern/aborted-put-private.html

> [401/1000] storage/indexeddb/modern/aborted-put-private.html failed unexpectedly (WebKitTestRunner crashed [pid=18144])
> [802/1000] storage/indexeddb/modern/aborted-put.html failed unexpectedly (WebKitTestRunner crashed [pid=37176])

This happens every 400 web process creations?
Comment 4 Fujii Hironori 2023-11-13 17:07:33 PST
The half of storage/indexeddb tests have "<!-- webkit-test-runner [ useEphemeralSession=true ] -->" header,
and the other doesn't. So, WebProcess is frequently recreated under the directory.

If I apply the following patch, it can be reproducible with this.
> python .\Tools\Scripts\run-webkit-tests --debug  --no-retry --iter=201 --child=1 css1/basic/comments.html

diff --git a/Tools/WebKitTestRunner/TestOptions.cpp b/Tools/WebKitTestRunner/TestOptions.cpp
index 6c60ecd00ad6..8215c57d83ef 100644
--- a/Tools/WebKitTestRunner/TestOptions.cpp
+++ b/Tools/WebKitTestRunner/TestOptions.cpp
@@ -281,6 +281,7 @@ const std::unordered_map<std::string, TestHeaderKeyType>& TestOptions::keyTypeMa
 
 bool TestOptions::hasSameInitializationOptions(const TestOptions& other) const
 {
+    return false;
     return m_features == other.m_features;
 }
Comment 5 Radar WebKit Bug Importer 2023-11-14 13:21:37 PST
<rdar://problem/118415025>
Comment 6 Fujii Hironori 2023-11-14 22:45:57 PST
WebPageProxy and API::HitTestResult are leaked due to a circular dependency between WebPageProxy::m_lastMouseMoveHitTestResult and API::HitTestResult::m_page after 270308@main (bug#263729).
Comment 7 Fujii Hironori 2023-11-14 22:47:54 PST
*** Bug 264717 has been marked as a duplicate of this bug. ***
Comment 8 Fujii Hironori 2023-11-14 23:20:42 PST
Pull request: https://github.com/WebKit/WebKit/pull/20525
Comment 9 EWS 2023-11-15 11:49:58 PST
Committed 270779@main (6d9a2aaf2203): <https://commits.webkit.org/270779@main>

Reviewed commits have been landed. Closing PR #20525 and removing active labels.