ICEfaces
  1. ICEfaces
  2. ICE-8805

Missing DOCTYPE causes browser to revert to Quirks mode and may cause SocketException

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: EE-3.2.0.BETA, EE-3.2.0.GA, 3.3
    • Component/s: None
    • Labels:
      None
    • Environment:
      IE Quirks mode and Mojarra 2.1.8+
    • Assignee Priority:
      P1
    • Workaround Exists:
      Yes
    • Workaround Description:
      As per the solution noted in the Mojarra JIRAs, adding the appropriate DOCTYPE entries to your page or template should prevent the browser from switching to Quirks mode.

      Description

      The following pages of the ICEfaces showcase application show some styling issues on IE browsers:

      DataTable - Overview, Grouping, Sortiing, Table Configuration: page content renders bellow the left-side links
      DateTimeEntry - all pages: page content renders bellow the left-side links
      Dialog - Effects & Size, Modal & Movable: page content renders bellow the left-side links
      FileEntry - Overview: page content renders bellow the left-side links
      GMap: Layers, Map Markers, Map Options, Overlays - map does not render (greyed out content); js error non-existent as retested in IE8
      LinkButton - Overview & PushButton - Overview: render issue
      List - MultiList: page content renders below the left-side links
      MaskedEntry -all pages: page content renders below the left-side links
      Menu - Layout: page content renders below the left-side links
      MenuBar - Effects: page content renders below the left-side links
      Menu - Layout: page content renders below the left-side links
      Printer - Overview: page content renders below the left-side links
      ProgressBar - Overview, Push: page content renders below the left-side links
      TextEntry - all pages: page content renders below the left-side links
      TextAreaEntry - page content renders below the left-side links

      After a binary search of revisions, it was found that the problem starts at revision 32182, with an update of the file lib/mojarra/javax.faces.jar (a 2.1.15 snapshot).

      The showcase was tested with MyFaces, using the same revision, and the problem does not occur.

      The following exception appears in the server console when trying to load any of the pages mentioned above (only happens with Mojarra):

      ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
              at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
              at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
              at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:93)
              at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:296)
              at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:283)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:238)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:128)
              at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceRequest(DynamicResourceDispatcher.java:77)
              at org.icefaces.application.ResourceRegistry.handleResourceRequest(ResourceRegistry.java:131)
              at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareResourceRequest(WindowScopeManager.java:69)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwareResourceRequest(SessionTimeoutMonitor.java:71)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
              at org.icefaces.impl.application.AuxUploadResourceHandler.handleResourceRequest(AuxUploadResourceHandler.java:82)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: java.net.SocketException: Software caused connection abort: socket write error
              at java.net.SocketOutputStream.socketWrite0(Native Method)
              at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
              at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
              at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:218)
              at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
              at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
              at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:243)
              at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
              at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:190)
              at org.apache.coyote.Response.doWrite(Response.java:533)
              at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
              ... 40 more

        Activity

        Arturo Zambrano created issue -
        Arturo Zambrano made changes -
        Field Original Value New Value
        Description The following page of the ICEfaces showcase application show some styling issues on IE browsers:

        DataTable - Overview, Grouping, Sortiing, Table Configuration: page content renders bellow the left-side links
        DateTimeEntry - all pages: page content renders bellow the left-side links
        Dialog - Effects & Size, Modal & Movable: page content renders bellow the left-side links
        FileEntry - Overview: page content renders bellow the left-side links
        GMap: Layers, Map Markers, Map Options, Overlays - map does not render (greyed out content); js error non-existent as retested in IE8
        LinkButton - Overview & PushButton - Overview: render issue
        List - MultiList: page content renders below the left-side links
        MaskedEntry -all pages: page content renders below the left-side links
        Menu - Layout: page content renders below the left-side links
        MenuBar - Effects: page content renders below the left-side links
        Menu - Layout: page content renders below the left-side links
        Printer - Overview: page content renders below the left-side links
        ProgressBar - Overview, Push: page content renders below the left-side links
        TextEntry - all pages: page content renders below the left-side links
        TextAreaEntry - page content renders below the left-side links

        After a binary search of revisions, it was found that the problem starts at revision 32182, with an update of the file lib/mojarra/javax.faces.jar (a 2.1.15 snapshot).

        The showcase was tested with MyFaces, using the same revision, and the problem does not occur.

        The following exception appears in the server console when trying to load any of the pages mentioned above (only happens with Mojarra):

        ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
                at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
                at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
                at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
                at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
                at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
                at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:93)
                at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:296)
                at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:283)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:238)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:128)
                at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceRequest(DynamicResourceDispatcher.java:77)
                at org.icefaces.application.ResourceRegistry.handleResourceRequest(ResourceRegistry.java:131)
                at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareResourceRequest(WindowScopeManager.java:69)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwareResourceRequest(SessionTimeoutMonitor.java:71)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.AuxUploadResourceHandler.handleResourceRequest(AuxUploadResourceHandler.java:82)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
        Caused by: java.net.SocketException: Software caused connection abort: socket write error
                at java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
                at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
                at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:218)
                at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
                at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
                at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:243)
                at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
                at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:190)
                at org.apache.coyote.Response.doWrite(Response.java:533)
                at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
                ... 40 more
        The following pages of the ICEfaces showcase application show some styling issues on IE browsers:

        DataTable - Overview, Grouping, Sortiing, Table Configuration: page content renders bellow the left-side links
        DateTimeEntry - all pages: page content renders bellow the left-side links
        Dialog - Effects & Size, Modal & Movable: page content renders bellow the left-side links
        FileEntry - Overview: page content renders bellow the left-side links
        GMap: Layers, Map Markers, Map Options, Overlays - map does not render (greyed out content); js error non-existent as retested in IE8
        LinkButton - Overview & PushButton - Overview: render issue
        List - MultiList: page content renders below the left-side links
        MaskedEntry -all pages: page content renders below the left-side links
        Menu - Layout: page content renders below the left-side links
        MenuBar - Effects: page content renders below the left-side links
        Menu - Layout: page content renders below the left-side links
        Printer - Overview: page content renders below the left-side links
        ProgressBar - Overview, Push: page content renders below the left-side links
        TextEntry - all pages: page content renders below the left-side links
        TextAreaEntry - page content renders below the left-side links

        After a binary search of revisions, it was found that the problem starts at revision 32182, with an update of the file lib/mojarra/javax.faces.jar (a 2.1.15 snapshot).

        The showcase was tested with MyFaces, using the same revision, and the problem does not occur.

        The following exception appears in the server console when trying to load any of the pages mentioned above (only happens with Mojarra):

        ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
                at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:369)
                at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
                at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
                at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
                at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
                at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:93)
                at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:296)
                at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:283)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:238)
                at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:128)
                at org.icefaces.impl.push.DynamicResourceDispatcher.handleResourceRequest(DynamicResourceDispatcher.java:77)
                at org.icefaces.application.ResourceRegistry.handleResourceRequest(ResourceRegistry.java:131)
                at org.icefaces.impl.application.WindowScopeManager.handleSessionAwareResourceRequest(WindowScopeManager.java:69)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwareResourceRequest(SessionTimeoutMonitor.java:71)
                at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
                at org.icefaces.impl.application.AuxUploadResourceHandler.handleResourceRequest(AuxUploadResourceHandler.java:82)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
        Caused by: java.net.SocketException: Software caused connection abort: socket write error
                at java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
                at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
                at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:218)
                at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:437)
                at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:351)
                at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:243)
                at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
                at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:190)
                at org.apache.coyote.Response.doWrite(Response.java:533)
                at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
                ... 40 more
        Ken Fyten made changes -
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Fix Version/s EE-3.2.0.GA [ 10332 ]
        Fix Version/s 3.3 [ 10370 ]
        Assignee Priority P1 [ 10010 ]
        Ken Fyten made changes -
        Affects Version/s 3.3 [ 10370 ]
        Affects Version/s 3.2 [ 10338 ]
        Deryk Sinotte made changes -
        Environment Mojarra IE Quirks mode
        Deryk Sinotte made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Cannot Reproduce [ 5 ]
        Ken Fyten made changes -
        Resolution Cannot Reproduce [ 5 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Arturo Zambrano made changes -
        Attachment network_activity_r32181.png [ 15089 ]
        Arturo Zambrano made changes -
        Attachment network_activity_r32182.png [ 15090 ]
        Deryk Sinotte made changes -
        Summary REGRESSION: page contents appear below left-side menu in ICEfaces showcase on IE REGRESSION: IE switching to Quirks mode causes page contents to appear below left-side menu in ICEfaces
        Environment IE Quirks mode IE Quirks mode and Mojarra 2.1.15
        Deryk Sinotte made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Deryk Sinotte made changes -
        Summary REGRESSION: IE switching to Quirks mode causes page contents to appear below left-side menu in ICEfaces Missing DOCTYPE causes browser to revert to Quirks mode and may cause SocketException
        Workaround Description As per the solution noted in the Mojarra JIRAs, adding the appropriate DOCTYPE entries to your page or template should prevent the browser from switching to Quirks mode.
        Environment IE Quirks mode and Mojarra 2.1.15 IE Quirks mode and Mojarra 2.1.8+
        Workaround Exists Yes [ 10007 ]
        Ken Fyten made changes -
        Fix Version/s EE-3.2.0.BETA [ 10573 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: