Open diversit opened 1 year 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
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.
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
Network inspector:
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...
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();
}
}
}
};
}
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]
@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();
}
});
}
}
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.
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.
Thanks for your reply. Unfortunately, currently I'm unable to replicate the issue in the starter project with the workaround in place.
I can see several similar issues also on quarkus repository, mostly happen with quarkus-undertow in combination with other extensions.
@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(); } }); } }
Applying the patch fixes my upload issues and at the moment there are not other side effects I can see. Also the rapid page reload works fine for me. I see it as valid fix.
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 thelockSession
is used on L812. Should that try-catch block not also have afinally
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