Vaadin 7.0.5 timeout in production when loading Vaadin application

I have Vaadin 7.0.5 application working ok in other environments but in production the application loading indicator keeps rotating until timeout occurs on server side. I can see the following exception in log:

com.vaadin.server.DefaultErrorHandler doDefault
SEVERE:
ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:309)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
at com.vaadin.server.AbstractCommunicationManager.handleBrowserDetailsRequest(AbstractCommunicationManager.java:2379)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:325)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

Does anyone know what could be causing this behaviour?

This seems to be deterministic behaviour i.e. occurs always.

Best regards,
Tommi Laukkanen

Does this occur only in Internet Explorer?

Its browser independent. Could this be related to web application firewall blocking some query related to browser details request or something like that?

It’s a bit strange because the stack trace indicates that the browser details request (a POST request after the initial GET /) reaches the server but the client is then disconnected before the server can write the response to that request. Maybe looking at the network log in the browser will tell you more about what’s going on.