java - DWR call throws "Failed to read input" in IE8, appearing too frequent -
this issue occurs in ie8
only, on browser throws http 502 error
,while in apache
throws http 103
& application breaks due error
after adding sysout in dwr jar
got following logs:
dwr exception in parsepost data failed read input java.io.ioexception: underlying input stream returned 0 bytes @ sun.nio.cs.streamdecoder.readbytes(streamdecoder.java:268) @ sun.nio.cs.streamdecoder.implread(streamdecoder.java:306) @ sun.nio.cs.streamdecoder.read(streamdecoder.java:158) @ java.io.inputstreamreader.read(inputstreamreader.java:167) @ java.io.bufferedreader.fill(bufferedreader.java:136) @ java.io.bufferedreader.readline(bufferedreader.java:299) @ java.io.bufferedreader.readline(bufferedreader.java:362) @ org.directwebremoting.dwrp.parseutil.parsepost(parseutil.java:65) @ org.directwebremoting.dwrp.batch.<init>(batch.java:58) @ org.directwebremoting.dwrp.basecallmarshaller.marshallinbound(basecallmarshaller.java:76) @ org.directwebremoting.servlet.plaincallhandler.handle(plaincallhandler.java:42) @ org.directwebremoting.servlet.urlprocessor.handle(urlprocessor.java:101) @ org.directwebremoting.servlet.dwrservlet.dopost(dwrservlet.java:146) @ javax.servlet.http.httpservlet.service(httpservlet.java:641) @ javax.servlet.http.httpservlet.service(httpservlet.java:722) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ com.zycus.icontract.common.icontractsessionvalidationopenxavafilter.dofilter(icontractsessionvalidationopenxavafilter.java:66) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:224) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:169) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) @ org.apache.coyote.ajp.ajpprocessor.process(ajpprocessor.java:200) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:539) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:298) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662) dwr excpetion in marshallinbound org.directwebremoting.extend.serverexception: failed read input @ org.directwebremoting.dwrp.parseutil.parsepost(parseutil.java:110) @ org.directwebremoting.dwrp.batch.<init>(batch.java:58) @ org.directwebremoting.dwrp.basecallmarshaller.marshallinbound(basecallmarshaller.java:76) @ org.directwebremoting.servlet.plaincallhandler.handle(plaincallhandler.java:42) @ org.directwebremoting.servlet.urlprocessor.handle(urlprocessor.java:101) @ org.directwebremoting.servlet.dwrservlet.dopost(dwrservlet.java:146) @ javax.servlet.http.httpservlet.service(httpservlet.java:641) @ javax.servlet.http.httpservlet.service(httpservlet.java:722) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ com.zycus.icontract.common.icontractsessionvalidationopenxavafilter.dofilter(icontractsessionvalidationopenxavafilter.java:66) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:224) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:169) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:168) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:98) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407) @ org.apache.coyote.ajp.ajpprocessor.process(ajpprocessor.java:200) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:539) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:298) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662) caused by: java.io.ioexception: underlying input stream returned 0 bytes @ sun.nio.cs.streamdecoder.readbytes(streamdecoder.java:268) @ sun.nio.cs.streamdecoder.implread(streamdecoder.java:306) @ sun.nio.cs.streamdecoder.read(streamdecoder.java:158) @ java.io.inputstreamreader.read(inputstreamreader.java:167) @ java.io.bufferedreader.fill(bufferedreader.java:136) @ java.io.bufferedreader.readline(bufferedreader.java:299) @ java.io.bufferedreader.readline(bufferedreader.java:362) @ org.directwebremoting.dwrp.parseutil.parsepost(parseutil.java:65) ... 25 more inside marshallexception exiting marshallexception returning plaincallhandler
i found few solution above issue :
1)increase keepalivetimout
in apache
2)change way of reading input in parseutil
class of dwr jar
bufferedreader in = new bufferedreader(new inputstreamreader(req.getinputstream()));
to
bufferedreader in = req.getreader();
but issue still reproducible in ie8
i tried give alert message "internal server error. please try again"
when exception occur alert not coming. have done changes in dwr-engine.js
showing alert message
1)increase keepalivetimout in apache
2)change way of reading input in parseutil class of dwr jar
Comments
Post a Comment