eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.28k stars 722 forks source link

ASSERTION FAILED ClassLoaderManager.cpp:396 ((false && (!markMap->isBitSet(classObject)))) #20165

Closed pshipton closed 1 week ago

pshipton commented 1 month ago

https://openj9-jenkins.osuosl.org/job/Test_openjdk17_j9_sanity.openjdk_x86-64_linux_Nightly_testList_0/105 jdk_lang_j9_0 java/lang/invoke/defineHiddenClass/PreviewHiddenClass.java

https://openj9-artifactory.osuosl.org/artifactory/ci-openj9/Test/Test_openjdk17_j9_sanity.openjdk_x86-64_linux_Nightly_testList_0/105/openjdk_test_output.tar.gz

22:51:51 02:29:32.093 0x7f911c003c00 j9mm.107 * ** ASSERTION FAILED ** at /home/jenkins/workspace/Build_JDK17_x86-64_linux_Nightly/openj9/runtime/gc_base/ClassLoaderManager.cpp:396: ((false && (!markMap->isBitSet(classObject))))

Seen before in https://github.com/eclipse-openj9/openj9/issues/14243

pshipton commented 1 month ago

@dmitripivkine fyi

pshipton commented 1 month ago

Another in https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_x86-64_linux_Nightly_testList_0/208

dmitripivkine commented 1 month ago

I have suspicion this is the same problem as https://github.com/eclipse-openj9/openj9/issues/20150 I am working currently. And this is most likely the regression from https://github.com/eclipse-openj9/openj9/pull/20132

dmitripivkine commented 1 month ago

I am confident this is the same problem as https://github.com/eclipse-openj9/openj9/issues/20150. However keeping in mind we have observed this problem before in https://github.com/eclipse-openj9/openj9/issues/14243 we can have this item opened until https://github.com/eclipse-openj9/openj9/issues/20150 is fixed.

dmitripivkine commented 1 month ago

Class detection in class loader in Balanced is done by scanning class loader hash table to discover classes for mixed objects and scanning array components lists from this mixed objects. In theory it should provide full coverage for class loader content. This assertion is triggered is there is class has not been reached during scan. I am sure last triggering was a result of regression fixed in https://github.com/eclipse-openj9/openj9/issues/20150. However we observed this problem before in https://github.com/eclipse-openj9/openj9/issues/14243, so keep this item opened for some time. It is possible there is a corner case somewhere we are missing.

dmitripivkine commented 1 week ago

Looks like introduced regression has been fixed and there were no new occurrences for now. Closing.

github-actions[bot] commented 1 week ago

Issue Number: 20165 Status: Closed Actual Components: comp:gc, test failure Actual Assignees: No one :( PR Assignees: No one :(