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

SimpleJsonWithReflectionFreeSerializersTest is apparently a bit flaky #43104

Closed
gsmet opened this issue Sep 7, 2024 · 17 comments
Closed

SimpleJsonWithReflectionFreeSerializersTest is apparently a bit flaky #43104

gsmet opened this issue Sep 7, 2024 · 17 comments
Labels
area/jackson Issues related to Jackson (JSON library) triage/out-of-date This issue/PR is no longer valid or relevant

Comments

@gsmet
Copy link
Member

gsmet commented Sep 7, 2024

We had a test failure for SimpleJsonWithReflectionFreeSerializersTest in #43079 :

2024-09-06T12:35:43.0309213Z [INFO] Running io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonWithReflectionFreeSerializersTest
2024-09-06T12:35:45.0912637Z 2024-09-06 12:35:45,085 INFO  [io.quarkus] (main) quarkus-rest-jackson-deployment 999-SNAPSHOT on JVM (powered by Quarkus 999-SNAPSHOT) started in 0.555s. Listening on: http://localhost:8081
2024-09-06T12:35:45.0915259Z 2024-09-06 12:35:45,086 INFO  [io.quarkus] (main) Profile test activated. 
2024-09-06T12:35:45.0917581Z 2024-09-06 12:35:45,086 INFO  [io.quarkus] (main) Installed features: [cdi, hibernate-validator, rest, rest-jackson, security, smallrye-context-propagation, vertx]
2024-09-06T12:35:47.0948341Z 2024-09-06 12:35:47,089 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-1) HTTP Request to /simple/invalid-use-of-custom-serializer failed, error id: 82140858-f3bf-464d-8c09-b211a1c3b74c-2: java.lang.RuntimeException: java.lang.IllegalArgumentException: Only Person type can be handled
2024-09-06T12:35:47.0953078Z 	at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyWriter$MethodObjectWriterFunction.apply(FullyFeaturedServerJacksonMessageBodyWriter.java:177)
2024-09-06T12:35:47.0956985Z 	at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyWriter$MethodObjectWriterFunction.apply(FullyFeaturedServerJacksonMessageBodyWriter.java:157)
2024-09-06T12:35:47.0960112Z 	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1740)
2024-09-06T12:35:47.0963080Z 	at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyWriter.getObjectWriterFromAnnotations(FullyFeaturedServerJacksonMessageBodyWriter.java:91)
2024-09-06T12:35:47.0966826Z 	at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyWriter.writeResponse(FullyFeaturedServerJacksonMessageBodyWriter.java:62)
2024-09-06T12:35:47.0969602Z 	at org.jboss.resteasy.reactive.server.core.ServerSerialisers.invokeWriter(ServerSerialisers.java:217)
2024-09-06T12:35:47.0971869Z 	at org.jboss.resteasy.reactive.server.core.ServerSerialisers.invokeWriter(ServerSerialisers.java:185)
2024-09-06T12:35:47.0974128Z 	at org.jboss.resteasy.reactive.server.core.serialization.FixedEntityWriter.write(FixedEntityWriter.java:28)
2024-09-06T12:35:47.0976202Z 	at org.jboss.resteasy.reactive.server.handlers.ResponseWriterHandler.handle(ResponseWriterHandler.java:34)
2024-09-06T12:35:47.0978712Z 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:147)
2024-09-06T12:35:47.0981318Z 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2024-09-06T12:35:47.0983773Z 	at org.jboss.resteasy.reactive.server.handlers.RestInitialHandler.beginProcessing(RestInitialHandler.java:48)
2024-09-06T12:35:47.0985907Z 	at org.jboss.resteasy.reactive.server.vertx.ResteasyReactiveVertxHandler.handle(ResteasyReactiveVertxHandler.java:23)
2024-09-06T12:35:47.0988059Z 	at org.jboss.resteasy.reactive.server.vertx.ResteasyReactiveVertxHandler.handle(ResteasyReactiveVertxHandler.java:10)
2024-09-06T12:35:47.0989945Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.0991753Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.0993298Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.0994909Z 	at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:102)
2024-09-06T12:35:47.0996762Z 	at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:88)
2024-09-06T12:35:47.0998352Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.0999775Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.1001273Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.1003117Z 	at io.quarkus.vertx.http.runtime.options.HttpServerCommonHandlers$1.handle(HttpServerCommonHandlers.java:62)
2024-09-06T12:35:47.1005186Z 	at io.quarkus.vertx.http.runtime.options.HttpServerCommonHandlers$1.handle(HttpServerCommonHandlers.java:40)
2024-09-06T12:35:47.1006934Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.1008527Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.1010096Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.1012939Z 	at io.quarkus.vertx.http.runtime.security.AbstractHttpAuthorizer.doPermissionCheck(AbstractHttpAuthorizer.java:94)
2024-09-06T12:35:47.1015042Z 	at io.quarkus.vertx.http.runtime.security.AbstractHttpAuthorizer.checkPermission(AbstractHttpAuthorizer.java:69)
2024-09-06T12:35:47.1016888Z 	at io.quarkus.vertx.http.runtime.security.HttpAuthorizer.checkPermission(HttpAuthorizer.java:22)
2024-09-06T12:35:47.1018648Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$1.handle(HttpSecurityRecorder.java:80)
2024-09-06T12:35:47.1020337Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$1.handle(HttpSecurityRecorder.java:72)
2024-09-06T12:35:47.1022057Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.1023457Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.1024900Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.1026828Z 	at io.quarkus.resteasy.reactive.server.runtime.ResteasyReactiveRecorder$13.handle(ResteasyReactiveRecorder.java:358)
2024-09-06T12:35:47.1029067Z 	at io.quarkus.resteasy.reactive.server.runtime.ResteasyReactiveRecorder$13.handle(ResteasyReactiveRecorder.java:347)
2024-09-06T12:35:47.1030880Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.1032236Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.1033815Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.1035552Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler$3$1.onItem(HttpSecurityRecorder.java:318)
2024-09-06T12:35:47.1037728Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler$3$1.onItem(HttpSecurityRecorder.java:308)
2024-09-06T12:35:47.1040001Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:60)
2024-09-06T12:35:47.1042317Z 	at io.smallrye.mutiny.operators.uni.builders.DefaultUniEmitter.complete(DefaultUniEmitter.java:37)
2024-09-06T12:35:47.1043847Z 	at io.smallrye.mutiny.groups.UniOnNull.lambda$failWith$1(UniOnNull.java:46)
2024-09-06T12:35:47.1045421Z 	at io.smallrye.context.impl.wrappers.SlowContextualBiConsumer.accept(SlowContextualBiConsumer.java:21)
2024-09-06T12:35:47.1047039Z 	at io.smallrye.mutiny.groups.UniOnItem.lambda$transformToUni$4(UniOnItem.java:177)
2024-09-06T12:35:47.1048562Z 	at io.smallrye.context.impl.wrappers.SlowContextualConsumer.accept(SlowContextualConsumer.java:21)
2024-09-06T12:35:47.1050325Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateWithEmitter.subscribe(UniCreateWithEmitter.java:22)
2024-09-06T12:35:47.1052207Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1054176Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:81)
2024-09-06T12:35:47.1056589Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
2024-09-06T12:35:47.1058858Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
2024-09-06T12:35:47.1061130Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
2024-09-06T12:35:47.1062754Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1064257Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni.subscribe(UniOnItemTransformToUni.java:25)
2024-09-06T12:35:47.1065743Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1066979Z 	at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:51)
2024-09-06T12:35:47.1068715Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler$3.onItem(HttpSecurityRecorder.java:308)
2024-09-06T12:35:47.1070811Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler$3.onItem(HttpSecurityRecorder.java:293)
2024-09-06T12:35:47.1072572Z 	at io.smallrye.mutiny.operators.uni.UniMemoizeOp.forwardTo(UniMemoizeOp.java:123)
2024-09-06T12:35:47.1074042Z 	at io.smallrye.mutiny.operators.uni.UniMemoizeOp.notifyAwaiters(UniMemoizeOp.java:135)
2024-09-06T12:35:47.1075460Z 	at io.smallrye.mutiny.operators.uni.UniMemoizeOp.onItem(UniMemoizeOp.java:97)
2024-09-06T12:35:47.1077285Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:60)
2024-09-06T12:35:47.1079772Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem$KnownItemSubscription.forward(UniCreateFromKnownItem.java:38)
2024-09-06T12:35:47.1081895Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem.subscribe(UniCreateFromKnownItem.java:23)
2024-09-06T12:35:47.1083519Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1085482Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.performInnerSubscription(UniOnItemTransformToUni.java:81)
2024-09-06T12:35:47.1088002Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni$UniOnItemTransformToUniProcessor.onItem(UniOnItemTransformToUni.java:57)
2024-09-06T12:35:47.1090385Z 	at io.smallrye.mutiny.operators.uni.builders.UniCreateFromItemSupplier.subscribe(UniCreateFromItemSupplier.java:29)
2024-09-06T12:35:47.1105062Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1106799Z 	at io.smallrye.mutiny.operators.uni.UniOnItemTransformToUni.subscribe(UniOnItemTransformToUni.java:25)
2024-09-06T12:35:47.1108329Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1109583Z 	at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:51)
2024-09-06T12:35:47.1111069Z 	at io.smallrye.mutiny.operators.uni.UniMemoizeOp.subscribe(UniMemoizeOp.java:59)
2024-09-06T12:35:47.1112396Z 	at io.smallrye.mutiny.operators.AbstractUni.subscribe(AbstractUni.java:36)
2024-09-06T12:35:47.1113700Z 	at io.smallrye.mutiny.groups.UniSubscribe.withSubscriber(UniSubscribe.java:51)
2024-09-06T12:35:47.1115451Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler.handle(HttpSecurityRecorder.java:293)
2024-09-06T12:35:47.1117596Z 	at io.quarkus.vertx.http.runtime.security.HttpSecurityRecorder$AuthenticationHandler.handle(HttpSecurityRecorder.java:234)
2024-09-06T12:35:47.1119284Z 	at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1285)
2024-09-06T12:35:47.1120691Z 	at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
2024-09-06T12:35:47.1122187Z 	at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:140)
2024-09-06T12:35:47.1123359Z 	at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:68)
2024-09-06T12:35:47.1124386Z 	at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:37)
2024-09-06T12:35:47.1125799Z 	at io.quarkus.vertx.http.runtime.options.HttpServerCommonHandlers$2.handle(HttpServerCommonHandlers.java:86)
2024-09-06T12:35:47.1127817Z 	at io.quarkus.vertx.http.runtime.options.HttpServerCommonHandlers$2.handle(HttpServerCommonHandlers.java:69)
2024-09-06T12:35:47.1129527Z 	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$1.handle(VertxHttpRecorder.java:182)
2024-09-06T12:35:47.1131201Z 	at io.quarkus.vertx.http.runtime.VertxHttpRecorder$1.handle(VertxHttpRecorder.java:158)
2024-09-06T12:35:47.1132441Z 	at io.vertx.core.impl.ContextImpl.emit(ContextImpl.java:328)
2024-09-06T12:35:47.1133485Z 	at io.vertx.core.impl.DuplicatedContext.emit(DuplicatedContext.java:164)
2024-09-06T12:35:47.1134898Z 	at io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:174)
2024-09-06T12:35:47.1136334Z 	at io.vertx.core.net.impl.ConnectionBase.read(ConnectionBase.java:159)
2024-09-06T12:35:47.1137514Z 	at io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:153)
2024-09-06T12:35:47.1139070Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
2024-09-06T12:35:47.1140959Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1142793Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1144511Z 	at io.vertx.core.http.impl.Http1xUpgradeToH2CHandler.channelRead(Http1xUpgradeToH2CHandler.java:124)
2024-09-06T12:35:47.1146472Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
2024-09-06T12:35:47.1148327Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1150206Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1151862Z 	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289)
2024-09-06T12:35:47.1153512Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
2024-09-06T12:35:47.1155422Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1157493Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1159291Z 	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
2024-09-06T12:35:47.1160881Z 	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
2024-09-06T12:35:47.1162591Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
2024-09-06T12:35:47.1164705Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1166595Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1168238Z 	at io.vertx.core.http.impl.Http1xOrH2CHandler.end(Http1xOrH2CHandler.java:61)
2024-09-06T12:35:47.1169657Z 	at io.vertx.core.http.impl.Http1xOrH2CHandler.channelRead(Http1xOrH2CHandler.java:38)
2024-09-06T12:35:47.1171560Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
2024-09-06T12:35:47.1173490Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1175366Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1176983Z 	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289)
2024-09-06T12:35:47.1178515Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
2024-09-06T12:35:47.1180411Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1182290Z 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
2024-09-06T12:35:47.1184250Z 	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407)
2024-09-06T12:35:47.1186108Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
2024-09-06T12:35:47.1188012Z 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
2024-09-06T12:35:47.1189756Z 	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
2024-09-06T12:35:47.1191428Z 	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
2024-09-06T12:35:47.1192971Z 	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
2024-09-06T12:35:47.1194433Z 	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
2024-09-06T12:35:47.1195938Z 	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
2024-09-06T12:35:47.1197156Z 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
2024-09-06T12:35:47.1198501Z 	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
2024-09-06T12:35:47.1199913Z 	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
2024-09-06T12:35:47.1201432Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-09-06T12:35:47.1202606Z 	at java.base/java.lang.Thread.run(Thread.java:1583)
2024-09-06T12:35:47.1203648Z Caused by: java.lang.IllegalArgumentException: Only Person type can be handled
2024-09-06T12:35:47.1205570Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource$UnquotedFieldsPersonSerialization.apply(SimpleJsonResource.java:473)
2024-09-06T12:35:47.1208055Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource$UnquotedFieldsPersonSerialization.apply(SimpleJsonResource.java:459)
2024-09-06T12:35:47.1243892Z 	at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyWriter$MethodObjectWriterFunction.apply(FullyFeaturedServerJacksonMessageBodyWriter.java:173)
2024-09-06T12:35:47.1246063Z 	... 130 more
2024-09-06T12:35:47.1246337Z 
2024-09-06T12:35:47.2270482Z 2024-09-06 12:35:47,216 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-0) HTTP Request to /simple/person-invalid-result failed, error id: 82140858-f3bf-464d-8c09-b211a1c3b74c-3: io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveViolationException: getInvalidPersonResult.<return value>.last: Title cannot be blank
2024-09-06T12:35:47.2275677Z 	at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor.validateMethodInvocation(ResteasyReactiveEndPointValidationInterceptor.java:23)
2024-09-06T12:35:47.2281426Z 	at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor_Bean.intercept(Unknown Source)
2024-09-06T12:35:47.2284509Z 	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
2024-09-06T12:35:47.2286515Z 	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
2024-09-06T12:35:47.2288230Z 	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
2024-09-06T12:35:47.2290127Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource_Subclass.getInvalidPersonResult(Unknown Source)
2024-09-06T12:35:47.2293033Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource$quarkusrestinvoker$getInvalidPersonResult_514bae16d4c5471892d04310edf045123b593d6f.invoke(Unknown Source)
2024-09-06T12:35:47.2295372Z 	at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
2024-09-06T12:35:47.2297623Z 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
2024-09-06T12:35:47.2300292Z 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2024-09-06T12:35:47.2302647Z 	at org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext$1$1.handle(VertxResteasyReactiveRequestContext.java:84)
2024-09-06T12:35:47.2305121Z 	at org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext$1$1.handle(VertxResteasyReactiveRequestContext.java:81)
2024-09-06T12:35:47.2306887Z 	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
2024-09-06T12:35:47.2307948Z 	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:252)
2024-09-06T12:35:47.2309113Z 	at io.vertx.core.impl.ContextInternal.lambda$runOnContext$0(ContextInternal.java:50)
2024-09-06T12:35:47.2310550Z 	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
2024-09-06T12:35:47.2312113Z 	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
2024-09-06T12:35:47.2313815Z 	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
2024-09-06T12:35:47.2315226Z 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566)
2024-09-06T12:35:47.2316540Z 	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
2024-09-06T12:35:47.2318174Z 	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
2024-09-06T12:35:47.2319543Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-09-06T12:35:47.2320678Z 	at java.base/java.lang.Thread.run(Thread.java:1583)
@gsmet
Copy link
Member Author

gsmet commented Sep 7, 2024

/cc @mariofusco

@gsmet gsmet added area/jackson Issues related to Jackson (JSON library) and removed triage/needs-triage labels Sep 7, 2024
Copy link

quarkus-bot bot commented Sep 7, 2024

/cc @geoand (jackson), @mariofusco (jackson)

@geoand
Copy link
Contributor

geoand commented Sep 8, 2024

Thanks for bringing this up. I also saw it fail in an unrelated PR

geoand added a commit to geoand/quarkus that referenced this issue Sep 9, 2024
@mariofusco
Copy link
Contributor

Thanks of having reported this, I am giving a look. For now I just noticed that SimpleJsonResource.testCustomSerialization throws that exception regardless if the generated Jackson serializers are used or not (and I'm seeing that this happened even before their introduction), anyway for some reason this normally doesn't make the test to fail. Is this wanted/expected?

@geoand
Copy link
Contributor

geoand commented Sep 9, 2024

throws that exception regardless if the generated Jackson serializers are used or not (and I'm seeing that this happened even before their introduction), anyway for some reason this normally doesn't make the test to fail. Is this wanted/expected?

It is yeah, because what is being tested here is that the custom serialization via @CustomSerialization applies only to the annotated method

@mariofusco
Copy link
Contributor

It is yeah, because what is being tested here is that the custom serialization via @CustomSerialization applies only to the annotated method

Ok, so if I'm understanding correctly, when run from SimpleJsonWithReflectionFreeSerializersTest, the same test generates the same exception (right), but from time to time this also makes the test suite to fail (wrong). I will try to figure out why even though at the moment I cannot reproduce this behaviour on my machine.

@geoand
Copy link
Contributor

geoand commented Sep 9, 2024

Right, I can't reproduce it either, which is why I opened #43124 so next time it happens on CI, we can at least have a little more info on what it trying to be serialized

@mariofusco
Copy link
Contributor

Right, I can't reproduce it either, which is why I opened #43124 so next time it happens on CI, we can at least have a little more info on what it trying to be serialized

Is there any special situation that happens only on CI machines? E.g. are the tests executed in parallel there while they are always sequential on our development machines?

@geoand
Copy link
Contributor

geoand commented Sep 9, 2024

Not that I remember

gsmet added a commit that referenced this issue Sep 9, 2024
Improve error in SimpleJsonResource
@gsmet
Copy link
Member Author

gsmet commented Sep 9, 2024

@mariofusco the only thing that is specific to CI is that the machines are slow (both CPU and IO).

@mariofusco
Copy link
Contributor

Giving a second look at the reported error I believe that the first part (the one where @geoand added the better error message, that is useful anyway) is a red herring. It is just the exception that, as discussed before, is expected and always thrown. The only actual error that is making CI to fail is the second part, but at the moment I still don't know what it is causing it.

2024-09-06T12:35:47.2270482Z 2024-09-06 12:35:47,216 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-0) HTTP Request to /simple/person-invalid-result failed, error id: 82140858-f3bf-464d-8c09-b211a1c3b74c-3: io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveViolationException: getInvalidPersonResult.<return value>.last: Title cannot be blank
2024-09-06T12:35:47.2275677Z 	at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor.validateMethodInvocation(ResteasyReactiveEndPointValidationInterceptor.java:23)
2024-09-06T12:35:47.2281426Z 	at io.quarkus.hibernate.validator.runtime.jaxrs.ResteasyReactiveEndPointValidationInterceptor_Bean.intercept(Unknown Source)
2024-09-06T12:35:47.2284509Z 	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
2024-09-06T12:35:47.2286515Z 	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
2024-09-06T12:35:47.2288230Z 	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
2024-09-06T12:35:47.2290127Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource_Subclass.getInvalidPersonResult(Unknown Source)
2024-09-06T12:35:47.2293033Z 	at io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonResource$quarkusrestinvoker$getInvalidPersonResult_514bae16d4c5471892d04310edf045123b593d6f.invoke(Unknown Source)
2024-09-06T12:35:47.2295372Z 	at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
2024-09-06T12:35:47.2297623Z 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
2024-09-06T12:35:47.2300292Z 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
2024-09-06T12:35:47.2302647Z 	at org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext$1$1.handle(VertxResteasyReactiveRequestContext.java:84)
2024-09-06T12:35:47.2305121Z 	at org.jboss.resteasy.reactive.server.vertx.VertxResteasyReactiveRequestContext$1$1.handle(VertxResteasyReactiveRequestContext.java:81)
2024-09-06T12:35:47.2306887Z 	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
2024-09-06T12:35:47.2307948Z 	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:252)
2024-09-06T12:35:47.2309113Z 	at io.vertx.core.impl.ContextInternal.lambda$runOnContext$0(ContextInternal.java:50)
2024-09-06T12:35:47.2310550Z 	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
2024-09-06T12:35:47.2312113Z 	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
2024-09-06T12:35:47.2313815Z 	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
2024-09-06T12:35:47.2315226Z 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566)
2024-09-06T12:35:47.2316540Z 	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
2024-09-06T12:35:47.2318174Z 	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
2024-09-06T12:35:47.2319543Z 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
2024-09-06T12:35:47.2320678Z 	at java.base/java.lang.Thread.run(Thread.java:1583)

@mariofusco
Copy link
Contributor

Nope, I take this back and also that second error message is in reality expected as it is raised by SimpleJsonTest.testValidatedJson. Another red herring I guess.

@mariofusco
Copy link
Contributor

Found, the error is in testEcho, introduced by this commit, and indeed totally unrelated with those error messages that are both expected. I'm on it.

@geoand
Copy link
Contributor

geoand commented Sep 9, 2024

🙏🏽

@geoand
Copy link
Contributor

geoand commented Sep 10, 2024

@mariofusco can we close this in light of your latest fixes?

@mariofusco
Copy link
Contributor

I think this can be closed.

@geoand
Copy link
Contributor

geoand commented Sep 10, 2024

👍🏽

@geoand geoand closed this as completed Sep 10, 2024
@geoand geoand added the triage/out-of-date This issue/PR is no longer valid or relevant label Sep 10, 2024
danielsoro pushed a commit to danielsoro/quarkus that referenced this issue Sep 20, 2024
bschuhmann pushed a commit to bschuhmann/quarkus that referenced this issue Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/jackson Issues related to Jackson (JSON library) triage/out-of-date This issue/PR is no longer valid or relevant
Projects
None yet
Development

No branches or pull requests

3 participants