JDK-8207013 : [Graal] vmTestbase/nsk/jvmti/PopFrame tests fail with Graal
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 11,12,15,16
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2018-07-10
  • Updated: 2021-08-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
Following popframe tests fail with Graal on macos and windows.

- vmTestbase/nsk/jvmti/PopFrame/popframe001/TestDescription.java
TEST FAILED: a tested frame has not been really popped

- vmTestbase/nsk/jvmti/PopFrame/popframe003/TestDescription.java
TEST FAILED: a tested frame has not been really popped

- vmTestbase/nsk/jvmti/PopFrame/popframe005/TestDescription.java
TEST FAILED: finally block was executed after popping
TEST FAILED: the lockObj[0]'s monitor became free too early
TEST FAILED: Lock acquired by a frame, different from the popped one,
	was released when the popped frame had been popped

Comments
Created separate issue for improving the tests - JDK-8215425
14-12-2018

Looks like fixing issues in the test makes the change quite big - maybe it makes sense to fix it as a separate bug. Webrev to fix SuspendThread only: http://cr.openjdk.java.net/~amenkov/popframe_suspend/webrev.01/
13-12-2018

Working on the fix discovered that the testhave some issues: - by default they don't produce much output (need to provide "-v" to produce more detailed output) - popframe004 needs to be revised - it test only 2 cases instead desired 3 cases
13-12-2018

fixed popframe001 fails in 1-2% on linux-x64-debug without fix for JDK-8195635
11-12-2018

Looks like issue with popframe003 (changes for the arguments of the popped frame's method, did not remain current argument values) is a different bug - filed JDK-8215196
11-12-2018

The tests also need to be updated to ensure SuspendThread suspends at expected method). popframe004 also has the same problem (although it didn't fail)
08-12-2018

This bug in most cases looks like a dup of JDK-8195635.
28-11-2018

vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java failed with #> WARNING: switching log to verbose mode, #> because error is complained #> Debugee started Starting tested threads Finishing tested threads # ERROR: DebuggeeRunningThread: ThreadDeath lost The following stacktrace is for failure analysis. nsk.share.TestFailure: DebuggeeRunningThread: ThreadDeath lost at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:428) at nsk.share.Log.complain(Log.java:399) at nsk.jvmti.StopThread.stopthrd007.runIt(stopthrd007.java:100) at nsk.jvmti.StopThread.stopthrd007.run(stopthrd007.java:43) at nsk.jvmti.StopThread.stopthrd007.main(stopthrd007.java:38) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127) at java.base/java.lang.Thread.run(Thread.java:834) DebuggeeWaitingThread: got ThreadDeath DebuggeeSleepingThread: got ThreadDeath Debugee finished
15-08-2018

popframe003 fails on windows-x64 with: TEST FAILED: changes for the arguments of the popped frame's method, did not remain current argument values: i=0 l=0 d=0.0 c='\u0000' and on linux-x64: TEST: failed to pop frame TEST FAILED: the function PopFrame() returned the error 13: JVMTI_ERROR_THREAD_NOT_SUSPENDED For more info about this error see the JVMTI spec.
21-07-2018