You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interesting, I will triage this issue tomorrow. We observed (and fixed) the same assertion issue for Balanced. But Gencon has very different and very straight forward class unloading logic.
The reason for assertion: during class unloading GC reached !j9classloader 0x70B130F028A8, correspondent class loader object !j9object 0x70b12e026780 is not marked. This is one of the com/ibm/tests/garbagecollector/ class loaders. This test creates many of them. Please note this object is located in the Nursery.
However for the only RAM class in this class loader !j9class 0x70B130F08500, class object !j9object 0x70B12DF17DC0 is located in Tenure and marked.
This is not valid. GC expected to mark class loader object during class object scan. Class object referenced to the parent class loader directly classObject->classLoader->classLoaderObject
So, there are two possibilities:
GC missed to mark class loader object during class object scan and never rescan it later.
Mark Map data was corrupted itself and correspondent bit was lost.
Class object has direct link to the Classloader object. If Class object is located in the Tenure and alive and Classloader object is located in the Nursery Class object should be member of Remembered Set. And it actually is. There is no legitimate way to not have Classloader Object marked too. But it is not.
There is not so much we can do about this case - everything looks normal except bit in the mark map is not set. Similar class objects before and after have pointers to Classloader objects in the Nursery marked properly. And such objects have the same GC properties (the same Card, same puddle in the Remembered Set). There is no reason to suspect this major GC functionality to fail. Closing this issue for now. We will reopen it if we see this problem again.
Failure link
From internal Test_openjdk8_j9_sanity.functional_x86-64_linux_testList_0 (rtj-ubu24x86-svl-test-2shma-1)
Rerun in Grinder - Change TARGET to run only the failed test targets
Optional info
Failure output (captured from console output)
50x internal Grinder - passed
The text was updated successfully, but these errors were encountered: