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

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -