RFR: 8287732: jdk/jshell/ToolEnablePreviewTest.java fails on x86_32 after JDK-8287496

Aleksey Shipilev shade at openjdk.java.net
Thu Jun 2 14:59:46 UTC 2022


Manifests right now in x86_32 tier1 tests and GHA. The test tries to launch the tool via JDI/JVMTI, which does not fully work without continuations after [JDK-8287496](https://bugs.openjdk.java.net/browse/JDK-8287496):


FailOverExecutionControlProvider: FAILED: 1:jdi:launch(true) --
  Exception: java.lang.InternalError: Failed remote launch: java.util.concurrent.ExecutionException: com.sun.jdi.connect.VMStartException: VM initialization failed for: /home/shade/trunks/jdk/build/linux-x86-server-fastdebug/images/jdk/bin/java --enable-preview -Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:51453,suspend=y,enumeratevthreads=n jdk.jshell.execution.RemoteExecutionControl 43679 @ com.sun.jdi.CommandLineLaunch (defaults: home=/home/shade/trunks/jdk/build/linux-x86-server-fastdebug/images/jdk, options=, main=, suspend=true, quote=", vmexec=java, enumeratevthreads=n) -- {home=home=/home/shade/trunks/jdk/build/linux-x86-server-fastdebug/images/jdk, options=options=--enable-preview, main=main=jdk.jshell.execution.RemoteExecutionControl 43679, suspend=suspend=true, quote=quote=", vmexec=vmexec=java, enumeratevthreads=enumeratevthreads=n}
                  jdk.jshell/jdk.jshell.execution.JdiInitiator.reportLaunchFail(JdiInitiator.java:300)
                  jdk.jshell/jdk.jshell.execution.JdiInitiator.launchTarget(JdiInitiator.java:141)
                  jdk.jshell/jdk.jshell.execution.JdiInitiator.<init>(JdiInitiator.java:110)
                  jdk.jshell/jdk.jshell.execution.JdiDefaultExecutionControl.create(JdiDefaultExecutionControl.java:103)
                  jdk.jshell/jdk.jshell.execution.JdiExecutionControlProvider.generate(JdiExecutionControlProvider.java:152)
      cause: java.util.concurrent.ExecutionException: com.sun.jdi.connect.VMStartException: VM initialization failed for: /home/shade/trunks/jdk/build/linux-x86-server-fastdebug/images/jdk/bin/java --enable-preview -Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:51453,suspend=y,enumeratevthreads=n jdk.jshell.execution.RemoteExecutionControl 43679
FailOverExecutionControlProvider: FAILED: 2:jdi --
  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

                  jdk.jshell/jdk.jshell.execution.JdiInitiator.listenTarget(JdiInitiator.java:201)
                  jdk.jshell/jdk.jshell.execution.JdiInitiator.<init>(JdiInitiator.java:111)
                  jdk.jshell/jdk.jshell.execution.JdiDefaultExecutionControl.create(JdiDefaultExecutionControl.java:103)
                  jdk.jshell/jdk.jshell.execution.JdiExecutionControlProvider.generate(JdiExecutionControlProvider.java:152)
                  jdk.jshell/jdk.jshell.spi.ExecutionControl.generate(ExecutionControl.java:179)


I think test needs `@requires vm.continuations` as well.

Additional testing:
 - [x] Linux x86_32 `fastdebug`, affected test now skipped
 - [x] Linux x86_64 `fastdebug`, affected test still runs

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

Commit messages:
 - Fix

Changes: https://git.openjdk.java.net/jdk/pull/8995/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8995&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8287732
  Stats: 15 lines in 2 files changed: 15 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8995.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8995/head:pull/8995

PR: https://git.openjdk.java.net/jdk/pull/8995


More information about the compiler-dev mailing list