-
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
Segmentation error vmState=0x0005ffff in internal special.system tests with JITServer #15601
Comments
The crash seems to be in the in the Compilation constructor
which at some point calls |
I am able to reproduce this locally. |
After bisection it appears that the bad commit is in fact d505324. |
It's likely a problem with -XX:+JITServerLocalSyncCompiles |
Setting |
Since you are able to reproduce this locally, could you please generate a verbose log at the client? |
I can generate a client verbose log by setting |
That's unfortunate. So it's also time dependent. is it possible that when adding EXTRA_OPTIONS, the JVM no longer runs in client mode? |
It appears to run in client mode still:
and compilation requests seem to be fulfilled. |
If it's time dependent, would you like me to try to get a log on a perf machine or something with a bit more power? |
Maybe targeted instrumentation will work better, but I have to look at the code first |
Trying to decipher the code:
In
I think there is a bug here, because |
This piece of code also deserves a second look:
If I read this correctly, synchronous compilations at cold at below do not benefit from this change. Instead they are going to be performed remotely. If this true, I think we need to change the code to perform the compilation locally, without a forced remote retry. |
Fixes: eclipse-openj9#15601 Signed-off-by: Christian Despres <despresc@ibm.com>
I think that this may still be happening, but with different tests now. I see various failures on ppc64le only, though perhaps the x86_64 tests haven't finished yet. (EDIT: it's happening on s390x too).
scattered across the jobs
Example from
I'll grind these to get a sense of how frequent the segfault is now. |
The goal is find a test that fails consistently so that we can debug faster |
I can reproduce
and |
I would like to know what kind of compilation was the one before this one.
For methods that cannot be recompiled, we do not have a persistentJittedBodyInfo, so we return 0. This is why I would like to know what type of compilation was the synchronous one that is now getting recompiled. I know that scorching compilations do not get recompiled. |
So, we have to makes sure that TR_NoRecompile is not set and that allowRecompilation() is set. |
Recompilation object has the following constructor on x86
So we need to avoid DLT compilations, JNI (which we do). |
Sampling is disabled when
Since |
Appears in the tests
ClassLoadingTest_special_5m_18
ClassLoadingTest_special_5m_19
ClassLoadingTest_special_5m_19
ClassLoadingTest_special_5m_24
DaaLoadTest_all_special_5m_18
DaaLoadTest_all_special_5m_19
DaaLoadTest_all_special_5m_24
DaaLoadTest_daa1_special_5m_18
DaaLoadTest_daa1_special_5m_19
DaaLoadTest_daa1_special_5m_24
DaaLoadTest_daa2_special_5m_18
DaaLoadTest_daa2_special_5m_19
DaaLoadTest_daa2_special_5m_23
DaaLoadTest_daa2_special_5m_24
DaaLoadTest_daa3_special_5m_24
LambdaLoadTest_special_J9_5m_18
LambdaLoadTest_special_J9_5m_24
MathLoadTest_all_special_5m_18
MathLoadTest_all_special_5m_19
MathLoadTest_all_special_5m_24
MathLoadTest_autosimd_special_5m_18
MathLoadTest_autosimd_special_5m_19
MathLoadTest_bigdecimal_special_5m_18
MathLoadTest_bigdecimal_special_5m_19
MathLoadTest_bigdecimal_special_5m_24
ParallelStreamsLoadTest_special_J9_18
in at least the jobs
/job/Test_openjdk11_j9_special.system_x86-64_linux_jit_Personal/411
/job/Test_openjdk17_j9_special.system_ppc64le_linux_jit_Personal/318
/job/Test_openjdk11_j9_special.system_ppc64le_linux_jit_Personal/401
Console log for one of the
ClassLoadingTest_special_5m_18
failures:It reproduces with JITServer enabled (23/25 tests) and does not appear to reproduce with JITServer disabled (0/25 tests).
The text was updated successfully, but these errors were encountered: