-
Notifications
You must be signed in to change notification settings - Fork 722
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Delay appending VirtualThread objects to liveVirtualThreadList #16293
Delay appending VirtualThread objects to liveVirtualThreadList #16293
Conversation
Currently, VirtualThread objects are appended to liveVirtualThreadList in JVM_VirtualThreadMountBegin. To assist GC with synchronizing while scanning continuations and VirtualThread objects, VirtualThread objects are appended to liveVirtualThreadList in JVM_VirtualThreadMountEnd. This delay will prevent race conditions for the GC while scanning the VirtualThread objects. Related: eclipse-openj9#16259 Signed-off-by: Babneet Singh <[email protected]>
Running a personal build to verify these changes: https://hyc-runtimes-jenkins.swg-devops.com/view/OpenJ9%20-%20Personal/job/Pipeline-Build-Test-Personal/14740/. fyi @LinHu2016 @amicic @dmitripivkine @tajila @fengxue-IS @pshipton @JasonFengJ9 |
These are known failures, which are reported in #15967.
|
GC failure.
|
unrelated |
GC assertion triggered.
|
I'm ok with this change (and leaving removal from the list in unmount-being is ok, too).
Could be due to many sorts of root causes. We saw it here already, though: #16259 (comment) |
Despite the assert failure (not being fixed), I think this is a reasonable change (and leaving removal from the list in unmount-begin is consistent - the steps in mount and unmount should mirror each other). |
These are known failures, which are reported in #15967. This is a variant of the
|
#16290 should fix a race and some problems related to walking VT stack etc, but I don't think it will fix problems with VT list (what appears more to be we GC a live VT object) |
jenkins test sanity zlinux jdk19 |
eclipse-openj9/openj9#16212 was fixed by 1. eclipse-openj9/openj9#16290 2. eclipse-openj9/openj9#16293 eclipse-openj9/openj9#16275 is a duplicate of eclipse-openj9/openj9#16212. eclipse-openj9/openj9#16229 was fixed by eclipse-openj9/openj9#16323. FramePop/framepop02 fails with another issue, which is reported in eclipse-openj9/openj9#16346. Signed-off-by: Babneet Singh <[email protected]>
eclipse-openj9/openj9#16212 was fixed by 1. eclipse-openj9/openj9#16290; and 2. eclipse-openj9/openj9#16293. eclipse-openj9/openj9#16275 is a duplicate of eclipse-openj9/openj9#16212. eclipse-openj9/openj9#16229 was fixed by eclipse-openj9/openj9#16323. FramePop/framepop02 fails with another issue, which is reported in eclipse-openj9/openj9#16346. Signed-off-by: Babneet Singh <[email protected]>
eclipse-openj9/openj9#16212 was fixed by 1. eclipse-openj9/openj9#16290; and 2. eclipse-openj9/openj9#16293. eclipse-openj9/openj9#16275 is a duplicate of eclipse-openj9/openj9#16212. eclipse-openj9/openj9#16229 was fixed by eclipse-openj9/openj9#16323. FramePop/framepop02 fails with another issue, which is reported in eclipse-openj9/openj9#16346. Signed-off-by: Babneet Singh <[email protected]> Signed-off-by: Babneet Singh <[email protected]>
Currently, VirtualThread objects are appended to liveVirtualThreadList
in JVM_VirtualThreadMountBegin.
To assist GC with synchronizing while scanning continuations and
VirtualThread objects, VirtualThread objects are appended to
liveVirtualThreadList in JVM_VirtualThreadMountEnd.
This delay will prevent race conditions for the GC while scanning the
VirtualThread objects.
Related: #16290
Related: #16259
Signed-off-by: Babneet Singh [email protected]