cancel
Showing results for 
Search instead for 
Did you mean: 

Error 408 Read Timeout

amandine_b
Champ in-the-making
Champ in-the-making
Hello,

I did a migration from Alfresco 4.2.c to Alfresco 4.2.f and now I have an error 408 Read Timeout when I try to invite a user to a site, or cancel an invitation or start a new workflow.

The problem disappears when the Tomcat is restarted and appears after a moment (can't say how long exactly).

When the problem appears, it's reproducible until the tomcat is restarted.

Also, I tried to call the URL bellow with a wget command, on the server, and it "resolves" the problem : All the invitations that failed before are sent by calling this URL and the problem disappears for a while.

2015-06-22 09:12:21,772  INFO  [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Exception calling (GET) http://localhost:8080/alfresco/s/api/invite/cancel?inviteId=activiti%2410080&alf_ticket=TICKET_1a9da...
2015-06-22 09:12:21,786 INFO  [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-7] Error status 408 Read timed out
java.net.SocketTimeoutException: Read timed out
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(Unknown Source)
   at java.net.SocketInputStream.read(Unknown Source)
   at java.io.BufferedInputStream.fill(Unknown Source)
   at java.io.BufferedInputStream.read(Unknown Source)
   at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
   at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
   at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
   at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
   at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
   at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
   at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
   at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
   at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
   at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.java:1054)
   at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:708)
   at org.springframework.extensions.webscripts.connector.HttpConnector.call(HttpConnector.java:143)
   at org.springframework.extensions.webscripts.connector.AuthenticatingConnector.call(AuthenticatingConnector.java:293)
   at org.springframework.extensions.webscripts.servlet.mvc.EndPointProxyController.handleRequestInternal(EndPointProxyController.java:326)
   at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
   at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
   at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
   at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
   at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
   at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
   at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at fr.boll.alfresco.CasAuthenticationFilter.doFilter(CasAuthenticationFilter.java:128)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:93)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at com.atolcd.alfresco.ProxyAuditFilter.doFilter(ProxyAuditFilter.java:434)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
   at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

I installed the same version (same WAR, same database, same configuration into alfresco-global.properties and share-config-custom.xml) on an other platform and the problem doesn't appear on it.

Do you have an idea for resolving this problem ?

Thanks,

Regards.
4 REPLIES 4

amuthavenu
Champ in-the-making
Champ in-the-making
Hi Amandine,

We have exactly the same issue which has been mentioned here.

This vanishes when the server is rebooted

Any progress on this. Please help us in resolving the same.

Hi,

I am sorry but I cannot help you, we haven't been able to solve this problem yet.

I shall not miss to share the solution if we find it.

vangnd1
Champ in-the-making
Champ in-the-making
you need restart server Smiley Happy

niketapatel
Star Contributor
Star Contributor
408 read timeout generally shows alfresco explorer is too busy to respond and so share doesnt get response in time so it throws 408 exception.
Its having performance issue might be blocking threads and when you restart it, all busy/blocking threads are gone and you are getting response in time.

When you get 408, You need to check your alfresco's health, you may check several things like
- alfresco response time
- once you get 408 then are you getting 408 for all other functionalities too like search site, content, create content etc…
- Do profiling of your server to findout blocking threads etc…

Hope this helps!