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

Upgrade to Vert.x 4.4.9 with backports #39788

Merged
merged 4 commits into from
Apr 4, 2024
Merged

Conversation

jponge
Copy link
Member

@jponge jponge commented Mar 29, 2024

This is a backport of #39764 on top of Vert.x 4.4.9

@quarkus-bot quarkus-bot bot added area/dependencies Pull requests that update a dependency file area/vertx labels Mar 29, 2024
@jponge
Copy link
Member Author

jponge commented Mar 29, 2024

I'm having issues locally with native compilation, but this could be due to GraalVM baselines, to be investigated.

@jponge
Copy link
Member Author

jponge commented Mar 29, 2024

There's indeed a native compilation issue to fix, I've been able to pass native tests fine locally on a recent GraalVM + clean 3.2 branch.

@jponge
Copy link
Member Author

jponge commented Mar 29, 2024

👋 @zakkak @geoand I'm struggling with this backport, it looks like some Netty classes get build-time initialized while they shouldn't. It's really the Netty version bump that brings these issues on 3.2:

Error: Classes that should be initialized at run time got initialized during image building:
 io.netty.buffer.AbstractReferenceCountedByteBuf the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf'). To see why io.netty.buffer.AbstractReferenceCountedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf
io.netty.buffer.ByteBufUtil the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.ByteBufUtil' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufUtil.class'). To see why io.netty.buffer.ByteBufUtil got initialized use --trace-class-initialization=io.netty.buffer.ByteBufUtil
io.netty.buffer.UnpooledUnsafeHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledUnsafeHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeHeapByteBuf
io.netty.buffer.PooledByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'PooledByteBufAllocator.class'). To see why io.netty.buffer.PooledByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBufAllocator
io.netty.buffer.UnpooledHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledHeapByteBuf
io.netty.buffer.UnpooledDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledDirectByteBuf
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf
io.netty.buffer.UnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeDirectByteBuf
To see how the classes got initialized, use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf,io.netty.buffer.ByteBufUtil,io.netty.buffer.UnpooledUnsafeHeapByteBuf,io.netty.buffer.PooledByteBufAllocator,io.netty.buffer.UnpooledHeapByteBuf,io.netty.buffer.UnpooledDirectByteBuf,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf,io.netty.buffer.UnpooledUnsafeDirectByteBuf
com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
 io.netty.buffer.AbstractReferenceCountedByteBuf the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf'). To see why io.netty.buffer.AbstractReferenceCountedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf
io.netty.buffer.ByteBufUtil the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.ByteBufUtil' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufUtil.class'). To see why io.netty.buffer.ByteBufUtil got initialized use --trace-class-initialization=io.netty.buffer.ByteBufUtil
io.netty.buffer.UnpooledUnsafeHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledUnsafeHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeHeapByteBuf
io.netty.buffer.PooledByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'PooledByteBufAllocator.class'). To see why io.netty.buffer.PooledByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBufAllocator
io.netty.buffer.UnpooledHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledHeapByteBuf
io.netty.buffer.UnpooledDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledDirectByteBuf
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf
io.netty.buffer.UnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.UnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeDirectByteBuf
To see how the classes got initialized, use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf,io.netty.buffer.ByteBufUtil,io.netty.buffer.UnpooledUnsafeHeapByteBuf,io.netty.buffer.PooledByteBufAllocator,io.netty.buffer.UnpooledHeapByteBuf,io.netty.buffer.UnpooledDirectByteBuf,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf,io.netty.buffer.UnpooledUnsafeDirectByteBuf
	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:73)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ProvenSafeClassInitializationSupport.checkDelayedInitialization(ProvenSafeClassInitializationSupport.java:277)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:219)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:786)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:90)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:786)
	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:181)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:783)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)

@geoand
Copy link
Contributor

geoand commented Mar 29, 2024

I can take a look on Monday

This comment has been minimized.

@jponge
Copy link
Member Author

jponge commented Mar 30, 2024

It's picking native-image.properties metadata in netty-buffer:

io.netty.buffer.PooledByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///Volumes/Code/Quarkus/quarkus/integration-tests/resteasy-jackson/target/quarkus-integration-test-resteasy-jackson-3.2.999-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.108.Final.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'PooledByteBufAllocator.class'). io.netty.handler.ssl.JdkSslServerContext caused initialization of this class with the following trace:
	at io.netty.buffer.PooledByteBufAllocator.<clinit>(PooledByteBufAllocator.java:38)
	at io.netty.buffer.ByteBufUtil.<clinit>(ByteBufUtil.java:88)
	at io.netty.buffer.Unpooled.copiedBufferAscii(Unpooled.java:615)
	at io.netty.buffer.Unpooled.copiedBuffer(Unpooled.java:586)
	at io.netty.handler.ssl.PemReader.readCertificates(PemReader.java:98)
	at io.netty.handler.ssl.SslContext.toX509Certificates(SslContext.java:1260)
	at io.netty.handler.ssl.JdkSslServerContext.checkIfWrappingTrustManagerIsSupported(JdkSslServerContext.java:80)
	at io.netty.handler.ssl.JdkSslServerContext.<clinit>(JdkSslServerContext.java:65)

@geoand
Copy link
Contributor

geoand commented Mar 30, 2024

We can exclude this file, there is a build item (I think the Oracle jdbc extension uses it)

@geoand
Copy link
Contributor

geoand commented Apr 1, 2024

ExcludeConfigBuildItem is what I had in mind

@jponge
Copy link
Member Author

jponge commented Apr 1, 2024

I'll get back to this tomorrow (PTO) - I had tried excluding those metadata but ended up going circles / it looks like some SSL-related code is triggering those build-time initialisations.

@jponge
Copy link
Member Author

jponge commented Apr 1, 2024

Tracing class initializations always point me to JdkSslServerContext, as in:

at io.netty.buffer.PooledByteBufAllocator.<clinit>(PooledByteBufAllocator.java:38)
	at io.netty.buffer.ByteBufUtil.<clinit>(ByteBufUtil.java:88)
	at io.netty.buffer.Unpooled.copiedBufferAscii(Unpooled.java:615)
	at io.netty.buffer.Unpooled.copiedBuffer(Unpooled.java:586)
	at io.netty.handler.ssl.PemReader.readCertificates(PemReader.java:98)
	at io.netty.handler.ssl.SslContext.toX509Certificates(SslContext.java:1260)
	at io.netty.handler.ssl.JdkSslServerContext.checkIfWrappingTrustManagerIsSupported(JdkSslServerContext.java:80)
	at io.netty.handler.ssl.JdkSslServerContext.<clinit>(JdkSslServerContext.java:65)

I haven't seen any obvious change in the Netty / Vert.x extensions between 3.2 and main.

This comment has been minimized.

This comment has been minimized.

@geoand
Copy link
Contributor

geoand commented Apr 2, 2024

And I assume that initializing at JdkSslServerContext runtime doesn't help either?

@jponge
Copy link
Member Author

jponge commented Apr 2, 2024

@geoand that's what I ended up doing but we still have the gRPC and cache native tests failing, but not on native compilation. I don't know if it's related.

@geoand
Copy link
Contributor

geoand commented Apr 2, 2024

Indeed it's hard to tell...

jponge added a commit to jponge/quarkus that referenced this pull request Apr 2, 2024
jponge added a commit to jponge/quarkus that referenced this pull request Apr 2, 2024
@jponge
Copy link
Member Author

jponge commented Apr 2, 2024

I've been able to test integration-tests/infinispan-client successfully locally.

It looks like there is a more serious issue with integration-tests/grpc-plain-text-gzip as the produced binaries fail to respond correctly:

[ERROR] Failures:
[ERROR]   HelloWorldEndpointIT>HelloWorldEndpointTestBase.testHelloWorldServiceUsingBlockingStub:22
Expecting actual:
  "{"details":"Error id 887631a4-cfdf-4583-852e-8fa9a180fda3-1","stack":""}"
to start with:
  "Hello neo"

[ERROR]   HelloWorldEndpointIT>HelloWorldEndpointTestBase.testHelloWorldServiceUsingMutinyStub:29
Expecting actual:
  ""
to start with:
  "Hello neo-mutiny"

[ERROR] Errors:
[ERROR]   HelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingBlockingStub:47 » StatusRuntime CANCELLED: Failed to read message.
[ERROR]   HelloWorldServiceIT.testHelloWorldServiceUsingMutinyStub » StatusRuntime CANCELLED: Failed to read message.
[ERROR]   VertxHelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingBlockingStub:47 » StatusRuntime INTERNAL: No value received for unary call
[ERROR]   VertxHelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingMutinyStub:55 » Timeout
[INFO]
[ERROR] Tests run: 6, Failures: 2, Errors: 4, Skipped: 0

I have spotted the characteristic warning where a heuristic fails to handle an Unsafe field:

Warning: RecomputeFieldValue.FieldOffset automatic substitution failed. The automatic substitution registration was attempted because a call to sun.misc.Unsafe.objectFieldOffset(Field) was detected in the static initializer of com.google.protobuf.UnsafeUtil. Detailed failure reason(s): The argument of sun.misc.Unsafe.objectFieldOffset(java.lang.reflect.Field) is not a constant value or a field load that can be constant-folded., Could not determine the field where the value produced by the call to sun.misc.Unsafe.objectFieldOffset(Field) for the field offset computation is stored. The call is not directly followed by a field store or by a sign extend node followed directly by a field store.

/cc @zakkak it's not related to your efforts wrt UnsafeAccessedFieldBuildItem (it's a 3.2 backport branch here) but that might be of interest to you as well.

@quarkus-bot quarkus-bot bot added the area/grpc gRPC label Apr 3, 2024
@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

Hi @alesj, I'd need some help on backporting gRPC changes to 3.2 with a Netty/Vert.x bump.

I've backported a substitution so com.google.protobuf.UnsafeUtil doesn't annoy us, but the IT tests in integration-tests/grpc-plain-text-gzip still fail.

I haven't bumped the grpc.version and protobuf-related versions in the POM, if they match those from main then I get compilation errors because of internal API breaking changes

Do you have any idea? 🙏

@alesj
Copy link
Contributor

alesj commented Apr 3, 2024

@jponge how do I reproduce this compilation errors?

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

@alesj I realise I did not answer your question 🤣

Here's what you need to do, aligning the gRPC/protobuf to what's in main:

diff --git a/pom.xml b/pom.xml
index e78e18008e2..7a80d6b53a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,11 +72,11 @@
         <kubernetes-client.version>6.7.2</kubernetes-client.version> <!-- Please check with Java Operator SDK team before updating -->

         <!-- Make sure to check compatibility between these 2 gRPC components before upgrade -->
-        <grpc.version>1.56.0</grpc.version> <!-- when updating, verify if com.google.auth should not be updated too -->
+        <grpc.version>1.62.2</grpc.version> <!-- when updating, verify if com.google.auth should not be updated too -->
         <grpc-jprotoc.version>1.2.1</grpc-jprotoc.version>
-        <protoc.version>3.22.0</protoc.version>
+        <protoc.version>3.25.0</protoc.version>
         <protobuf-java.version>${protoc.version}</protobuf-java.version>
-        <proto-google-common-protos.version>2.23.0</proto-google-common-protos.version>
+        <proto-google-common-protos.version>2.36.0</proto-google-common-protos.version>

         <!-- TestNG version: we don't enforce it in the BOM as it is mostly used in the MP TCKs and we need to use the version from the TCKs -->
         <testng.version>7.4.0</testng.version>

@zakkak
Copy link
Contributor

zakkak commented Apr 3, 2024

I've been able to test integration-tests/infinispan-client successfully locally.

@jponge how did you fix this?

Backporting #37384 seems to fix both integration-tests/infinispan-client and integration-tests/grpc-plain-text-gzip locally.

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

@zakkak I didn't fix the Infinispan client test, it just worked on my machine ™️

I'm going to test backporting #37384

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

@zakkak how did you fix integration-tests/grpc-plain-text-gzip? The change fixes only the Infinispan extension.

@quarkus-bot quarkus-bot bot added the area/infinispan Infinispan label Apr 3, 2024
@zakkak
Copy link
Contributor

zakkak commented Apr 3, 2024

@zakkak how did you fix integration-tests/grpc-plain-text-gzip? The change fixes only the Infinispan extension.

It just worked after the patch. CI seems happy about it as well. Note that this is without the grpc update mentioned in #39788 (comment)

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

@zakkak My current branch is the same as this PR (without any gRPC update) and still get issues in native with integration-tests/grpc-plain-text-gzip:

[ERROR] Failures:
[ERROR]   HelloWorldEndpointIT>HelloWorldEndpointTestBase.testHelloWorldServiceUsingBlockingStub:22
Expecting actual:
  "{"details":"Error id 1bdd53e3-10d3-4d34-a1ef-05148bebcdb0-1","stack":""}"
to start with:
  "Hello neo"

[ERROR]   HelloWorldEndpointIT>HelloWorldEndpointTestBase.testHelloWorldServiceUsingMutinyStub:29
Expecting actual:
  ""
to start with:
  "Hello neo-mutiny"

[ERROR] Errors:
[ERROR]   HelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingBlockingStub:47 » StatusRuntime CANCELLED: Failed to read message.
[ERROR]   HelloWorldServiceIT.testHelloWorldServiceUsingMutinyStub » StatusRuntime CANCELLED: Failed to read message.
[ERROR]   VertxHelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingBlockingStub:47 » StatusRuntime INTERNAL: No value received for unary call
[ERROR]   VertxHelloWorldServiceIT>HelloWorldServiceTestBase.testHelloWorldServiceUsingMutinyStub:55 » Timeout
[INFO]
[ERROR] Tests run: 6, Failures: 2, Errors: 4, Skipped: 0

I'm on macOS using sdkman / 21.0.2-graal

This comment has been minimized.

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

@zakkak Ok, so I have an interesting development here:

  • sdk use java 21.0.2-graalce 🟢
  • sdk use java 21.0.2-graal 🔴

@jponge
Copy link
Member Author

jponge commented Apr 3, 2024

I just relaunched the CI on JVM Tests / JDK 11, the rest is green.

@gsmet do you prefer a single commit or is the current set of 4 commits ok?

@jponge jponge requested review from geoand, FroMage, cescoffier and gsmet and removed request for FroMage April 3, 2024 19:32
@zakkak
Copy link
Contributor

zakkak commented Apr 3, 2024

@zakkak Ok, so I have an interesting development here:

* `sdk use java 21.0.2-graalce` 🟢

* `sdk use java 21.0.2-graal` 🔴

There was a report about this in 3.9.x as well, it might not be 3.2.x specific. See https://quarkusio.zulipchat.com/#narrow/stream/187038-dev/topic/Native.20compilation.20issue.20with.203.2E9.2E2

Please let me know if we need to make it work with Oracle GraalVM for JDK 17 as well.

Copy link
Contributor

@zakkak zakkak left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link

quarkus-bot bot commented Apr 3, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 83b934b.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
✔️ JVM Tests - JDK 11 Failures Logs Raw logs 🚧
✔️ JVM Tests - JDK 17 Logs Raw logs 🚧

Full information is available in the Build summary check run.

Failures

⚙️ JVM Tests - JDK 11 #

- Failing: independent-projects/tools/analytics-common 
! Skipped: devtools/cli devtools/gradle/gradle-application-plugin devtools/maven and 205 more

📦 independent-projects/tools/analytics-common

io.quarkus.analytics.AnalyticsServiceTest.sendAnalyticsTest line 160 - History - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: 
Assertion condition defined as a io.quarkus.analytics.AnalyticsServiceTest Expected at least one request matching: {
  "url" : "/v1/track",
  "method" : "POST"
}
Requests received: [ ] within 5 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

@geoand geoand merged commit f29d9b3 into quarkusio:3.2 Apr 4, 2024
45 checks passed
* If a client sends more than this number of parameters in a request, the connection is closed.
*/
@ConfigItem(defaultValue = "1000")
public int maxParameters;
Copy link
Member

Choose a reason for hiding this comment

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

@jponge this config parameter doesn't seem to be used

Copy link
Member Author

Choose a reason for hiding this comment

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

You're right, it might be removed

gsmet pushed a commit to gsmet/quarkus that referenced this pull request Apr 9, 2024
gsmet pushed a commit to gsmet/quarkus that referenced this pull request Apr 9, 2024
gsmet pushed a commit to gsmet/quarkus that referenced this pull request Apr 9, 2024
See quarkusio#39819 and quarkusio#39788

(cherry picked from commit b35ae00)
(cherry picked from commit d2673c8)
gsmet pushed a commit to gsmet/quarkus that referenced this pull request Apr 11, 2024
See quarkusio#39819 and quarkusio#39788

(cherry picked from commit b35ae00)
(cherry picked from commit d2673c8)
gsmet pushed a commit to gsmet/quarkus that referenced this pull request Apr 11, 2024
See quarkusio#39819 and quarkusio#39788

(cherry picked from commit b35ae00)
(cherry picked from commit d2673c8)
ketola pushed a commit to ketola/quarkus that referenced this pull request May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dependencies Pull requests that update a dependency file area/grpc gRPC area/infinispan Infinispan area/vertx
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants