-
Notifications
You must be signed in to change notification settings - Fork 738
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
TestRefreshGCSpecialClassesCache_NOBCI_JIT_ON StackOverflowError ResourceBundle$RBClassLoader.loadClass(ResourceBundle #19777
Comments
Creating some builds for triage. https://openj9-jenkins.osuosl.org/job/Pipeline-Build-Test-Personal/534 https://openj9-jenkins.osuosl.org/job/Pipeline-Build-Test-Personal/535 https://openj9-jenkins.osuosl.org/job/Pipeline-Build-Test-Personal/536
|
@jdmpapin Actually the test failed in the grinder on an older build, which seems weird, but rules out your change. |
@tobi this also must be related to |
@jdmpapin I'm not sure we should rule out your change. The grinders are all running with the latest test code that removes |
Building the latest 0.46 (which contains Tobi's change), to confirm if there is a problem with 0.46 or not. |
OK, I'm checking it out |
https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/3694 |
I'm able to reproduce this on z, edit: I was just replacing the |
OK, so I was able to reproduce the issue reliably on z with compilation limited to the following two methods:
I have a fix that prevents the bug in my setup. It's just undergoing some more widespread testing |
Clarification/correction: It tries to fix the CH table entries so that we don't lose track of subclasses (or any other state) when a class is not redefined in-place. This works by essentially swapping the class info of the original class and the class we'll use going forward. Normally when a class is redefined in-place, the swap does nothing because both are the same class. But because of the unexpected in-place redefinition, we had the original and the newly created class backwards, and so we swapped the info of the class to use going forward (which is the original) with that of the newly created class instead, and that's how the CH table ended up with no subclasses (and later only one subclass) for the original class |
There is also a similar failure in TestRefreshGCSpecialClassesCache_BCI_FAST_HCR_JIT_ON_SE80_0 |
Issue eclipse-openj9#19777 Signed-off-by: Peter Shipton <[email protected]>
Issue eclipse-openj9#19777 Signed-off-by: Peter Shipton <[email protected]>
Created #19820 for 0.46 to add |
Issue eclipse-openj9#19777 Signed-off-by: Peter Shipton <[email protected]>
Issue eclipse-openj9#19777 Signed-off-by: Peter Shipton <[email protected]>
I'm also opening a head stream PR to add |
I've removed the blocker label and moved this to 0.48 but since |
I think the message mentioning I suppose it's too late now to get the JIT fix into 0.46? |
We've started M2, any further fix needs to be high severity or low risk and we'll have to convince the PM it needs to be included. |
Do we have a record of the likely crash stack for this problem to help identify future reports? All the jenkins links are dead now. |
There is a stack in the description. |
I found some example stacks in dups 19768 and 19765. There's some variation, but generally seem to go through
I also saw a different stack in a customer case, during codegen:
|
Across platforms https://openj9-jenkins.osuosl.org/job/Pipeline-Build-Test-JDK8/862/
https://openj9-jenkins.osuosl.org/job/Test_openjdk8_j9_extended.functional_aarch64_linux_Nightly_testList_0/705 - ub22-aarch64-1
TestRefreshGCSpecialClassesCache_NOBCI_JIT_ON_SE80_0
-Xgcpolicy:optthruput -Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,onthrow=no.pkg.foo,launch=echo -Xjit:count=0 -Xnocompressedrefs
Changes
2a2df9f...22eaa4d
The text was updated successfully, but these errors were encountered: