-
Type: Bug
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: QualifiedToSchedule
-
Component/s: Seam / JSF UI
When the client aborts the connection while a resource is being served, we get this in the console logs:
Jul 10, 2015 11:37:06 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource WARNING: JSF1064: Unable to find or serve resource, org.richfaces.staticResource/4.5.0.Alpha3/PackedCompressed/DEFAULT/packed/packed.css. Jul 10, 2015 11:37:06 PM com.sun.faces.application.resource.ResourceHandlerImpl logMissingResource WARNING: ClientAbortException: java.net.SocketException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458) at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:343) at org.richfaces.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:219) at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:643) ...
Putting a breakpoint, the actual logging is done by:
com.sun.faces.application.resource.ResourceHandlerImpl.logMissingResource line: 471 com.sun.faces.application.resource.ResourceHandlerImpl.send404 line: 394 com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest line: 355
The root issue is a JSF bug, JAVASERVERFACES-2241, which they refuse to fix due to over-strict reading of the spec.
- depends on
-
NXP-16413 Don't treat all socket exceptions as client-related failures.
- Resolved