-
Notifications
You must be signed in to change notification settings - Fork 721
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
Failure in LoaderLeakTest #13201
Comments
Associated issue eclipse-openj9/openj9#13201 Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
Associated issue eclipse-openj9/openj9#13201 Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
Associated issue eclipse-openj9/openj9#13201 Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
@hangshao0 Can you please take a look at this. Just need to determine if its JVM issue or something else. |
There is an infinite loop in the test. It expects a weak reference to be cleared by I guess the GC team needs to take a look. |
@dmitripivkine does calling System.gc() provide any guarantees about weak references being cleared? |
In general calling System.gc() in the loop multiple times (and left time between for Finalization threads to run) must clean all weak referenced objects available for it (in my practice calling System.gc() 3-4 times with 1s delay between is enough). However Weak Reference can not be cleared if If we do have system core it is possible to locate Weak Refs in question and check is |
Also you can try |
Also looking to the test source - there is an extra possibility: GC provides extra liveness for classloader object / each class object for class in this classloader if there is instance of class is alive (strong referenced) in the heap (for any class in this classloader). If it is a case classloader can not be unloaded and stays alive, all classes are marked as a strong roots. |
The timeout goes away and test successfully passed with |
So looks like there is a JIT feature to make test fail. Yes, it makes test incompatible but itself it just introduces different (not wrong) behaviour for JVM. I believe JIT experts can provide a proper conclusion |
It's excluded on jdk17+. The test is added to jdk11 11.0.19. Issue eclipse-openj9/openj9#13201 Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
It's excluded on jdk17+. The test is added to jdk11 in 11.0.19. Issue eclipse-openj9/openj9#13201 Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
The test was backported to jdk11 in 11.0.19. Created adoptium/aqa-tests#4357 to exclude it there. |
It's excluded on jdk17+. The test is added to jdk11 in 11.0.19. Issue eclipse-openj9/openj9#13201 Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
It's excluded on jdk17+. The test is added to jdk11 in 11.0.19. Issue eclipse-openj9/openj9#13201 Signed-off-by: Peter Shipton <Peter_Shipton@ca.ibm.com>
It appears that we are hanging while running the loader leak test.
java/lang/annotation/LoaderLeakTest.java.LoaderLeakTest
The text was updated successfully, but these errors were encountered: