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

Allow list DynamicProxyConfigurationResources related warning so as to reduce test noise #261

Closed jerboaa closed 2 days ago

jerboaa commented 1 week ago

In latest Mandrel for JDK 23 and Mandrel for JDK 24 builds we see these warnings printed for mandrel-integration-tests:

 Error:    DebugSymbolsTest.debugSymbolsQuarkus:306 build-and-run.log log should not contain error or warning lines that are not whitelisted. See /home/runner/work/mandrel/mandrel/mandrel-integration-tests/testsuite/target/archived-logs/org.graalvm.tests.integration.DebugSymbolsTest/debugSymbolsQuarkus/build-and-run.log and check these offending lines: 
Warning: Option 'DynamicProxyConfigurationResources' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes. ==> expected: <true> but was: <false>

The actual issue got reported upstream here: https://github.com/oracle/graal/issues/9057

Until the upstream issue gets fixed we ought to allow-list that warning so as to reduce test noise.

jerboaa commented 1 week ago

Steps to reproduce (for example):

export JAVA_HOME=/path/to/mandrel-build-based-on-jdk23
export GRAALVM_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
mvn clean verify -Dquarkus.version=999-SNAPSHOT -Ptestsuite -Dtest=RuntimesSmokeTest#quarkusFullMicroProfile
zakkak commented 1 week ago

Until the upstream issue gets fixed we ought to allow-list that warning so as to reduce test noise.

Note that this is now "fixed" in upstream by https://github.com/oracle/graal/commit/5fc14c42fd8bbad0c8e661b4ebd8f96255f86e6b which essentially improves the warning message but doesn't remove it.

We need to either patch the tests to use the new metadata file with the latest version of GraalVM or whitelist the warning.

jerboaa commented 1 week ago

We need to either patch the tests to use the new metadata file with the latest version of GraalVM or whitelist the warning.

OK. I'm leaning towards allow-listing the warning.

zakkak commented 1 week ago

On second thought we can't really fix this here without any whitelisting due to https://github.com/quarkusio/quarkus/issues/41016, so +1 on just whitelisting for the time being.

jerboaa commented 3 days ago

Re-opening. We need to allow-list the warning for the JFR test, JFRTest.jfrPerfTest, as well:

Error:    JFRTest.jfrPerfTest:185->jfrPerfTestRun:234 build-and-run.log log should not contain error or warning lines that are not whitelisted. See /home/runner/work/mandrel/mandrel/mandrel-integration-tests/testsuite/target/archived-logs/org.graalvm.tests.integration.JFRTest/jfrPerfTest/build-and-run.log and check these offending lines: 
[...]
Warning: Option 'DynamicProxyConfigurationResources' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes. ==> expected: <true> but was: <false>
jerboaa commented 3 days ago

Re-opening. We need to allow-list the warning for the JFR test, JFRTest.jfrPerfTest, as well:

Error:    JFRTest.jfrPerfTest:185->jfrPerfTestRun:234 build-and-run.log log should not contain error or warning lines that are not whitelisted. See /home/runner/work/mandrel/mandrel/mandrel-integration-tests/testsuite/target/archived-logs/org.graalvm.tests.integration.JFRTest/jfrPerfTest/build-and-run.log and check these offending lines: 
[...]
Warning: Option 'DynamicProxyConfigurationResources' is deprecated and might be removed in a future release. Please refer to the GraalVM release notes. ==> expected: <true> but was: <false>

https://github.com/Karm/mandrel-integration-tests/pull/269 should fix this.

jerboaa commented 3 days ago

For JDK 24+3 based Mandrel the warning message is:

Warning: Option 'DynamicProxyConfigurationResources' is deprecated and might be removed in a future release: This can be caused by a proxy-config.json file in your META-INF directory. Consider including proxy configuration in the reflection section of reachability-metadata.md instead.. Please refer to the GraalVM release notes.

I.e. the one that I've added in https://github.com/Karm/mandrel-integration-tests/commit/4a1e66c83d6c15ccc556db0bc20cb3a18e9c4fc6 doesn't match that unfortunately. I'll fix that as well in #269.