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

Adapts AWT extension to the new dynamic .so loading [JDK 17, 19, 20] #32432

Merged
merged 1 commit into from Apr 12, 2023

Conversation

Karm
Copy link
Member

@Karm Karm commented Apr 5, 2023

Fixes #31596 (JDK 17)

@Karm Karm requested a review from zakkak April 5, 2023 13:12
@Karm Karm self-assigned this Apr 5, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Apr 5, 2023

/cc @galderz (awt), @zakkak (awt)

@quarkus-bot

This comment has been minimized.

@Karm Karm changed the title Adapts AWT extension to the new dynamic .so loading [JDK 17] Adapts AWT extension to the new dynamic .so loading [JDK 17, JDK 20] Apr 5, 2023
@Karm Karm marked this pull request as draft April 5, 2023 21:46
@Karm
Copy link
Member Author

Karm commented Apr 5, 2023

@zakkak JDK 20 is fine, but I need to add version conditions to maintain compatibility with older 22.x Mandrel/GraalVM....

@Karm
Copy link
Member Author

Karm commented Apr 8, 2023

@zakkak I've got the version condition in. I'll adapt your PR about removing raw JSON and test again. THX 👍

@Karm
Copy link
Member Author

Karm commented Apr 11, 2023

I am testing it now again with the latest changes purging raw JSON and there are some backward compatibility issues atm...

Version Status
GraalVM 22.3.1 Java 17 CE (Java Version 17.0.6+10-jvmci-22.3-b13) 🔴
GraalVM 23.0.0-dev Java 17.0.7+4-jvmci-23.0-b09 CE (Java Version 17.0.7+4-jvmci-23.0-b09) 🟢

@Karm Karm marked this pull request as ready for review April 11, 2023 13:38
@Karm
Copy link
Member Author

Karm commented Apr 11, 2023

Much better now

Version Status
GraalVM 22.3.1 Java 17 CE (Java Version 17.0.6+10-jvmci-22.3-b13) 🟢
GraalVM 23.0.0-dev Java 17.0.7+4-jvmci-23.0-b09 CE (Java Version 17.0.7+4-jvmci-23.0-b09) 🟢
GraalVM 23.0.0-dev Java 19.0.1+10-jvmci-23.0-b04 CE (Java Version 19.0.1+10-jvmci-23.0-b04) 🔴
GraalVM 23.0.0-dev Java 20+34-jvmci-23.0-b09 CE (Java Version 20+34-jvmci-23.0-b09) 🟢
native-image 17.0.7 2023-04-18
GraalVM Runtime Environment GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4-jvmci-23.0-b10)
Substrate VM GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4, serial gc) 🟢
native-image 20 2023-03-21
GraalVM Runtime Environment GraalVM CE 20-dev+34.1 (build 20+34-jvmci-23.0-b10)
Substrate VM GraalVM CE 20-dev+34.1 (build 20+34, serial gc) 🟢
native-image 23.0.0-deva81ecbe6def2 Mandrel Distribution (Java Version 17.0.8-internal+0-adhoc.karm.jdk17u-dev) 🟢
native-image 23.0.0-deva81ecbe6def2 Mandrel Distribution (Java Version 20-internal-adhoc.karm.jdk20) 🟢
native-image 22.3.1.0-Final Mandrel Distribution (Java Version 17.0.6+10) 🟢

Copy link
Contributor

@jerboaa jerboaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but please double check the color profile resources aren't included by default already.

@quarkus-bot

This comment has been minimized.

@Karm
Copy link
Member Author

Karm commented Apr 11, 2023

Version Status
GraalVM 22.3.1 Java 17 CE (Java Version 17.0.6+10-jvmci-22.3-b13) 🟢
GraalVM 22.3.1 Java 19 CE (Java Version 19.0.2+7-jvmci-22.3-b12) 🟢
GraalVM 23.0.0-dev Java 17.0.7+4-jvmci-23.0-b09 CE (Java Version 17.0.7+4-jvmci-23.0-b09) 🟢
GraalVM 23.0.0-dev Java 19.0.1+10-jvmci-23.0-b04 CE (Java Version 19.0.1+10-jvmci-23.0-b04) 🟢
GraalVM 23.0.0-dev Java 20+34-jvmci-23.0-b09 CE (Java Version 20+34-jvmci-23.0-b09) 🟢
native-image 17.0.7 2023-04-18
GraalVM Runtime Environment GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4-jvmci-23.0-b10)
Substrate VM GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4, serial gc) 🟢
native-image 20 2023-03-21
GraalVM Runtime Environment GraalVM CE 20-dev+34.1 (build 20+34-jvmci-23.0-b10)
Substrate VM GraalVM CE 20-dev+34.1 (build 20+34, serial gc) 🟢
native-image 23.0.0-deva81ecbe6def2 Mandrel Distribution (Java Version 17.0.8-internal+0-adhoc.karm.jdk17u-dev) 🟢
native-image 23.0.0-deva81ecbe6def2 Mandrel Distribution (Java Version 20-internal-adhoc.karm.jdk20) 🟢
native-image 22.3.1.0-Final Mandrel Distribution (Java Version 17.0.6+10) 🟢

I am content with it now. It's IMHO ready for a review @geoand @gastaldi @zakkak

Copy link
Contributor

@gastaldi gastaldi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, it would be nice to have a Javadoc on the new BuildItems

@gastaldi
Copy link
Contributor

Awesome! Please squash them all before we merge it. Good job!

@Karm Karm changed the title Adapts AWT extension to the new dynamic .so loading [JDK 17, JDK 20] Adapts AWT extension to the new dynamic .so loading [JDK 17, 19, 20] Apr 11, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Apr 12, 2023

Failing Jobs - Building a354621

Status Name Step Failures Logs Raw logs
✔️ Gradle Tests - JDK 11
Gradle Tests - JDK 11 Windows Build Failures Logs Raw logs
JVM Tests - JDK 11 Build Failures Logs Raw logs
✔️ JVM Tests - JDK 17
✔️ JVM Tests - JDK 19
Native Tests - Security1 Build ⚠️ Check → Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ Gradle Tests - JDK 11 Windows #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleTestModel line 66 - More details - Source on GitHub

org.gradle.tooling.BuildException: Could not run build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-8.0.2-bin.zip'.
	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)
	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleDevModel line 105 - More details - Source on GitHub

java.lang.NullPointerException
	at io.quarkus.gradle.builder.QuarkusModelBuilderTest.assertProjectModule(QuarkusModelBuilderTest.java:152)
	at io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleDevModel(QuarkusModelBuilderTest.java:105)

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleDevModel line 49 - More details - Source on GitHub

org.gradle.tooling.BuildException: Could not run build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-8.0.2-bin.zip'.
	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)
	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleTestModel line 43 - More details - Source on GitHub

java.lang.AssertionError: 

Expecting actual not to be null

io.quarkus.gradle.devmode.MultiSourceProjectDevModeTest.main line 22 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in io.quarkus.test.devmode.util.DevModeTestUtils that uses java.util.function.Supplier, java.util.function.Supplierjava.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReferencejava.lang.String, java.lang.Stringboolean was not fulfilled within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)

⚙️ JVM Tests - JDK 11 #

- Failing: integration-tests/opentelemetry-jdbc-instrumentation 

📦 integration-tests/opentelemetry-jdbc-instrumentation

io.quarkus.it.opentelemetry.PostgresOpenTelemetryJdbcInstrumentationTest.testPostgreSqlQueryTraced line 14 - More details - Source on GitHub

org.opentest4j.AssertionFailedError: JDBC insert statement was not traced. ==> expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)

@Karm
Copy link
Member Author

Karm commented Apr 12, 2023

I don't think the OpenTelemetry JDBC instrumentation would be related...

@geoand
Copy link
Contributor

geoand commented Apr 12, 2023

Yes, that's a flaky test

@geoand
Copy link
Contributor

geoand commented Apr 12, 2023

Let's wait for a final approval from @zakkak or @jerboaa

Copy link
Contributor

@jerboaa jerboaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@gastaldi gastaldi merged commit 32d6e66 into quarkusio:main Apr 12, 2023
43 of 46 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.1 - main milestone Apr 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ImageIO AWT Quarkus IT test fails with GraalVM 23.0.0-dev build after AWT change
5 participants