Bug 191285 - [Win] run-javascriptcore-tests does not run to completion in Release mode
Summary: [Win] run-javascriptcore-tests does not run to completion in Release mode
Status: RESOLVED DUPLICATE of bug 254566
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Windows 10
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-05 15:10 PST by Ross Kirsling
Modified: 2023-03-28 13:54 PDT (History)
5 users (show)

See Also:


Attachments
workaround patch by disabling concurrent GC (588 bytes, patch)
2019-10-23 23:29 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Kirsling 2018-11-05 15:10:39 PST
Remaining work after bug 189880:
WinCairo JSC stress tests are now able to run to completion in Debug mode, but we still end up with hanging subprocesses in Release mode.

Notes:
- Repro rate seems to be 100% when running the full suite, but which tests end up stuck seems random. In particular, these are not failing tests.
- We may well manage to *start* running every test, but then we just sit at the end forever since some number of subprocesses will never terminate.
- Running a subset of tests with --filter is generally stable, and it seems that even --quick usually terminates successfully.
Comment 1 Ross Kirsling 2018-11-05 16:28:10 PST
As mentioned in the previous ticket, the stack trace for all hanging subprocesses is:
> [External Code]
> jscLib.dll!`anonymous namespace'::jscExit(int status)            at Source\JavaScriptCore\jsc.cpp(174)
> jscLib.dll!main(int argc, char * * argv)                         at Source\JavaScriptCore\jsc.cpp(2275)
> jscLib.dll!dllLauncherEntryPoint(int argc, const char * * argv)  at Source\JavaScriptCore\jsc.cpp(2855)
> jsc.exe!main(int argc, const char * * argv)                      at Source\JavaScriptCore\shell\DLLLauncherMain.cpp(222)
> [External Code]

Attaching to process and hitting the Pause button breaks at jsc.cpp:174, and attempting to Step Into has the same effect as hitting Continue, since the call stack above the `exit(0);` call is just "external code".
Comment 2 Ross Kirsling 2018-11-05 18:48:51 PST
Hmm, it seems like if I ensure that we never collect continuously, then none of the subprocesses hang!
(https://github.com/WebKit/webkit/blob/master/Tools/Scripts/run-jsc-stress-tests#L494-L496)
Comment 3 Fujii Hironori 2019-10-23 23:29:16 PDT
Created attachment 381778 [details]
workaround patch by disabling concurrent GC
Comment 4 Fujii Hironori 2019-12-09 19:37:36 PST
Now, AppleWin port Buildbots are running run-javascriptcore-tests with 64bit JSC JIT.
AppleWin port is also showing the same issue.
Release builds are timing out, while Debug builds are completing.

https://build.webkit.org/builders/Apple%20Win%2010%20Debug%20%28Tests%29/builds/3207
https://build.webkit.org/builders/Apple%20Win%2010%20Release%20%28Tests%29/builds/4324
Comment 5 Fujii Hironori 2023-03-28 13:54:05 PDT
Fixed by 262193@main.

*** This bug has been marked as a duplicate of bug 254566 ***