5 Replies Latest reply on Nov 6, 2014 9:04 AM by raghav.prakasam

    Channel was closed mid-chunk

    mikehoss42

      Our app does REST calls in the front end to services on the back end -- and both are bundled in the same EAR file. We are currently running on WildFly 8.0.1 Nightly from 2014-04-02.

       

      We frequently see messages like this:

       

      2014-04-03 08:26:53,678 ERROR [io.undertow.request] (default task-43) UT005023: Exception handling request to /app/res/json/sessionState: org.jboss.resteasy.spi.UnhandledException: Response is committed, can't handle exception

        at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:148) [resteasy-jaxrs-3.0.6.Final.jar:]

        at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:432) [resteasy-jaxrs-3.0.6.Final.jar:]

        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:376) [resteasy-jaxrs-3.0.6.Final.jar:]

        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179) [resteasy-jaxrs-3.0.6.Final.jar:]

        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) [resteasy-jaxrs-3.0.6.Final.jar:]

        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0.6.Final.jar:]

      [snip]

      Caused by: java.io.IOException: Broken pipe

        at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) [rt.jar:1.7.0_51]

        at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) [rt.jar:1.7.0_51]

        at sun.nio.ch.IOUtil.write(IOUtil.java:148) [rt.jar:1.7.0_51]

        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:524) [rt.jar:1.7.0_51]

        at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:159)

        at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:559) [undertow-core-1.0.3.Final.jar:1.0.3.Final]

        at io.undertow.conduits.ChunkedStreamSinkConduit.doWrite(ChunkedStreamSinkConduit.java:160) [undertow-core-1.0.3.Final.jar:1.0.3.Final]

       

      2014-04-03 08:26:53,705 ERROR [io.undertow.request] (default task-43) Blocking request failed HttpServerExchange{ PUT /ottrweb/res/json/sessionState}: java.lang.RuntimeException: java.io.IOException: UT000029: Channel was closed mid chunk, if you have attempted to write chunked data you cannot shutdown the channel until after it has all been written.

        at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:527)

        at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:287)

        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)

        at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)

        at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)

        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168)

        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

      Caused by: java.io.IOException: UT000029: Channel was closed mid chunk, if you have attempted to write chunked data you cannot shutdown the channel until after it has all been written.

        at io.undertow.conduits.ChunkedStreamSinkConduit.terminateWrites(ChunkedStreamSinkConduit.java:285)

        at org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178) [xnio-api-3.2.1.Final.jar:3.2.1.Final]

        at io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:60)

        at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:622)

        at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:451)

        at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:525)

        ... 9 more

       

      To me this says that are requests are too big.

       

      I set the http listener to:

            <http-listener name="default" socket-binding="http" allow-equals-in-cookie-value="true" max-header-size="1048576"/>

       

      And I still see it just as often. So maybe I need to set something different.

       

      I've found this document:

      Undertow (web) subsystem configuration - WildFly 8 - Project Documentation Editor

       

      But am confused on what else to change . . . does anyone have ideas by looking at my stacktraces?

        • 1. Re: Channel was closed mid-chunk
          laurentiuc

          I have a similar problem ... did you had any luck with it? Thanks, Laurentiu

          • 2. Re: Channel was closed mid-chunk
            ctomc

            Did you guys try with latest code?

             

            8.1.0.CR2 was released two days ago.

             

            there ware lots of fixes in area of undertow,xnio and resteasy.

             

            grab it at Downloads · WildFly

            • 3. Re: Channel was closed mid-chunk
              laurentiuc

              That solved it for me. Thanks Tomaz.

              • 4. Re: Channel was closed mid-chunk
                carlos.andonaegui

                I having the same issue and I'm using wildfly 8.1.0.final

                 

                here is the messages I get.

                 

                BTW, if I use openjdk7 I cant see any messages.

                 

                16:54:43,520 DEBUG [io.undertow.request.io] (default task-5) Exception handling request to /hermes/api/v2/applications: java.io.IOException: Broken pipe

                  at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) [rt.jar:1.7.0_51]

                  at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) [rt.jar:1.7.0_51]

                  at sun.nio.ch.IOUtil.write(IOUtil.java:148) [rt.jar:1.7.0_51]

                  at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:524) [rt.jar:1.7.0_51]

                  at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:159)

                  at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:561) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.conduits.ChunkedStreamSinkConduit.doWrite(ChunkedStreamSinkConduit.java:165) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.conduits.ChunkedStreamSinkConduit.write(ChunkedStreamSinkConduit.java:128) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)

                  at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:217) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:584) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:497) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:484) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1059) [jackson-core-2.3.2.jar:2.3.2]

                  at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1839) [jackson-databind-2.3.2.jar:2.3.2]

                  at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.writeInternal(MappingJackson2HttpMessageConverter.java:253) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:143) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:89) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:193) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71) [spring-web-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:122) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]

                  at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) [spring-webmvc-4.0.5.RELEASE.jar:4.0.5.RELEASE]

                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final]

                  at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at com.sanmina.hermes.app.filter.CORSFilter.doFilter(CORSFilter.java:18) [classes:]

                  at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)

                  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)

                  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727) [undertow-core-1.0.15.Final.jar:1.0.15.Final]

                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

                  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

                 

                 

                16:54:43,524 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (default task-6) Hermes: getConnection(null, WrappedConnectionRequestInfo@77404f23[userName=postgres]) [0/20]

                16:54:43,536 ERROR [io.undertow.request] (default task-5) Blocking request failed HttpServerExchange{ GET /hermes/api/v2/applications}: java.lang.RuntimeException: java.io.IOException: UT000029: Channel was closed mid chunk, if you have attempted to write chunked data you cannot shutdown the channel until after it has all been written.

                  at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:527)

                  at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:287)

                  at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)

                  at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)

                  at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)

                  at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)

                  at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)

                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

                  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

                Caused by: java.io.IOException: UT000029: Channel was closed mid chunk, if you have attempted to write chunked data you cannot shutdown the channel until after it has all been written.

                  at io.undertow.conduits.ChunkedStreamSinkConduit.terminateWrites(ChunkedStreamSinkConduit.java:290)

                  at org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178) [xnio-api-3.2.2.Final.jar:3.2.2.Final]

                  at io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:60)

                  at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:624)

                  at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:451)

                  at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:525)

                  ... 9 more

                 

                 

                16:54:43,542 DEBUG [io.undertow.request.io] (default task-5) UT005013: An IOException occurred: java.io.IOException: UT000029: Channel was closed mid chunk, if you have attempted to write chunked data you cannot shutdown the channel until after it has all been written.

                  at io.undertow.conduits.ChunkedStreamSinkConduit.terminateWrites(ChunkedStreamSinkConduit.java:290)

                  at org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178) [xnio-api-3.2.2.Final.jar:3.2.2.Final]

                  at io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:60)

                  at io.undertow.server.HttpServerExchange.closeAndFlushResponse(HttpServerExchange.java:1488)

                  at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1470)

                  at io.undertow.server.Connectors.executeRootHandler(Connectors.java:201)

                  at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)

                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]

                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]

                  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

                • 5. Re: Channel was closed mid-chunk
                  raghav.prakasam

                  Hi Laurentiu,

                   

                  May i know whats the fix here? do we need to grab 8.1.0.CR2 as already am facing below error in 8.1.0.Final version for a concurrent hit of 5 or more:

                   

                  12:04:52,874 ERROR [io.undertow.request] (default task-27) Undertow request failed HttpServerExchange{ POST /**************************************}: java.lang.RuntimeException: java.io.IOException: Broken pipe

                          at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:562)

                          at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:307)

                          at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:246)

                          at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:75)

                          at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:165)

                          at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)

                          at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:737)

                          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65]

                          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65]

                          at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]

                  Caused by: java.io.IOException: Broken pipe

                          at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) [rt.jar:1.7.0_65]

                          at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) [rt.jar:1.7.0_65]

                          at sun.nio.ch.IOUtil.write(IOUtil.java:148) [rt.jar:1.7.0_65]

                          at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:524) [rt.jar:1.7.0_65]

                          at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:159) [xnio-nio-3.2.2.Final.jar:3.2.2.Final]

                          at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:561)

                          at io.undertow.conduits.ChunkedStreamSinkConduit.doWrite(ChunkedStreamSinkConduit.java:171)

                          at io.undertow.conduits.ChunkedStreamSinkConduit.writeFinal(ChunkedStreamSinkConduit.java:233)

                          at org.xnio.conduits.ConduitStreamSinkChannel.writeFinal(ConduitStreamSinkChannel.java:104) [xnio-api-3.2.2.Final.jar:3.2.2.Final]

                          at io.undertow.channels.DetachableStreamSinkChannel.writeFinal(DetachableStreamSinkChannel.java:190)

                          at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:564)

                          at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:598)

                          at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:477)

                          at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:560)

                          ... 9 more