RFR: 8296012: jshell crashes on mismatched record pattern

Julian Waters jwaters at openjdk.org
Sun Dec 4 14:33:59 UTC 2022


On Fri, 25 Nov 2022 10:55:03 GMT, Aggelos Biboudis <abimpoudis at openjdk.org> wrote:

> This bug prevents a crash in Flow while evaluating a switch expression in JShell. The error is successfully reported in Attr however entering an erroneous symbols prevents the crash.

Just a heads up, this change seems to be responsible for the test failure on linux-x86 that's recently been persisting for quite a while

STDOUT:
config Test8296012.setUp(): failure
java.lang.IllegalStateException: Launching JShell execution engine threw: FailOverExecutionControlProvider: FAILED: 0:jdi:hostname(127.0.0.1) --
  Exception: java.lang.IllegalArgumentException: ERROR: JDWP unable to access JVMTI Version 1 (0x30010000), is your J2SE a 1.5 or newer version? JNIEnv's GetEnv() returned -3

Some closer examination suggests that something about the way this test is configured is not agreeing with the JVMTI implementation inside HotSpot:
`src/hotspot/share/prims/jni.cpp GetEnv()`

// No JVM TI with --enable-preview and no continuations support.
if (!VMContinuations && Arguments::enable_preview() && JvmtiExport::is_jvmti_version(version)) {
  *penv = NULL;
  ret = JNI_EVERSION;
  return ret;
}

(JNI_EVERSION is -3, which is the same error code the test failure produces)

I'm unfortunately not in the position to set up a Linux x86 environment and figure out what exactly is going wrong at the moment

-------------

PR: https://git.openjdk.org/jdk/pull/11363


More information about the compiler-dev mailing list