ICEfaces
  1. ICEfaces
  2. ICE-10704

icecore:navigationNotifier server error on IE11 when browser console opened

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: EE-4.1.0.RC1, EE-4.1.0.GA, 4.2.BETA, 4.2
    • Component/s: ICECORE-Components
    • Labels:
      None
    • Environment:
      Icefaces 4 trunk r44800
      Browser: IE11 with the browser console open.
      Server: Tomcat7
    • Assignee Priority:
      P2

      Description

      QA test app:
      http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/navigationNotifier

      When using the navigationNotifier demo with IE 11, a server warning occurs each time the browser back or forward buttons are used. Not an issue with IE 10, FF or Chrome.

      This server error only occurs if testing locally with the IE11 browser console opened. The server error is not seen when closing the browser console.


      May 28, 2015 5:00:14 PM com.sun.faces.application.resource.ResourceHandlerImpl l
      ogMissingResource
      WARNING: JSF1064: Unable to find or serve resource, bridge-support.js, from libr
      ary, ice.core.
      May 28, 2015 5:00:14 PM com.sun.faces.application.resource.ResourceHandlerImpl l
      ogMissingResource
      WARNING:
      ClientAbortException: java.net.SocketException: Connection reset by peer: socke
      t write error
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe
      r.java:406)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
              at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.ja
      va:431)
              at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:41
      9)
              at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputSt
      ream.java:91)
              at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.jav
      a:458)
              at com.sun.faces.application.resource.ResourceHandlerImpl.handleResource
      Request(ResourceHandlerImpl.java:346)
              at org.icefaces.application.ResourceRegistry.handleSessionAwareResourceR
      equest(ResourceRegistry.java:159)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceReques
      t(DynamicResourceDispatcher.java:78)
              at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareRe
      sourceRequest(WindowScopeManager.java:82)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResource
      HandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:228)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceR
      equest(ICEpushResourceHandler.java:128)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.application.ClientDescriptorSetup.handleSessionAwar
      eResourceRequest(ClientDescriptorSetup.java:44)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwar
      eResourceRequest(SessionTimeoutMonitor.java:63)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.ace.component.qrcode.generator.QRCodeResourceHandler.han
      dleResourceRequest(QRCodeResourceHandler.java:67)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.mobi.component.geotrack.GeoTrackResourceHandler.handleRe
      sourceRequest(GeoTrackResourceHandler.java:131)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.application.AuxUploadResourceHandler.handleResource
      Request(AuxUploadResourceHandler.java:82)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:643)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
      icationFilterChain.java:305)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
      ilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
      alve.java:222)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
      alve.java:123)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
      torBase.java:502)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
      ava:171)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
      ava:99)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
      953)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
      ve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
      a:408)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
      11Processor.java:1023)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
      AbstractProtocol.java:589)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
      t.java:312)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
      java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
      .java:615)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.net.SocketException: Connection reset by peer: socket write erro
      r
              at java.net.SocketOutputStream.socketWrite0(Native Method)
              at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
              at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
              at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(Internal
      OutputBuffer.java:215)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
              at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffe
      r.doWrite(InternalOutputBuffer.java:240)
              at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedO
      utputFilter.java:119)
              at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputB
      uffer.java:192)
              at org.apache.coyote.Response.doWrite(Response.java:517)
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe
      r.java:401)
              ... 48 more

      May 28, 2015 5:00:14 PM com.sun.faces.application.resource.ResourceHandlerImpl l
      ogMissingResource
      WARNING: JSF1064: Unable to find or serve resource, jsf.js, from library, javax.
      faces.
      May 28, 2015 5:00:14 PM com.sun.faces.application.resource.ResourceHandlerImpl l
      ogMissingResource
      WARNING:
      ClientAbortException: java.net.SocketException: Connection reset by peer: socke
      t write error
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe
      r.java:406)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
              at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.ja
      va:431)
              at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:41
      9)
              at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputSt
      ream.java:91)
              at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.jav
      a:458)
              at com.sun.faces.application.resource.ResourceHandlerImpl.handleResource
      Request(ResourceHandlerImpl.java:346)
              at org.icefaces.application.ResourceRegistry.handleSessionAwareResourceR
      equest(ResourceRegistry.java:159)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceReques
      t(DynamicResourceDispatcher.java:78)
              at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareRe
      sourceRequest(WindowScopeManager.java:82)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResource
      HandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:228)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceR
      equest(ICEpushResourceHandler.java:128)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.application.ClientDescriptorSetup.handleSessionAwar
      eResourceRequest(ClientDescriptorSetup.java:44)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwar
      eResourceRequest(SessionTimeoutMonitor.java:63)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.hand
      leResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.ace.component.qrcode.generator.QRCodeResourceHandler.han
      dleResourceRequest(QRCodeResourceHandler.java:67)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.mobi.component.geotrack.GeoTrackResourceHandler.handleRe
      sourceRequest(GeoTrackResourceHandler.java:131)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(
      ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.application.AuxUploadResourceHandler.handleResource
      Request(AuxUploadResourceHandler.java:82)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:643)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
      icationFilterChain.java:305)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
      ilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
      alve.java:222)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
      alve.java:123)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
      torBase.java:502)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
      ava:171)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
      ava:99)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
      953)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
      ve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
      a:408)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
      11Processor.java:1023)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
      AbstractProtocol.java:589)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
      t.java:312)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
      java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
      .java:615)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.net.SocketException: Connection reset by peer: socket write erro
      r
              at java.net.SocketOutputStream.socketWrite0(Native Method)
              at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
              at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
              at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(Internal
      OutputBuffer.java:215)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
              at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffe
      r.doWrite(InternalOutputBuffer.java:240)
              at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedO
      utputFilter.java:119)
              at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputB
      uffer.java:192)
              at org.apache.coyote.Response.doWrite(Response.java:517)
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffe
      r.java:401)
              ... 48 more

      getCount() called 2 times

        Activity

        Hide
        Mircea Toma added a comment -

        I cannot reproduce the issue. I used Tomcat 7.0.67 and IE11 on Windows 10.

        The exception is a ClientAbortException that ICEpushResourceHandler should capture. It seems that in this case the ClientAbortException is the original (causing) exception but the captured exception is a more generic SocketException. The applied fix is now detecting additional exceptions that indicate when a TCP connection was severed and just logs a FINE level message.

        Show
        Mircea Toma added a comment - I cannot reproduce the issue. I used Tomcat 7.0.67 and IE11 on Windows 10. The exception is a ClientAbortException that ICEpushResourceHandler should capture. It seems that in this case the ClientAbortException is the original (causing) exception but the captured exception is a more generic SocketException. The applied fix is now detecting additional exceptions that indicate when a TCP connection was severed and just logs a FINE level message.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces 4 trunk r46950, Tomcat 7 and 8, IE 11, FF 43, Chrome 47. Was not able to reproduce the issue reported.

        Show
        Liana Munroe added a comment - Verified ICEfaces 4 trunk r46950, Tomcat 7 and 8, IE 11, FF 43, Chrome 47. Was not able to reproduce the issue reported.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: