Caused By: java.net.SocketException: Write failed: Broken pipe

<oracle.adfinternal.view.faces.lifecycle.LifecycleImpl> <BEA-000000> <ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
javax.faces.FacesException: Write failed: Broken pipe at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:920)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.net.SocketException: Write failed: Broken pipe
at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:46)
at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:568)
at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:539)

Solution:

The Broken Pipes messages are caused by applications taking more time to produce a response than Apache timeout. To solve this type of issues, the application needs to be tuned so that the response is provided before timeout fires. The Metalink Note (333862.1) provides the complete Solution.
If the application is OK and the response could not be delivered in a shorter time than Apache timeout, then increase the “Timeout” directive in the http.conf file. (The AS Control Console can be used for this purpose too).
1. In the AS control, select the HTTP Server component.
2. Then select properties.
3. Modify the timeout settings. Each unit represents a second. Default value is 300 (5 minutes).

For more details, refer Metalink Note (333862.1) related to this issue.


javax.faces.application.ViewExpiredException: – ADF_FACES-30107:The view state of the page has expired. Reload the page.

You need to define the value for org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS in the web.xml of your web application.

<context-param>
<description>Chooses how many tokens should be preserved at any one time.</description>
<param-name>org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS</param-name>
<param-value>50</param-value>
</context-param>


Caused By: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (APPS.PS_TXN_PK) violated oracle.jbo.PCollException: JBO-28030: Could not insert row into table PS_TXN

This might happen when you deploy another application in the same server environment where the already defined Transaction Id is again attempted to add in the existing table and violates the unique identity constraint. Reset the sequence number.

Other Useful links for the topic in discussion

http://docs.oracle.com/cd/E17904_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1306

http://docs.oracle.com/cd/E17904_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1307

http://docs.oracle.com/cd/E17904_01/core.1111/e10105/repos.htm#ASADM11531