Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
jerboaa opened this issue Sep 7, 2023 · 4 comments · Fixed by #203
Closed

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

jerboaa opened this issue Sep 7, 2023 · 4 comments · Fixed by #203
Assignees

Comments

@jerboaa
Copy link
Collaborator

jerboaa commented Sep 7, 2023

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
Copy link
Collaborator

zakkak commented Sep 8, 2023

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 netty/netty#13595.

The -H:Log=registerResource: part comes from

@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
Copy link
Collaborator

zakkak commented Sep 8, 2023

Upstream PR for netty 4: netty/netty#13596

@jerboaa
Copy link
Collaborator Author

jerboaa commented Sep 13, 2023

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
Copy link
Collaborator

zakkak commented Sep 13, 2023

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

+1 from me

jsmrcka added a commit to jsmrcka/quarkus-startstop that referenced this issue Nov 1, 2023
`-H:ReflectionConfigurationResources`
- Reported in `netty`: netty/netty#13595.
- Fixed in `netty`: netty/netty#13596.
- See also similar issue in
  Karm/mandrel-integration-tests#190 and its
  workaround in
  Karm/mandrel-integration-tests#203.

`-H:Log=registerResource`
- Added explicitly by `APP_FULL_MICROPROFILE` config.
- Use case documented in Quarkus Native Reference Guide, documentation
  added in quarkusio/quarkus#36494.
jsmrcka added a commit to jsmrcka/quarkus-startstop that referenced this issue Nov 2, 2023
`-H:ReflectionConfigurationResources`
- Reported in `netty`: netty/netty#13595.
- Fixed in `netty`: netty/netty#13596.
- See also similar issue in
  Karm/mandrel-integration-tests#190 and its
  workaround in
  Karm/mandrel-integration-tests#203.

`-H:Log=registerResource, -H:Log=registerResource:`
- Added explicitly by `APP_FULL_MICROPROFILE` config.
- Typical use case documented in Quarkus Native Reference Guide,
  the documentation was added in
  quarkusio/quarkus#36494.
- Allow-listed, instead of using `-H:+UnlockExperimentalVMOptions` /
  `-H:-UnlockExperimentalVMOptions`, to avoid errors with GraalVM /
  Mandrel based on Java < 21, which do not recognize this option
  (see oracle/graal#7105).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants