-
Notifications
You must be signed in to change notification settings - Fork 720
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
JDK21 serviceability_jvmti_j9_0 Fatal error: Error in ResumeThread & get_method_class_name: error in JVMTI GetMethodDeclaringClass #17865
Labels
Milestone
Comments
This was referenced Jul 27, 2023
JDK21 ppc64_aix(
|
JDK21 ppc64_aix(
|
babsingh
modified the milestones:
Java 21 (0.42),
Release 0.44 (Java 8, 11, 17, 21) Apr refresh
Oct 23, 2023
Moving to the 0.44 release since the failure is highly intermittent. |
JDK21 ppc64_aix(
|
pshipton
modified the milestones:
Release 0.44 (Java 8, 11, 17, 21) Apr refresh,
Java 21 (0.42)
Oct 27, 2023
Having two failures in a test cycle doesn't seem to meet the definition of highly intermittent. Moving back to the Java 21 milestone while we consider this. |
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 8, 2023
Stale objects can manifest many issues. In this case, stale objects cause complex and intermittent synchronization issues. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
This was referenced Nov 8, 2023
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 9, 2023
Stale objects can manifest many issues. In this case, stale objects cause complex and intermittent synchronization issues. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
JDK21 aarch64_linux(
|
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 13, 2023
Currently, the halt flag is set in VirtualThread MountEnd if a virtual thread is suspended via JVMTI, and in VirtualThread UnmountEnd if a carrier thread is suspended via JVMTI. In the above approach, the halt flag is set too late. As soon as the continuation swaps the J9VMThread context, the thread begins execution and is capable of triggering JVMTI events. To avoid the above issue, the above steps are moved into VirtualThread MountBegin and UnmountBegin. This prevents the continuation to swap the J9VMThread context. Currently, the halt flag is set without invoking exitVThreadTransitionCritical. This prevents JVMTI to resume the halted thread and cause a hang. The new approach spins, invokes exitVThreadTransitionCritical and releases VM access to allow JVMTI to resume the suspended thread. The better approach will be to fail mount if the thread is suspended and retry later. Currently, his approach cannot be implemented because VirtualThread.java does not support this approach. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 14, 2023
During JVMTI suspend/resume thread operations, the current check to determine if a thread is fully mounted is flaky. It depends on J9VMThread->theadObject which might change after getVMThread due to Java level changes, which are accepted as-is from the RI. The check to determine if a thread is fully mounted is moved into getVMThread. The check is updated to use the continuation state, which is more stable since the Continuation implementation is maintained within OpenJ9. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 16, 2023
J9VMThread->threadObject can be modified between JVM_VirtualThreadHideFrames's first invocation with hide=true and second invocation with hide=false. Synchronization to prevent JVMTI operations is acquired between these two invocations. This prevents JVMTI functions to see an unstable J9VMThread->threadObject. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Co-authored-by: Jack Lu <Jack.S.Lu@ibm.com> Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 20, 2023
J9VMThread->threadObject can be modified between JVM_VirtualThreadHideFrames's first invocation with hide=true and second invocation with hide=false. Synchronization to prevent JVMTI operations is acquired between these two invocations. This prevents JVMTI functions to see an unstable J9VMThread->threadObject. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Co-authored-by: Jack Lu <Jack.S.Lu@ibm.com> Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
babsingh
added a commit
to babsingh/openj9
that referenced
this issue
Nov 20, 2023
J9VMThread->threadObject can be modified between JVM_VirtualThreadHideFrames's first invocation with hide=true and second invocation with hide=false. Synchronization to prevent JVMTI operations is acquired between these two invocations. This prevents JVMTI functions to see an unstable J9VMThread->threadObject. Related: eclipse-openj9#17865 Related: eclipse-openj9#17869 Related: eclipse-openj9#18370 Co-authored-by: Jack Lu <Jack.S.Lu@ibm.com> Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Failure link
From an internal build(
paix911
):Rerun in Grinder - Change TARGET to run only the failed test targets.
Optional info
Failure output (captured from console output)
50x internal grinder - 11/50 failing rate
FYI @babsingh
The text was updated successfully, but these errors were encountered: