vaadin / quarkus

An extension to Quarkus to support Vaadin Flow
Apache License 2.0
28 stars 3 forks source link

Thread blocked and UnsupportedOperationException with high request rate #138

Open diversit opened 9 months ago

diversit commented 9 months ago

Issue

We're rediscovering Vaadin and in our project we see something similar which can easily be replicated with this 'base-starter' project.

After starting the application, open the browser and hit refresh fast and often, several exceptions occur. See full logs below.

Especially the 2023-10-03 17:01:44,786 WARN [io.ver.cor.imp.BlockedThreadChecker] (vertx-blocked-thread-checker) Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 3941 ms, time limit is 2000 ms: io.vertx.core.VertxException: Thread blocked we see in our project al lot and then we do not need to refresh that often.

Other exception that occurs often is: 2023-10-03 17:01:07,706 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-2) : java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 0, got 1. more details logged on DEBUG level.

I had a look in the VaadinService class and where the lockSession is used on L812. Should that try-catch block not also have a finally block like the other try-catch-finally block ? Could be the cause of the locked thread?

I did not look at what could have caused the UnsupportedOperationException.

I talked to some Vaadin guys at the current Devoxx conference and he suggested to great an issue here.

Environment

Full logs

Vaadin application has been deployed and started.
__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2023-10-03 17:00:18,333 INFO  [io.und.servlet] (Quarkus Main Thread) Initializing AtmosphereFramework

2023-10-03 17:00:18,404 INFO  [com.vaa.bas.dev.sta.DevModeStartupListener] (Quarkus Main Thread) Starting dev-mode updaters in /Users/joostdenboer/Projects/tryout/vaadin/base-starter-flow-quarkus folder.
2023-10-03 17:00:18,420 INFO  [com.vaa.flo.ser.fro.sca.FullDependenciesScanner] (Quarkus Main Thread) Visited 72 classes. Took 10 ms.
2023-10-03 17:00:18,421 INFO  [com.vaa.flo.ser.fro.BundleValidationUtil] (Quarkus Main Thread) Checking if a development mode bundle build is needed
2023-10-03 17:00:18,450 INFO  [com.vaa.flo.ser.fro.BundleValidationUtil] (Quarkus Main Thread) A development mode bundle build is not needed
2023-10-03 17:00:18,458 INFO  [com.vaa.flo.ser.fro.TaskCopyFrontendFiles] (ForkJoinPool.commonPool-worker-10) Copying frontend resources from jar files ...
2023-10-03 17:00:18,470 INFO  [com.vaa.flo.ser.fro.TaskCopyFrontendFiles] (ForkJoinPool.commonPool-worker-10) Visited 17 resources. Took 12 ms.
2023-10-03 17:00:18,537 INFO  [com.vaa.flo.ser.sta.ServletDeployer] (Quarkus Main Thread) Skipping automatic servlet registration because there is already a Vaadin servlet with the name com.vaadin.quarkus.QuarkusVaadinServlet
2023-10-03 17:00:18,544 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /*
2023-10-03 17:00:18,544 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler
2023-10-03 17:00:18,554 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
2023-10-03 17:00:18,556 INFO  [org.atm.uti.ForkJoinPool] (Quarkus Main Thread) Using ForkJoinPool  java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
2023-10-03 17:00:18,558 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
2023-10-03 17:00:18,559 INFO  [org.atm.con.JSR356AsyncSupport] (Quarkus Main Thread) JSR 356 Mapping path /VAADIN/push
2023-10-03 17:00:18,560 INFO  [io.und.websockets] (Quarkus Main Thread) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /VAADIN/push
2023-10-03 17:00:18,560 INFO  [io.und.websockets] (Quarkus Main Thread) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /VAADIN/push/
2023-10-03 17:00:18,560 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installing Default AtmosphereInterceptors
2023-10-03 17:00:18,560 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
2023-10-03 17:00:18,561 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Broadcaster Shared List Resources: false
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Broadcaster Polling Wait Time 100
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Shared ExecutorService supported: true
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Async I/O Thread Pool Size: 200
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
2023-10-03 17:00:18,562 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
2023-10-03 17:00:18,563 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Invoke AtmosphereInterceptor on WebSocket message true
2023-10-03 17:00:18,563 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) HttpSession supported: true
2023-10-03 17:00:18,563 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation
2023-10-03 17:00:18,563 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Undertow - 5.0.2.Final using jakarta.servlet/3.0 and jsr356/WebSocket API
2023-10-03 17:00:18,563 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere Framework 3.0.3.slf4jvaadin1 started.
2023-10-03 17:00:18,564 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
2023-10-03 17:00:18,570 INFO  [com.vaa.flo.ser.DefaultDeploymentConfiguration] (Quarkus Main Thread)
Vaadin is running in DEVELOPMENT mode - do not use for production deployments.

The following feature previews are enabled:
- SideNav component (Production ready but tweaks to at least the internal DOM will still take place)

2023-10-03 17:00:18,700 INFO  [io.quarkus] (Quarkus Main Thread) base-starter-flow-quarkus 1.0-SNAPSHOT on JVM (powered by Quarkus 3.3.0) started in 1.227s. Listening on: http://localhost:8080
2023-10-03 17:00:18,700 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2023-10-03 17:00:18,701 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, servlet, smallrye-context-propagation, vaadin-quarkus, vertx, websockets, websockets-client]
2023-10-03 17:00:34,884 INFO  [com.vaa.qua.QuarkusInstantiator] (executor-thread-1) Can't find any @VaadinServiceScoped bean implementing 'I18NProvider'. Cannot use CDI beans for I18N, falling back to the default behavior.
2023-10-03 17:00:42,822 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-1) : java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 0, got 1. more details logged on DEBUG level.
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:313)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-03 17:00:59,553 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-2) : java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 0, got 1. more details logged on DEBUG level.
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:313)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-03 17:01:07,706 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-2) : java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 0, got 1. more details logged on DEBUG level.
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:313)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-03 17:01:44,786 WARN  [io.ver.cor.imp.BlockedThreadChecker] (vertx-blocked-thread-checker) Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 3941 ms, time limit is 2000 ms: io.vertx.core.VertxException: Thread blocked
    at java.base@17.0.8/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@17.0.8/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
    at java.base@17.0.8/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715)
    at java.base@17.0.8/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:938)
    at java.base@17.0.8/java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
    at java.base@17.0.8/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
    at com.vaadin.flow.server.VaadinService.lockSession(VaadinService.java:765)
    at com.vaadin.flow.server.VaadinService.findOrCreateVaadinSession(VaadinService.java:812)
    at com.vaadin.flow.server.VaadinService.findVaadinSession(VaadinService.java:657)
    at com.vaadin.flow.server.communication.PushHandler.callWithServiceAndSession(PushHandler.java:211)
    at com.vaadin.flow.server.communication.PushHandler.onConnect(PushHandler.java:565)
    at com.vaadin.flow.server.communication.PushAtmosphereHandler.onConnect(PushAtmosphereHandler.java:103)
    at com.vaadin.flow.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:217)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:103)
    at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:574)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.open(DefaultWebSocketProcessor.java:213)
    at org.atmosphere.container.JSR356Endpoint.onOpen(JSR356Endpoint.java:254)
    at io.undertow.websockets.EndpointSessionHandler.connected(EndpointSessionHandler.java:119)
    at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:120)
    at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:117)
    at io.undertow.websockets.handshake.Handshake$1.accept(Handshake.java:147)
    at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:129)
    at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:121)
    at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141)
    at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54)
    at io.vertx.core.impl.future.FutureBase$$Lambda$1292/0x00000008008d2a18.run(Unknown Source)
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:86)
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:163)
    at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:51)
    at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211)
    at io.vertx.core.impl.future.PromiseImpl.tryComplete(PromiseImpl.java:23)
    at io.vertx.core.Promise.complete(Promise.java:66)
    at io.vertx.core.impl.future.PromiseImpl.operationComplete(PromiseImpl.java:65)
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
    at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
    at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625)
    at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105)
    at io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48)
    at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:728)
    at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:283)
    at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:363)
    at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:421)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:921)
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
    at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
    at io.vertx.core.net.impl.ConnectionBase.endReadAndFlush(ConnectionBase.java:145)
    at io.vertx.core.net.impl.VertxHandler.channelReadComplete(VertxHandler.java:148)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:484)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.handler.timeout.IdleStateHandler.channelReadComplete(IdleStateHandler.java:295)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:484)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.handler.codec.ByteToMessageDecoder.channelReadComplete(ByteToMessageDecoder.java:358)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:486)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1415)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:482)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:925)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:171)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base@17.0.8/java.lang.Thread.run(Thread.java:833)

2023-10-03 17:02:40,820 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-2) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)
mcollovati commented 9 months ago

It could be related to https://github.com/quarkusio/quarkus/issues/11076 and https://github.com/mcollovati/quarkus-hilla/issues/182

It seems the issue could be resolved by installing a RequireBodyHandler

    @BuildStep
    void requireRequestBodyHandler(BuildProducer<RequireBodyHandlerBuildItem> producer) {
         producer.produce(new RequireBodyHandlerBuildItem());
    }

As a workaround in your application, you can try to manually install the BodyHandler


@ApplicationScoped
public class BodyHandlerInstaller {

    public void init(@Observes StartupEvent e, Router httpRouteRouter) {
        Handler<RoutingContext> bodyHandler = BodyHandler.create();
        httpRouteRouter.route().order(Integer.MIN_VALUE + 1).handler(routingContext -> {
            routingContext.request().resume();
            bodyHandler.handle(routingContext);
        });
    }
}

I'll transfer the issue to the vaadin-quarkus repository for further investigation

diversit commented 8 months ago

I tried the BodyHandlerInstaller on the Quarkus base-starter project and I have not been able to reproduce the blocked thread yet. I will now also try this in our application.

diversit commented 8 months ago

I have tried this in our application, but it only seems to make it worse. Now, when requesting from the browser, every time opening the home page blocks and eventually shows a image

Network inspector:

image

Calls taking a long time:

Body handler added to existing Application class

import io.quarkus.runtime.StartupEvent;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Handler;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.RoutingContext;
import io.vertx.ext.web.handler.BodyHandler;
import io.vertx.mutiny.core.Vertx;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.event.Observes;
import jakarta.enterprise.inject.Instance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@ApplicationScoped
public class Application {

    private static final Logger LOG = LoggerFactory.getLogger(Application.class);

    public void init(@Observes StartupEvent ev, Vertx vertx, Instance<AbstractVerticle> verticles) {

        verticles.forEach(verticle -> {
            LOG.info("Deploying verticle: {}", verticle.getClass().getSimpleName());
            vertx.deployVerticle(verticle).await().indefinitely();
        });
        LOG.info("Verticles deployed.");
    }

    public void init(@Observes StartupEvent e, Router httpRouteRouter) {
        LOG.info("Adding body handler.");
        Handler<RoutingContext> bodyHandler = BodyHandler.create();
        httpRouteRouter.route().order(Integer.MIN_VALUE + 1).handler(routingContext -> {
            LOG.info("In body handler route...");
            routingContext.request().resume();
            bodyHandler.handle(routingContext);
        });
    }
}

Full application logs:

2023-10-09 10:00:53,178 WARN  [io.qua.dep.ste.ReflectiveHierarchyStep] (build-100) Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
    - io.vavr.control.Option (source: <unknown>)
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.
2023-10-09 10:00:53,304 INFO  [io.qua.dat.dep.dev.DevServicesDatasourceProcessor] (build-42) Dev Services for default datasource (postgresql) started - container ID is aeeb1c551f59
Vaadin application has been deployed and started.
__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2023-10-09 10:00:53,855 INFO  [io.und.websockets] (Quarkus Main Thread) UT026003: Adding annotated server endpoint class io.company.websocket.ServerSocket for path /ws/{id}

2023-10-09 10:00:53,951 INFO  [io.und.servlet] (Quarkus Main Thread) Initializing AtmosphereFramework
2023-10-09 10:00:54,018 INFO  [com.vaa.bas.dev.sta.DevModeStartupListener] (Quarkus Main Thread) Starting dev-mode updaters in <replaced> folder.
2023-10-09 10:00:54,032 INFO  [com.vaa.flo.ser.fro.sca.FullDependenciesScanner] (Quarkus Main Thread) Visited 72 classes. Took 9 ms.
2023-10-09 10:00:54,032 INFO  [com.vaa.flo.ser.fro.BundleValidationUtil] (Quarkus Main Thread) Checking if a development mode bundle build is needed
2023-10-09 10:00:54,113 INFO  [com.vaa.flo.ser.fro.BundleValidationUtil] (Quarkus Main Thread) A development mode bundle build is not needed
2023-10-09 10:00:54,119 INFO  [com.vaa.flo.ser.fro.TaskCopyFrontendFiles] (ForkJoinPool.commonPool-worker-11) Copying frontend resources from jar files ...
2023-10-09 10:00:54,130 INFO  [com.vaa.flo.ser.fro.TaskCopyFrontendFiles] (ForkJoinPool.commonPool-worker-11) Visited 17 resources. Took 10 ms.
2023-10-09 10:00:54,181 INFO  [com.vaa.flo.ser.sta.ServletDeployer] (Quarkus Main Thread) Skipping automatic servlet registration because there is already a Vaadin servlet with the name com.vaadin.quarkus.QuarkusVaadinServlet
2023-10-09 10:00:54,188 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /*
2023-10-09 10:00:54,188 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler
2023-10-09 10:00:54,198 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
2023-10-09 10:00:54,200 INFO  [org.atm.uti.ForkJoinPool] (Quarkus Main Thread) Using ForkJoinPool  java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
2023-10-09 10:00:54,203 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
2023-10-09 10:00:54,204 INFO  [org.atm.con.JSR356AsyncSupport] (Quarkus Main Thread) JSR 356 Mapping path /VAADIN/push
2023-10-09 10:00:54,204 INFO  [io.und.websockets] (Quarkus Main Thread) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /VAADIN/push
2023-10-09 10:00:54,204 INFO  [io.und.websockets] (Quarkus Main Thread) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /VAADIN/push/
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installing Default AtmosphereInterceptors
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
2023-10-09 10:00:54,204 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread)   org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Broadcaster Shared List Resources: false
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Broadcaster Polling Wait Time 100
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Shared ExecutorService supported: true
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Async I/O Thread Pool Size: 200
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
2023-10-09 10:00:54,205 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
2023-10-09 10:00:54,206 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Invoke AtmosphereInterceptor on WebSocket message true
2023-10-09 10:00:54,206 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) HttpSession supported: true
2023-10-09 10:00:54,206 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation
2023-10-09 10:00:54,206 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Undertow - 5.0.2.Final using jakarta.servlet/3.0 and jsr356/WebSocket API
2023-10-09 10:00:54,206 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Atmosphere Framework 3.0.3.slf4jvaadin1 started.
2023-10-09 10:00:54,207 INFO  [org.atm.cpr.AtmosphereFramework] (Quarkus Main Thread) Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
2023-10-09 10:00:54,214 INFO  [com.vaa.flo.ser.DefaultDeploymentConfiguration] (Quarkus Main Thread)
Vaadin is running in DEVELOPMENT mode - do not use for production deployments.

The following feature previews are enabled:
- SideNav component (Production ready but tweaks to at least the internal DOM will still take place)

2023-10-09 10:00:54,456 INFO  [org.fly.cor.int.lic.VersionPrinter] (Quarkus Main Thread) Flyway Community Edition 9.21.0 by Redgate
2023-10-09 10:00:54,457 INFO  [org.fly.cor.int.lic.VersionPrinter] (Quarkus Main Thread) See release notes here: https://rd.gt/416ObMi
2023-10-09 10:00:54,457 INFO  [org.fly.cor.int.lic.VersionPrinter] (Quarkus Main Thread)
2023-10-09 10:00:54,460 INFO  [org.fly.cor.int.dat.bas.BaseDatabaseType] (Quarkus Main Thread) Database: jdbc:postgresql://localhost:5432/quarkus (PostgreSQL 14.8)
2023-10-09 10:00:54,477 INFO  [org.fly.cor.int.com.DbValidate] (Quarkus Main Thread) Successfully validated 7 migrations (execution time 00:00.008s)
2023-10-09 10:00:54,498 INFO  [org.fly.cor.int.com.DbMigrate] (Quarkus Main Thread) Current version of schema "public": 1.0.6
2023-10-09 10:00:54,500 INFO  [org.fly.cor.int.com.DbMigrate] (Quarkus Main Thread) Schema "public" is up to date. No migration necessary.
2023-10-09 10:00:54,718 INFO  [io.company.ene.ocp.Application] (Quarkus Main Thread) Adding body handler.
2023-10-09 10:00:54,728 ERROR [io.qua.hib.orm.run.sch.SchemaManagementIntegrator] (Hibernate post-boot validation thread for <default>) Failed to validate Schema: Schema-validation: wrong column type encountered in column [registration_status] in table [charge_point]; found [varchar (Types#VARCHAR)], but expecting [smallint (Types#TINYINT)]
2023-10-09 10:00:54,732 INFO  [io.company.ene.ocp.Application] (Quarkus Main Thread) Custom codecs registered.
2023-10-09 10:00:54,733 INFO  [io.company.ene.ocp.Application] (Quarkus Main Thread) Deploying verticle: XXXVerticle_ClientProxy
2023-10-09 10:00:54,739 INFO  [io.company.ene.ocp.XXXVerticle] (vert.x-eventloop-thread-1) Starting XXXVerticle
2023-10-09 10:00:54,741 INFO  [io.company.ene.ocp.Application] (Quarkus Main Thread) Deploying verticle: YYYVerticle_ClientProxy
2023-10-09 10:00:54,741 INFO  [io.company.ene.ocp.YYYVerticle] (vert.x-eventloop-thread-2) Started
2023-10-09 10:00:54,742 INFO  [io.company.ene.ocp.Application] (Quarkus Main Thread) Verticles deployed.
2023-10-09 10:00:54,755 ERROR [io.qua.hib.orm.run.sch.SchemaManagementIntegrator] (Hibernate post-boot validation thread for <default>) The following SQL may resolve the database issues, as generated by the Hibernate schema migration tool. WARNING: You must manually verify this SQL is correct, this is a best effort guess, do not copy/paste it without verifying that it does what you expect.

2023-10-09 10:00:54,768 INFO  [io.quarkus] (Quarkus Main Thread) code-with-quarkus 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.3.1) started in 2.326s. Listening on: http://localhost:8080
2023-10-09 10:00:54,768 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2023-10-09 10:00:54,768 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, flyway, hibernate-orm, hibernate-orm-panache, jdbc-postgresql, micrometer, narayana-jta, reactive-pg-client, resteasy-reactive, servlet, smallrye-context-propagation, smallrye-health, vaadin-quarkus, vertx, websockets, websockets-client]
2023-10-09 10:00:56,626 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:00:56,640 INFO  [com.vaa.qua.QuarkusInstantiator] (executor-thread-1) Can't find any @VaadinServiceScoped bean implementing 'I18NProvider'. Cannot use CDI beans for I18N, falling back to the default behavior.
2023-10-09 10:01:00,301 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:01:10,411 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,417 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,417 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:01:10,421 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,436 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:01:10,438 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,473 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,476 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,481 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,553 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:10,616 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:01:11,023 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:02:09,867 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:11,044 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-2) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-09 10:02:11,067 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:02:11,247 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:02:23,034 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:02:25,908 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:25,919 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:25,947 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:02:25,954 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:25,969 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:25,979 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:25,986 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:26,107 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:26,180 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:26,188 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:02:58,845 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:03:11,063 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-5) : java.io.IOException: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:516)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:201)
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:188)
    at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
    at io.vertx.core.http.impl.Http1xServerResponse.handleClosed(Http1xServerResponse.java:691)
    at io.vertx.core.http.impl.Http1xServerResponse.handleException(Http1xServerResponse.java:664)
    at io.vertx.core.http.impl.Http1xServerRequest.handleException(Http1xServerRequest.java:649)
    at io.vertx.core.http.impl.Http1xServerConnection.lambda$handleClosed$6(Http1xServerConnection.java:487)
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:76)
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:153)
    at io.vertx.core.impl.ContextInternal.execute(ContextInternal.java:201)
    at io.vertx.core.http.impl.Http1xServerConnection.handleClosed(Http1xServerConnection.java:486)
    at io.vertx.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:143)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
    at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChndlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:411)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:376)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
    at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    ... 2 more
Caused by: io.vertx.core.http.HttpClosedException: Connection was closed

2023-10-09 10:03:26,195 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-6) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-09 10:03:26,234 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:04:33,718 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:04:33,727 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:04:33,732 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:04:33,747 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:04:33,752 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:04:36,656 WARN  [io.ver.cor.imp.BlockedThreadChecker] (vertx-blocked-thread-checker) Thread Thread[vert.x-eventloop-thread-4,5,main] has been blocked for 2907 ms, time limit is 2000 ms: io.vertx.core.VertxException: Thread blocked
    at java.base@17.0.6/jdk.internal.misc.Unsafe.park(Native Method)
    at java.base@17.0.6/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
    at java.base@17.0.6/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:715)
    at java.base@17.0.6/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:938)
    at java.base@17.0.6/java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
    at java.base@17.0.6/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
    at com.vaadin.flow.server.VaadinService.lockSession(VaadinService.java:765)
    at com.vaadin.flow.server.VaadinService.findOrCreateVaadinSession(VaadinService.java:812)
    at com.vaadin.flow.server.VaadinService.findVaadinSession(VaadinService.java:657)
    at com.vaadin.flow.server.communication.PushHandler.callWithServiceAndSession(PushHandler.java:211)
    at com.vaadin.flow.server.communication.PushHandler.onConnect(PushHandler.java:565)
    at com.vaadin.flow.server.communication.PushAtmosphereHandler.onConnect(PushAtmosphereHandler.java:103)
    at com.vaadin.flow.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:217)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:103)
    at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:574)
    at org.atmosphere.websocket.DefaultWebSocketProcessor.open(DefaultWebSocketProcessor.java:213)
    at org.atmosphere.container.JSR356Endpoint.onOpen(JSR356Endpoint.java:254)
    at io.undertow.websockets.EndpointSessionHandler.connected(EndpointSessionHandler.java:119)
    at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:120)
    at io.undertow.websockets.vertx.VertxWebSocketHandler$1.accept(VertxWebSocketHandler.java:117)
    at io.undertow.websockets.handshake.Handshake$1.accept(Handshake.java:147)
    at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:129)
    at io.undertow.websockets.vertx.VertxWebSocketHttpExchange$1.handle(VertxWebSocketHttpExchange.java:121)
    at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141)
    at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54)
    at io.vertx.core.impl.future.FutureBase$$Lambda$2062/0x0000000800f1d000.run(Unknown Source)
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:86)
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:163)
    at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:51)
    at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:211)
    at io.vertx.core.impl.future.PromiseImpl.tryComplete(PromiseImpl.java:23)
    at io.vertx.core.Promise.complete(Promise.java:66)
    at io.vertx.core.impl.future.PromiseImpl.operationComplete(PromiseImpl.java:65)
    at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
    at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
    at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
    at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
    at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625)
    at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105)
    at io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48)
    at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:728)
    at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:283)
    at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:363)
    at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:421)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372)
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:921)
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907)
    at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893)
    at io.vertx.core.net.impl.ConnectionBase.endReadAndFlush(ConnectionBase.java:145)
    at io.vertx.core.net.impl.VertxHandler.channelReadComplete(VertxHandler.java:148)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:484)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.handler.timeout.IdleStateHandler.channelReadComplete(IdleStateHandler.java:295)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:484)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.handler.codec.ByteToMessageDecoder.channelReadComplete(ByteToMessageDecoder.java:358)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:486)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:456)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1415)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:482)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:925)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:171)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base@17.0.6/java.lang.Thread.run(Thread.java:833)

2023-10-09 10:05:07,006 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:05:33,731 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-5) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-09 10:05:33,783 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:05:33,789 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:05:33,793 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:05:33,916 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:05:33,988 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:05:33,996 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:06:08,161 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-3) In body handler route...
2023-10-09 10:06:33,741 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-6) : java.io.IOException: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:516)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:201)
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:188)
    at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
    at io.vertx.core.http.impl.Http1xServerResponse.handleClosed(Http1xServerResponse.java:691)
    at io.vertx.core.http.impl.Http1xServerResponse.handleException(Http1xServerResponse.java:664)
    at io.vertx.core.http.impl.Http1xServerRequest.handleException(Http1xServerRequest.java:649)
    at io.vertx.core.http.impl.Http1xServerConnection.lambda$handleClosed$6(Http1xServerConnection.java:487)
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:76)
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:153)
    at io.vertx.core.impl.ContextInternal.execute(ContextInternal.java:201)
    at io.vertx.core.http.impl.Http1xServerConnection.handleClosed(Http1xServerConnection.java:486)
    at io.vertx.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:143)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
    at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChndlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:411)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:376)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
    at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    ... 2 more
Caused by: io.vertx.core.http.HttpClosedException: Connection was closed

2023-10-09 10:06:33,795 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
2023-10-09 10:07:33,801 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-6) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:270)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:313)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:211)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
    at java.base/java.io.Reader.read(Reader.java:250)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1529)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:624)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:124)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:439)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:577)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-10-09 10:07:33,845 INFO  [io.company.ene.ocp.Application] (vert.x-eventloop-thread-4) In body handler route...
mcollovati commented 8 months ago

The body handler configured by Quarkus when using the RequireBodyHandlerBuildItem is a bit more sophisticated. I wonder if this can make a difference.

    private static Handler<RoutingContext> configureAndGetBody(Optional<MemorySize> maxBodySize, BodyConfig bodyConfig) {
        BodyHandler bodyHandler = BodyHandler.create();
        if (maxBodySize.isPresent()) {
            bodyHandler.setBodyLimit(maxBodySize.get().asLongValue());
        }
        bodyHandler.setHandleFileUploads(bodyConfig.handleFileUploads);
        bodyHandler.setUploadsDirectory(bodyConfig.uploadsDirectory);
        bodyHandler.setDeleteUploadedFilesOnEnd(bodyConfig.deleteUploadedFilesOnEnd);
        bodyHandler.setMergeFormAttributes(bodyConfig.mergeFormAttributes);
        bodyHandler.setPreallocateBodyBuffer(bodyConfig.preallocateBodyBuffer);
        return new Handler<RoutingContext>() {
            @Override
            public void handle(RoutingContext event) {
                if (!Context.isOnEventLoopThread()) {
                    ((ConnectionBase) event.request().connection()).channel().eventLoop().execute(new Runnable() {
                        @Override
                        public void run() {
                            try {
                                //this can happen if blocking authentication is involved for get requests
                                if (!event.request().isEnded()) {
                                    event.request().resume();
                                    if (CAN_HAVE_BODY.contains(event.request().method())) {
                                        bodyHandler.handle(event);
                                    } else {
                                        event.next();
                                    }
                                } else {
                                    event.next();
                                }
                            } catch (Throwable t) {
                                event.fail(t);
                            }
                        }
                    });
                } else {
                    if (!event.request().isEnded()) {
                        event.request().resume();
                    }
                    if (CAN_HAVE_BODY.contains(event.request().method())) {
                        bodyHandler.handle(event);
                    } else {
                        event.next();
                    }
                }
            }
        };
    }
DomenicDev commented 7 months ago

I just started with Quarkus and Vaadin and experienced the same issue. As already mentioned, it can be easily reproduced by just hitting the refresh button a couple of times.

2023-11-11 18:35:30,382 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-5) : java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 0, got 1. more details logged on DEBUG level.
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:313)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1522)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:626)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:125)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:441)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

EDIT: I also experience this issue when using Spring Boot, so it doesn't seem to be directly related to Quarkus.

java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 2, got 3. more details logged on DEBUG level.
        at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:313) ~[flow-server-24.2.2.jar!/:24.2.2]
        at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114) ~[flow-server-24.2.2.jar!/:24.2.2]
        at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) ~[flow-server-24.2.2.jar!/:24.2.2]
mcollovati commented 6 months ago

@diversit could you please verify if running request body handler only on Flow framework requests helps?

@ApplicationScoped
public class BodyHandlerWorkaround {

    public void init(@Observes StartupEvent e, Router httpRouteRouter) {
        Handler<RoutingContext> bodyHandler = BodyHandler.create();
        httpRouteRouter.route().order(Integer.MIN_VALUE + 1).handler(routingContext -> {
            HttpServerRequest request = routingContext.request();
            if (request.params().contains(ApplicationConstants.REQUEST_TYPE_PARAMETER) &&
                    !request.uri().startsWith("/VAADIN/") && !request.uri().startsWith("/HILLA/")
            ) {
                request.resume();
                bodyHandler.handle(routingContext);
            } else {
                routingContext.next();
            }
        });
    }
}
mcollovati commented 6 months ago

If the workaround works, we can apply it in the extension, perhaps activated/deactivated by a configuration property so it should be easy to opt-in or opt-out, depending on what we would choose as default behavior.

diversit commented 6 months ago

I have tried the suggested BodyHandlerWorkaround but I'm sorry to say it is not an improvement.

This is the exception after startup on first request:

2023-12-22 08:38:38,660 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-4) : java.io.IOException: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:516)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:329)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:372)
    at java.base/sun.nio.cs.StreamDecoder.lockedRead(StreamDecoder.java:215)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:169)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:188)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:223)
    at java.base/java.io.BufferedReader.implRead(BufferedReader.java:314)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:296)
    at java.base/java.io.Reader.read(Reader.java:265)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1522)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:626)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:125)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:441)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:201)
    at io.undertow.vertx.VertxHttpExchange$3.handle(VertxHttpExchange.java:188)
    at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:277)
    at io.vertx.core.http.impl.Http1xServerResponse.handleClosed(Http1xServerResponse.java:685)
    at io.vertx.core.http.impl.Http1xServerResponse.handleException(Http1xServerResponse.java:658)
    at io.vertx.core.http.impl.Http1xServerRequest.handleException(Http1xServerRequest.java:663)
    at io.vertx.core.http.impl.Http1xServerConnection.lambda$handleClosed$7(Http1xServerConnection.java:514)
    at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:76)
    at io.vertx.core.impl.DuplicatedContext.execute(DuplicatedContext.java:174)
    at io.vertx.core.impl.ContextInternal.execute(ContextInternal.java:214)
    at io.vertx.core.http.impl.Http1xServerConnection.handleClosed(Http1xServerConnection.java:513)
    at io.vertx.core.net.impl.VertxHandler.channelInactive(VertxHandler.java:143)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
    at io.netty.handler.timeout.IdleStateHandnnelInactive(IdleStateHandler.java:277)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:411)
    at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:376)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
    at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
    at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    ... 2 more
Caused by: io.vertx.core.http.HttpClosedException: Connection was closed

2023-12-22 08:38:43,708 ERROR [com.vaa.flo.ser.DefaultErrorHandler] (executor-thread-4) : java.io.IOException: Read timeout
    at io.undertow.vertx.VertxHttpExchange.readBlocking(VertxHttpExchange.java:505)
    at io.undertow.server.HttpServerExchange.readBlocking(HttpServerExchange.java:944)
    at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:178)
    at io.undertow.servlet.spec.ServletInputStreamImpl.read(ServletInputStreamImpl.java:158)
    at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:329)
    at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:372)
    at java.base/sun.nio.cs.StreamDecoder.lockedRead(StreamDecoder.java:215)
    at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:169)
    at java.base/java.io.InputStreamReader.read(InputStreamReader.java:188)
    at java.base/java.io.BufferedReader.read1(BufferedReader.java:223)
    at java.base/java.io.BufferedReader.implRead(BufferedReader.java:314)
    at java.base/java.io.BufferedReader.read(BufferedReader.java:296)
    at java.base/java.io.Reader.read(Reader.java:265)
    at com.vaadin.flow.server.communication.ServerRpcHandler.getMessage(ServerRpcHandler.java:474)
    at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:252)
    at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:114)
    at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
    at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1522)
    at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:398)
    at com.vaadin.quarkus.QuarkusVaadinServlet.service(QuarkusVaadinServlet.java:84)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.quarkus.micrometer.runtime.binder.vertx.VertxMeterBinderUndertowServletFilter.doFilter(VertxMeterBinderUndertowServletFilter.java:28)
    at jakarta.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
    at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:133)
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:247)
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:56)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:626)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
    at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
    at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:125)
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
    at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
    at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:441)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
    at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:1583)

The complete UI does not work anymore. Application is running Quarkus 3.6.3 and Vaadin 24.2.4.

Actually, without this workaround, the application was running quite well.

mcollovati commented 6 months ago

Thanks for your reply. Unfortunately, currently I'm unable to replicate the issue in the starter project with the workaround in place.

mcollovati commented 6 months ago

I can see several similar issues also on quarkus repository, mostly happen with quarkus-undertow in combination with other extensions.