Support Article

System is not responding while user switches the radio buttons

SA-26440

Summary



When using FilePath control on the application UI, the screen freezes while doing actions on that screen that would trigger calls to server (such as reload section and post value).

This happens only in Firefox browser. This happens when consecutive calls to server are spaced in time interval less than 
keep-alive response header timeout interval. 

Async time out errors can be seen in console during this scenario.


Error Messages



2016-07-06 16:13:22,509 [    WebContainer : 6] [          ] [                    ] (      web.impl.WebStandardImpl) ERROR   -                  : Problem retrieving input data:  
java.net.SocketTimeoutException: Async operation timed out 
               at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:189)
               at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:111) 
               at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.fillABuffer(HttpServiceContextImpl.java:4171) 
               at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readSingleBlock(HttpServiceContextImpl.java:3403) 
               at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readBodyBuffer(HttpServiceContextImpl.java:3509) 
               at com.ibm.ws.http.channel.inbound.impl.HttpInboundServiceContextImpl.getRequestBodyBuffer(HttpInboundServiceContextImpl.java:1705) 
               at com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.bufferIsGood(WCCByteBufferInputStream.java:373) 
               at com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.read(WCCByteBufferInputStream.java:266) 
               at com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java:325) 
               at com.pega.pegarules.web.fileupload.BufferedServletInputStream.fill(BufferedServletInputStream.java:96) 
               at com.pega.pegarules.web.fileupload.BufferedServletInputStream.readLine(BufferedServletInputStream.java:140) 
               at com.pega.pegarules.web.fileupload.LimitedServletInputStream.readLine(LimitedServletInputStream.java:91) 
               at com.pega.pegarules.web.fileupload.MultipartParser.readLine(MultipartParser.java:432) 
               at com.pega.pegarules.web.fileupload.MultipartParser.readNextPart(MultipartParser.java:234) 
               at com.pega.pegarules.web.fileupload.MultipartRequest.<init>(MultipartRequest.java:178) 
               at com.pega.pegarules.web.impl.HttpUtilities.fileUpload(HttpUtilities.java:420) 
               at com.pega.pegarules.web.impl.HttpUtilities.extractRequest(HttpUtilities.java:286) 
               at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:429) 
               at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:285) 
               at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) 
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
               at java.lang.reflect.Method.invoke(Method.java:611) 
               at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:419) 
               at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:460) 
               at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:509) 
               at com.pega.pegarules.internal.web.servlet.WebStandardBoot.doPost(WebStandardBoot.java:118) 
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) 
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
               at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657) 
               at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939) 
               at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502) 
               at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) 
               at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935) 
               at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
               at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) 
               at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592) 
               at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 
               at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
               at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
               at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
               at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
               at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
               at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
               at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
               at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
               at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
               at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:816) 
               at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
               at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604) 
Caused by:  
com.ibm.io.async.AsyncTimeoutException(Async operation timed out, [Timeout, rc=0]) 
               at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:359) 
               at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:218) 
               at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:215) 
               at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:182) 
               ... 48 more

 


Steps to Reproduce

  1. Include a FilePath control on screen.
  2. Include UI components on this screen that would make server calls (like refresh section, post value) when actions are performed on them.


Root Cause



This issue is not PRPC specific, it was noted only in user environment and with only Firefox browser.

The reported issue can also be witnessed if a regular internet website has been accessed which has file input element, when consecutive server-side requests are placed within keep-alive response header timeout interval.

Resolution



The IT network team needs to work with IBM Webpshere for a possible root cause and fix.
 

Published August 4, 2016 - Updated August 25, 2016

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.