ICEpush
  1. ICEpush
  2. PUSH-237

Push Body Tags illegally calling BodyTag.flush()

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: EE-3.3.0.GA
    • Component/s: Integrations
    • Labels:
      None
    • Environment:
      JSP

      Description

      Some the push tags call BodyTag.flush(), which is an illegal call for a body tag.

      http://docs.oracle.com/javaee/1.4/api/javax/servlet/jsp/tagext/BodyContent.html

      java.io.IOException: Illegal to flush within a custom tag
             at javax.servlet.jsp.tagext.BodyContent.flush(BodyContent.java:71)
             at org.icepush.jsp.tags.RegionTag.doStartTag(RegionTag.java:62)
             at org.apache.jsp.WEB_002dINF.jsp.tablet_jsp._jspx_meth_push_005fregion_005f0(tablet_jsp.java:1348)
             at org.apache.jsp.WEB_002dINF.jsp.tablet_jsp._jspService(tablet_jsp.java:322)
             at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
             at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
             at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
             at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
             at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
             at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
             at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
             at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
             at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
             at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
             at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
             at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
             at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
             at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
             at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
             at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
             at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
             at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
             at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
             at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
             at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
             at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
             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)

        Activity

        Hide
        Ted Goddard added a comment -

        The flush() call has been restored to fix the ordering issue in icemobilespring.

        Show
        Ted Goddard added a comment - The flush() call has been restored to fix the ordering issue in icemobilespring.
        Hide
        Ted Goddard added a comment -

        flush() call has been restored. If the BodyContent Exception occurs again, it will be resolved by a different approach.

        Show
        Ted Goddard added a comment - flush() call has been restored. If the BodyContent Exception occurs again, it will be resolved by a different approach.

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Philip Breau
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: