-
Notifications
You must be signed in to change notification settings - Fork 737
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
Assertion failed currentThread->publicFlags #16480
Comments
We'll either need a system core file (core*.dmp) plus the other diagnostic files that should have been produced by the assert, or a way to reproduce it. |
There is also a newer version in the works that you could try. We don't have any Semeru milestone builds available yet, but there some OpenJ9 project builds, the latest being: https://openj9-artifactory.osuosl.org/artifactory/ci-openj9/Build_JDK17_x86-64_linux_Release/47/OpenJ9-JDK17-x86-64_linux-20221210-191353.tar.gz (from https://openj9-jenkins.osuosl.org/job/Build_JDK17_x86-64_linux_Release/47/) |
openj9/runtime/vm/VMAccess.cpp Line 1163 in 9b41549
|
We definitely need to see a native stacktrace for this - this indicates that we're going for safepoint VM access when not at a safe point (and in a native no less, which is always a safe point). |
I'm mistaken - the issue isn't with the running thread, it's with a different thread, but it still indicates the problem thread is both in a native and not at a safe point. We really need a core with all native threads included, though the java stacks from the assertion core would be a good start. |
Thanks for all the answers. I'll try to get the information. |
If the problem can be repeated manually, I suggest running with |
javacore.20221220.120141.3981.0002.txt I could get a core dump. The execution included |
We're really looking for the system core. I guess -Xrs doesn't work in this case because it's an assertion and not a crash. @pshipton @keithc-ca Any way of getting a full core (all native threads) from an assertion? |
Would this help in combination with -Xrs, |
Yeah, triggering SEGV with -Xrs should get us the results we're looking for. |
hi, we have issues creating the system core dump, due to restrictions in the environment. We also tried the following versions: Does the output of the following gdb script help to narrow down the cause? gdb.script
Command: Result: |
From the log, it looks like thread 2 (0x16f00) is going for safepoint exclusive due to final field modification, and thread 34 (0x27b800) is the problematic thread. |
Please try a run with |
openj9/runtime/vm/VMAccess.cpp Lines 1051 to 1059 in a2475ea
openj9/runtime/vm/VMAccess.cpp Lines 1161 to 1163 in a2475ea
|
With Command used: |
Hi @gacholio @pshipton , The latest OpenJ9 project builds does still produce the same error. https://openj9-artifactory.osuosl.org/artifactory/ci-openj9/Build_JDK17_x86-64_linux_Release/62/
We build openj9 from source and were able to find the problematic commits. The error first occurs with: abfb530
The error does not occur with: a1f1df2
The error occurs again with: 9a795f1
|
@gruenj Can you provide instructions/artifacts to allow me to reproduce the issue locally? |
@gacholio we finally find a way to produce the issue locally. To reproduce the issue a native agent library (-agentpath) is required
|
I think the key here is the The simplest fix would be to disable safepoint OSR if this event is enabled (much as we do for the instrumentable allocate extension). This will result in slightly lower performance from the compiled code. |
@gruenj Can you do a performance test with |
The proposed solution would also mean that the |
Based on the JVMTI spec, it seems capabilities are almost always acquired during the OnLoad phase, so I'm going to go ahead and prototype my suggested change as I don't see any other practical way to address this issue. |
Use of the can_generate_sampled_object_alloc_events JVMTI capability must disable safe point OSR because the event would be sent when not at an OSR safe point, leading to assertions or hangs. Fixes: eclipse-openj9#16480 Signed-off-by: Graham Chapman <[email protected]>
Use of the can_generate_sampled_object_alloc_events JVMTI capability must disable safe point OSR because the event would be sent when not at an OSR safe point, leading to assertions or hangs. Fixes: eclipse-openj9#16480 Signed-off-by: Graham Chapman <[email protected]>
Use of the can_generate_sampled_object_alloc_events JVMTI capability must disable safe point OSR because the event would be sent when not at an OSR safe point, leading to assertions or hangs. Fixes: eclipse-openj9#16480 Signed-off-by: Graham Chapman <[email protected]>
Use of the can_generate_sampled_object_alloc_events JVMTI capability must disable safe point OSR because the event would be sent when not at an OSR safe point, leading to assertions or hangs. Fixes: eclipse-openj9#16480 Signed-off-by: Graham Chapman <[email protected]>
Use of the can_generate_sampled_object_alloc_events JVMTI capability must disable safe point OSR because the event would be sent when not at an OSR safe point, leading to assertions or hangs. Fixes: eclipse-openj9#16480 Signed-off-by: Graham Chapman <[email protected]>
Hi, we're using ibm-semeru-runtimes Docker image in an OpenShift envirnoment. While upgrading our runtime from Java 11 to Java 17 (openj9-0.35.0) in ran into the following error:
The error persisted while downgrading to a new Java 11 (open-11.0.17_8 with openj9-0.35.0) version.
In the original container with an older Java 11 version (open-11.0.14.1_1 with openj9-0.30.1) this didn't happen.
I'm not sure which additional information you would need to investigate such an issue. The error happens infrequently in about 1% of containers of a deployment.
The text was updated successfully, but these errors were encountered: