-
Notifications
You must be signed in to change notification settings - Fork 737
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
OpenJDK java/lang/Thread/virtual/Collectable.java timeout #18463
Comments
The test creates a weak reference for an unstarted virtual thread, sets the Test source code: Collectable.java#L46C5-L46C5
|
Behaviour similar to #17241 is seen in this issue. #17241 was addressed by running the test with Requesting feedback from the GC team: @dmitripivkine, @LinHu2016, @amicic. fyi @0xdaryl
|
looking briefly to the core... Referenced from:
Please let me know if you need more digging results. |
Why are they not being collected? All three can be collected if the virtual thread has no more references. The objects below are internal to the VirtualThread class.
|
Launched grinders to see if this issue is a blocker for the 0.42 release:
No failures are seen in the above grinders. Moving this issue to the 0.44 release due to low occurrence. |
@babsingh Would you please double check somehow that
Except this I-slot looks like there is only pointer to this isolated objects group is GC continuation list. |
@dmitripivkine For the I-slot, DDR doesn't find a root for me as well. All the DDR cmds to find the root throw the below exception because they expect an object address not an I-slot address.
|
DDR finds the root for the virtual thread address, but it also detects corruption on my end. With
|
I think corruption is not relevant to the original problem, just another DDR stack walker issue. Also please note DDR root search commands treat Weak References as hard roots mistakenly. |
There is no stored artifacts unfortunately. And yes, this is Balanced again. |
https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_x86-64_windows_Nightly_testList_0/137 |
https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_s390x_linux_OMR_testList_0/74 |
The problem is for Weak Reference
|
@hzongaro I guess this is manifestation of optimization can be disabled by |
The mystery is for very first failure with Balanced GC Virtual Thread object is stored in I-slot:
I can not find another root to this object, but it survived thousands of GCs, so, discovered alive somehow. GC relies on JIT frame slot iterator . Is it possible this I-slot is reported to GC (by some internal JIT reason) and treated as a hard root? |
GC policy: Gencon
|
JDK23 ppc64le_linux(
|
This item is on JIT side. However as I understand there is no luck to reproduce it reliable. Moving it to the next milestone. |
JDK21 x86-64_linux 0.46.1(
|
openjdk23_j9_sanity.openjdk_ppc64le_linux(
|
https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_x86-64_windows_Nightly_testList_0/96 - win2019x64-openj9-4
jdk_lang_j9_0
java/lang/Thread/virtual/Collectable.java
https://openj9-artifactory.osuosl.org/artifactory/ci-openj9/Test/Test_openjdk21_j9_sanity.openjdk_x86-64_windows_Nightly_testList_0/96/openjdk_test_output.tar.gz
The text was updated successfully, but these errors were encountered: