]
Trong Tran updated GTNPORTAL-3556:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 3.9.0.Final
Resolution: Done
Should not log ClientAbortException when user cancel request
------------------------------------------------------------
Key: GTNPORTAL-3556
URL:
https://issues.jboss.org/browse/GTNPORTAL-3556
Project: GateIn Portal
Issue Type: Bug
Reporter: Tuyen Nguyen The
Assignee: Tuyen Nguyen The
Priority: Minor
Fix For: 3.9.0.Final
Sometime, when user cancel his request while server is processing, there is a kind of
ClientAbortException will be thrown, for example:
{code}
| [1;31mERROR[0;39m | Error while handling request
[32m[portal:PortalRequestHandler[0;39m[36m<http-nio-PROCESS-exec>[0;39m[32m][0;39m
org.apache.catalina.connector.ClientAbortException: null
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407)
~[catalina.jar:7.0.55]
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
~[tomcat-coyote.jar:7.0.55]
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
~[tomcat-coyote.jar:7.0.55]
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432)
~[catalina.jar:7.0.55]
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420)
~[catalina.jar:7.0.55]
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
~[catalina.jar:7.0.55]
at
org.exoplatform.commons.utils.BufferingOutputStream.write(BufferingOutputStream.java:89)
~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
at java.io.OutputStream.write(OutputStream.java:58) ~[na:1.6.0_26]
at org.exoplatform.commons.utils.OutputStreamPrinter.write(OutputStreamPrinter.java:218)
~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
at org.exoplatform.commons.utils.Text$Bytes.writeTo(Text.java:92)
~[exo.portal.component.common-3.5.12-PLF.jar:2.4.10-GA]
at
org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:214)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:54)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:129)
~[exo.portal.webui.framework-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.portal.webui.workspace.UIPortalApplication.processRender(UIPortalApplication.java:665)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.portal.application.PortalRequestHandler.processRequest(PortalRequestHandler.java:186)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:157)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at org.exoplatform.web.WebAppController.service(WebAppController.java:328)
~[exo.portal.component.web.controller-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.portal.application.PortalController.onService(PortalController.java:108)
~[exo.portal.webui.portal-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
[exo.kernel.container-2.4.10-GA.jar:2.4.10-GA]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:na]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:96)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.platform.common.account.setup.web.AccountSetupFilter.doFilter(AccountSetupFilter.java:61)
[platform-component-common-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.platform.welcomescreens.web.TermsAndConditionsFilter.doFilter(TermsAndConditionsFilter.java:78)
[platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.platform.common.account.setup.web.AccountSetupFilter.doFilter(AccountSetupFilter.java:61)
[platform-component-common-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.platform.welcomescreens.web.TermsAndConditionsFilter.doFilter(TermsAndConditionsFilter.java:78)
[platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.services.filters.sessionProvider.ThreadLocalACLSessionProviderInitializedFilter.doFilter(ThreadLocalACLSessionProviderInitializedFilter.java:45)
[ecms-core-services-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.exoplatform.platform.welcomescreens.service.UnlockService$UnlockFilter.doFilter(UnlockService.java:351)
[platform-welcome-screens-component-4.1.0-RC1.jar:4.1.0-RC1]
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:92)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:71)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:70)
[exo.portal.component.web.api-3.5.12-PLF.jar:3.5.12-PLF]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:67)
[exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at
org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:122)
[exo.jcr.framework.web-1.15.10-GA.jar:1.15.10-GA]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at
org.exoplatform.web.login.ConversationStateUpdateFilter.doFilter(ConversationStateUpdateFilter.java:66)
[exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at
org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88)
[exo.core.component.security.core-2.5.10-GA.jar:2.5.10-GA]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:81)
[exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:49)
[exo.portal.component.web.security-3.5.12-PLF.jar:3.5.12-PLF]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at org.gatein.sso.integration.SSODelegateFilter.doFilter(SSODelegateFilter.java:60)
[sso-integration-1.3.1.Final.jar:1.3.1.Final]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at
org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:78)
[exo.kernel.container-2.4.10-GA.jar:2.4.10-GA]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
[catalina.jar:7.0.55]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
[catalina.jar:7.0.55]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
[catalina.jar:7.0.55]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
[catalina.jar:7.0.55]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
[catalina.jar:7.0.55]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
[catalina.jar:7.0.55]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
[catalina.jar:7.0.55]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:358)
[catalina.jar:7.0.55]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
[catalina.jar:7.0.55]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
[catalina.jar:7.0.55]
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
[tomcat-coyote.jar:7.0.55]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
[tomcat-coyote.jar:7.0.55]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
[tomcat-coyote.jar:7.0.55]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[na:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[na:1.6.0_26]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-coyote.jar:7.0.55]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26]
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcher.write0(Native Method) ~[na:1.6.0_26]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29) ~[na:1.6.0_26]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:72) ~[na:1.6.0_26]
at sun.nio.ch.IOUtil.write(IOUtil.java:43) ~[na:1.6.0_26]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334) ~[na:1.6.0_26]
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:128)
~[tomcat-coyote.jar:7.0.55]
at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
~[tomcat-coyote.jar:7.0.55]
at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:174)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.InternalNioOutputBuffer.writeToSocket(InternalNioOutputBuffer.java:163)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalNioOutputBuffer.java:242)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:213)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:41)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:268)
~[tomcat-coyote.jar:7.0.55]
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
~[tomcat-coyote.jar:7.0.55]
at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
~[tomcat-coyote.jar:7.0.55]
at org.apache.coyote.Response.doWrite(Response.java:499) ~[tomcat-coyote.jar:7.0.55]
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402)
~[catalina.jar:7.0.55]
... 76 common frames omitted
{code}
For this kind of exception, we should not write it to log because this is a normal
behaviour.