RFR: 8287732: jdk/jshell/ToolEnablePreviewTest.java fails on x86_32 after JDK-8287496
Alan Bateman
alanb at openjdk.java.net
Thu Jun 2 19:01:33 UTC 2022
On Thu, 2 Jun 2022 14:50:22 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> 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
test/langtools/jdk/jshell/ToolEnablePreviewTest.java line 28:
> 26: * @bug 8199193
> 27: * @summary Tests for the --enable-preview option
> 28: * @requires vm.continuations
This seems to be only jshell tests that uses --enable-preview so I think this is okay, just need to update the copyright year.
The update to TEST.ROOT looks okay, just surprised that tests in the langtools tree have never needed to specify requires properties before now.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8995
More information about the kulla-dev
mailing list