Connection abort in Chrome when Vaadin web app is closed

Hi
We have a Vaadin Web App with several UI Components like Tabsheets, some Forms and some Tables which is deployed in our JBoss Server. The Web App runs inside an iframe and allows the user to edit some entries which are stored using services on the Backend. In Firefox and Edge the App closes without any Exceptions but in Chrome we get the following Exception:

[exec]
 2017-02-01 17:46:19,813 [http--0.0.0.0-8080-7]
 SCHWERWIEGEND com.vaadin.server.De - : ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
[exec]
 at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:352)
[exec]
 at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:316)
[exec]
 at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
[exec]
 at com.vaadin.server.communication.UIInitHandler.commitJsonResponse(UIInitHandler.java:120)
[exec]
 at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:83)
[exec]
 at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
[exec]
 at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
[exec]
 at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
[exec]
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[exec]
 at com.anaptecs.jeaf.fwk.jee.commons.SessionContextServletFilter.doFilter(SessionContextServletFilter.java:74)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[exec]
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[exec]
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[exec]
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489)
[exec]
 at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
[exec]
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
[exec]
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[exec]
 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
[exec]
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[exec]
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
[exec]
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[exec]
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
[exec]
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
[exec]
 at java.lang.Thread.run(Thread.java:745)
[exec]
 Caused by: java.net.SocketException: Software caused connection abort: socket write error
[exec]
 at java.net.SocketOutputStream.socketWrite0(Native Method)
[exec]
 at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
[exec]
 at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
[exec]
 at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724)
[exec]
 at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
[exec]
 at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:299)
[exec]
 at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:1027)
[exec]
 at org.apache.coyote.Response.action(Response.java:190)
[exec]
 at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:347)
[exec]
 ... 26 more
[exec]
 2017-02-01 17:46:19,848 [http--0.0.0.0-8080-7]
 ERROR org.apache.catalina. - Servlet.service() for servlet TeamManagerAppServlet threw exception: java.net.SocketException: Software caused connection abort: socket write error
[exec]
 at java.net.SocketOutputStream.socketWrite0(Native Method)
[exec]
 at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
[exec]
 at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
[exec]
 at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724)
[exec]
 at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
[exec]
 at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:299)
[exec]
 at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:1027)
[exec]
 at org.apache.coyote.Response.action(Response.java:190)
[exec]
 at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:347)
[exec]
 at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:316)
[exec]
 at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
[exec]
 at com.vaadin.server.communication.UIInitHandler.commitJsonResponse(UIInitHandler.java:120)
[exec]
 at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:83)
[exec]
 at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
[exec]
 at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)
[exec]
 at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:379)
[exec]
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[exec]
 at com.anaptecs.jeaf.fwk.jee.commons.SessionContextServletFilter.doFilter(SessionContextServletFilter.java:74)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[exec]
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[exec]
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[exec]
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[exec]
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489)
[exec]
 at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
[exec]
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
[exec]
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[exec]
 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
[exec]
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[exec]
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
[exec]
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[exec]
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
[exec]
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
[exec]
 at java.lang.Thread.run(Thread.java:745)

The Web App uses the DefaultVaadinServlet and a UI Class which extends the Vaadin UI Class. It seems that one of the requests Chrome sends is too big to be committed.

Can anybody help me with this?

Do I understand correctly, this exception is thrown after the browser window with app iframe is closed?

No the Browser Window is still open but the iframe with the web app inside is closed.

I think, Chrome process, responsible for that IFRAME, is shut down when the window is navigated to other location, all the connections are closed by force, and next server-client interaction fails. If I am right, that is not a bug, and we hardly can fix that diagnostics from framework size.

Ok. Then we’ll try to handle this case in our web app so the stack trace will not be shown entirely.
Thank you very much for looking into this issue.