Skip to content

Quarkus native-image TS Failures on Windows, Mandrel 20.2.0.0, [Graal CE to be confirmed/WIP] #13275

@Karm

Description

@Karm

Hello,
I executed the Quarkus 1.9.0.Final TS on Windows with Mandrel 20.2.0.0 Windows build. It all went very well except for a repeated issue that brought down a dozen of test cases. This is how the test was run:

@echo off
for /f "tokens=5" %%g in ('dir mandrel-*.zip ^| findstr /R mandrel-.*.zip') do set ZIP_NAME=%%g
powershell -c "Expand-Archive -Path %ZIP_NAME% -DestinationPath . -Force"
echo ZIP_NAME: %ZIP_NAME%

for /f "tokens=5" %%g in ('dir /AD mandrel-* ^| findstr /R mandrel-.*') do set GRAALVM_HOME=%cd%\%%g
echo GRAALVM_HOME: %GRAALVM_HOME%

set "JAVA_HOME=%GRAALVM_HOME%"
set "PATH=%JAVA_HOME%\bin;%PATH%"

if not exist "%GRAALVM_HOME%\bin\native-image.cmd" (
  echo "Cannot find native-image tool. Quitting..."
  exit 1
) else (
  echo "native-image.cmd is present, good."
  cmd /C native-image --version
)

set "MODULES=-pl !google-cloud-functions,!google-cloud-functions-http,!kubernetes/maven-invoker-way"

pushd quarkus

call vcvars64
IF NOT %ERRORLEVEL% == 0 ( exit 1 )

mvnw clean install -DskipTests & mvnw verify -f integration-tests/pom.xml --fail-at-end --batch-mode -DfailIfNoTests=false -Dnative %MODULES%

Expected behavior

TS passes with flying colours 😃

Actual behavior

This is the run summary on Jenkins. It boils down to these 2 recurring issues that make 11 tests fail.

Passing arguments

%1 is not a valid Win32 application

Executing [C:\workspace\workspace\mandrel-20.2----5e1abe3a\OS_AXIS\w2k19\quarkus\integration-tests\grpc-interceptors\target/quarkus-integration-test-grpc-interceptors-1.9.0.Final-runner, -Dquarkus.http.port=8081, -Dquarkus.http.ssl-port=8444, -Dtest.url=http://localhost:8081, -Dquarkus.log.file.path=target\target\quarkus.log]
Caused by: java.io.IOException: Cannot run program "C:\workspace\workspace\mandrel-20.2----5e1abe3a\OS_AXIS\w2k19\quarkus\integration-tests\grpc-interceptors\target/quarkus-integration-test-grpc-interceptors-1.9.0.Final-runner": CreateProcess error=193, %1 is not a valid Win32 application
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application

For these:

  • io.quarkus.grpc.example.interceptors.HelloWorldEndpointIT
  • io.quarkus.it.infinispan.client.InfinispanClientFunctionalityInGraalITCase
  • io.quarkus.it.kubernetes.client.ConfigMapPropertiesIT
  • io.quarkus.it.kubernetes.client.KubernetesClientTestIT
  • io.quarkus.it.kubernetes.client.SecretPropertiesIT
  • io.quarkus.it.spaces.NativeGreetingResourceIT

Baking resources / creating keystore?

Caused by: java.nio.file.NoSuchFileException: server-keystore.jks

Executing [C:\workspace\workspace\mandrel-20.2----5e1abe3a\OS_AXIS\w2k19\quarkus\integration-tests\vertx-http\target/quarkus-integration-test-vertx-http-1.9.0.Final-runner, -Dquarkus.http.port=8081, -Dquarkus.http.ssl-port=8444, -Dtest.url=http://localhost:8081, -Dquarkus.log.file.path=target\target\target\target\target\quarkus.log]
__  ____  __  _____   ___  __ ____  ______ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   
2020-11-12 11:24:23,559 ERROR [io.qua.run.Application] (main) Failed to start application (with profile prod): java.lang.RuntimeException: Failed to start quarkus
	at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:587)
	at io.quarkus.runtime.Application.start(Application.java:90)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:93)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:62)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:38)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:104)
	at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
Caused by: java.nio.file.NoSuchFileException: server-keystore.jks
	at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
	at java.nio.file.Files.newByteChannel(Files.java:370)
	at java.nio.file.Files.newByteChannel(Files.java:421)
	at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
	at java.nio.file.Files.newInputStream(Files.java:155)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder.getFileContent(VertxHttpRecorder.java:650)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder.createSslOptions(VertxHttpRecorder.java:579)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder.doServerStart(VertxHttpRecorder.java:435)
	at io.quarkus.vertx.http.runtime.VertxHttpRecorder.startServer(VertxHttpRecorder.java:224)
	at io.quarkus.deployment.steps.VertxHttpProcessor$openSocket-2064782366.deploy_0(VertxHttpProcessor$openSocket-2064782366.zig:136)
	at io.quarkus.deployment.steps.VertxHttpProcessor$openSocket-2064782366.deploy(VertxHttpProcessor$openSocket-2064782366.zig:40)
	at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:532)
	... 6 more

For these:

  • io.quarkus.it.vertx.AccessLogTestCaseIT
  • io.quarkus.it.vertx.Http2TestCaseIT
  • io.quarkus.it.vertx.NettyMainEventLoopGroupResourceIT
  • io.quarkus.it.vertx.VertxProducerResourceIT

Environment (please complete the following information):

  • Output of uname -a or ver: Microsoft Windows [Version 10.0.17763.107] (Windows 2019 server)
  • Output of java -version: OpenJDK 11.0.9-11
  • GraalVM version (if different from Java): Mandrel 20.2.0.0 Windows build
  • Quarkus version or git rev: 1.9.0.Final

FYI: @zakkak

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions