-
Notifications
You must be signed in to change notification settings - Fork 752
jdk24 java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java timeout #20955
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
Comments
Issues eclipse-openj9/openj9#20369 eclipse-openj9/openj9#20705 eclipse-openj9/openj9#20955 Signed-off-by: Peter Shipton <[email protected]>
Excluding via Excluding the tests via adoptium/aqa-tests#5889 |
@fengxue-IS Assigning it to you since it is related to Virtual Threads. |
Issues eclipse-openj9/openj9#20369 eclipse-openj9/openj9#20705 eclipse-openj9/openj9#20955 Signed-off-by: Peter Shipton <[email protected]>
Issues eclipse-openj9/openj9#20369 eclipse-openj9/openj9#20705 eclipse-openj9/openj9#20955 Signed-off-by: Peter Shipton <[email protected]>
@JasonFengJ9 Could you please take a look at this failure?
|
Update:
I reproduced the timeout locally in the original JTReg test suites, attempting to build a standalone test case and hope it helps further investigation. |
Update:
My experiments show that the test behaviour is related to the number of VTs created for start virtual threads that block on monitorenter, and the command line option A few observations:
Note: my local machine int carriersAvailable = Runtime.getRuntime().availableProcessors() is |
The thread is in
The thread is in |
Update
The reason for the vt in question in There were two other issues while attempting different test cases:
These weren't seen if removing |
This could be caused by the inflation of blocking enter monitor being inflated during We need think of how to handle this edge case |
With #21494 (merged) and #21459 (draft PR), the test is able to start virtual threads that block on monitorenter, now the test hang at wait for all threads to terminate
The test was run with |
Attached debugger to the process while it is waiting for all threads to terminate, got following stacktraces:
It was built from 1652d8b |
Tried the testcase with the draft PR The assertion failure occurred:
The stacktrace is as following:
|
Passed with a recent build.
Re-enabling the test |
Waiting for unexclude in 1.06 |
Just realized that the test was run with
With
|
With
With
|
Tried latest #21564
Tagging JIT since |
@JasonFengJ9, do you have a link to a Jenkins build for this failure? |
The #21564 resolved the segmentation error, currently there is an intermittent hang, it was said Jack is working a fix. |
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
- Correctly unwind the thread stack frame when re-mounting from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD - Ensure that all access to blockedVirtualThreadsMutex is done consistently - Address infinite loop in takeVirtualThreadListToUnblock if vm->blockedContinuations is NULL - Also skip SO check when returning from J9VM_CONTINUATION_RETURN_FROM_SYNC_METHOD to remain consistent with how it would behave in the pinning case. eclipse-openj9#20955 eclipse-openj9#21560 eclipse-openj9#21649 eclipse-openj9#21648 are now passing eclipse-openj9#21446 eclipse-openj9#21422 no longer crashing Signed-off-by: tajila <[email protected]>
https://openj9-jenkins.osuosl.org/job/Test_openjdknext_j9_sanity.openjdk_aarch64_mac_Nightly_testList_0/6
java/lang/Thread/virtual/RetryMonitorEnterWhenPinned.java
timeout
The text was updated successfully, but these errors were encountered: