Karm / mandrel-integration-tests

Integration tests for GraalVM and its Mandrel distribution. Runs Quarkus, Helidon and Micronaut applications and small targeted reproducers. The focus is solely on native-image utility and compilation of Java applications into native executables.
Apache License 2.0
5 stars 3 forks source link

[23.1] quarkusFullMicroProfile test fails due to experimental VM options warning #190

Closed jerboaa closed 9 months ago

jerboaa commented 10 months ago

It fails with:

quarkusFullMicroProfile{TestInfo}  Time elapsed: 112.276 s  <<< FAILURE!
org.opentest4j.AssertionFailedError:
build-and-run.log log should not contain error or warning lines that are not whitelisted. See /disk/graal/upstream-sources/mandrel-integration-tests/testsuite/target/archived-logs/org.graalvm.tests.integration.RuntimesSmokeTest/quarkusFullMicroProfile/build-and-run.log and check these offending lines:
Warning: The option '-H:ReflectionConfigurationResources=META-INF/native-image/io.netty/netty-transport/reflection-config.json' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
Warning: The option '-H:Log=registerResource:' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future. ==> expected: <true> but was: <false>
        at org.graalvm.tests.integration.RuntimesSmokeTest.testRuntime(RuntimesSmokeTest.java:166)
        at org.graalvm.tests.integration.RuntimesSmokeTest.quarkusFullMicroProfile(RuntimesSmokeTest.java:194)
zakkak commented 10 months ago

The -H:ReflectionConfigurationResources part comes from netty, so it needs to be handled upstream and apparently is fixed on the main branch (for netty 5?) see https://github.com/netty/netty/issues/13595.

The -H:Log=registerResource: part comes from https://github.com/Karm/mandrel-integration-tests/blob/88a7a8f1afa65be266f37409159df4036b511132/testsuite/src/it/java/org/graalvm/tests/integration/utils/BuildAndRunCmds.java#L55

@Karm is the Log part necessary for the test? If so, we need a way to wrap it with -H:+-UnlockExperimentalVMOptions when using GraalVM >=23.1 (we can also whitelist the warning, but -H:+-UnlockExperimentalVMOptions is expected to be enforced probably in 24.0).

zakkak commented 10 months ago

Upstream PR for netty 4: https://github.com/netty/netty/pull/13596

jerboaa commented 9 months ago

The remaining issue is down to netty native-image config, tracked elsewhere.

See: https://github.com/graalvm/mandrel/actions/runs/6159630722/job/16716434614#step:11:10310

Can we allow-list those log lines to reduce noise?

zakkak commented 9 months ago

Can we allow-list those log lines to reduce noise?

+1 from me