ICEfaces
  1. ICEfaces
  2. ICE-11041

showcase-portlet NetworkError: 400 Bad Request appears one minute after adding component to page

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.1.0.RC1
    • Component/s: Bridge, Sample Apps
    • Labels:
      None
    • Environment:
      Showcase-portlet/ EE-4.1.0 RC Jenkins build 3.
      Server: liferay-portal-6.2-ce-ga5\tomcat-7.0.62
      This issue does not occur with liferay-portal-6.2-ce-ga3
    • Assignee Priority:
      P1

      Description

      A console and server error appears about 1 minute after adding a fileEntry to a showcase-portlet page. Open the browser console and add fileEntry to the page. Leave the page open for approx. one minute. A browser console error and server error is seen.
      Console error
      "NetworkError: 400 Bad Request - http://localhost:8080/web/guest/6?p_p_id=fileEntry_WAR_showcaseportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_count=1&_fileEntry_WAR_showcaseportlet_javax.faces.resource=listen.icepush.xml"
      Server error
      May 12, 2016 10:44:10 PM org.apache.catalina.core.ApplicationDispatcher invoke
      SEVERE: Servlet.service() for servlet accordionPanel Servlet threw exception
      javax.portlet.faces.BridgeException: java.lang.RuntimeException: java.lang.RuntimeException: Query does not contain parameter named: ice.session
              at com.liferay.faces.bridge.internal.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:298)
              at com.liferay.faces.bridge.internal.BridgeImpl.doFacesRequest(BridgeImpl.java:157)
              at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:178)
              at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:122)
              at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:82)
              at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:116)
              at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)
              at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
              at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
              at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
              at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
              at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:580)
              at com.liferay.portlet.InvokerPortletImpl.invokeResource(InvokerPortletImpl.java:675)
              at com.liferay.portlet.InvokerPortletImpl.serveResource(InvokerPortletImpl.java:441)
              at com.liferay.portlet.PortletContainerImpl._doServeResource(PortletContainerImpl.java:775)
              at com.liferay.portlet.PortletContainerImpl.serveResource(PortletContainerImpl.java:149)
              at com.liferay.portlet.SecurityPortletContainerWrapper.serveResource(SecurityPortletContainerWrapper.java:166)
              .............
      Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Query does not contain parameter named: ice.session
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:224)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler.handleResourceRequest(ICEpushResourceHandler.java:142)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
              at org.icefaces.impl.application.ClientDescriptorSetup.handleSessionAwareResourceRequest(ClientDescriptorSetup.java:44)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(SessionAwareResourceHandlerWrapper.java:40)
              at org.icefaces.impl.application.SessionTimeoutMonitor.handleSessionAwareResourceRequest(SessionTimeoutMonitor.java:63)
              at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.handleResourceRequest(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.handleResourceRequest(QRCodeResourceHandler.java:57)
              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.impl.application.AuxUploadResourceHandler.handleResourceRequest(AuxUploadResourceHandler.java:82)
              at com.liferay.faces.bridge.internal.BridgePhaseCompat_2_0_Impl.handleJSF2ResourceRequest(BridgePhaseCompat_2_0_Impl.java:56)
              at com.liferay.faces.bridge.internal.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:95)
              ... 158 more
      Caused by: java.lang.RuntimeException: Query does not contain parameter named: ice.session
              at org.icepush.servlet.ServletRequest.checkExistenceOf(ServletRequest.java:302)
              at org.icepush.servlet.ServletRequest.getParameter(ServletRequest.java:150)
              at org.icepush.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.blockUntilRespond(ThreadBlockingAdaptingServlet.java:85)
              at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:50)
              at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:64)
              at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:38)
              at org.icepush.servlet.BrowserBoundServlet.service(BrowserBoundServlet.java:69)
              at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDispatcher.java:101)
              at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java:46)
              at org.icepush.CheckBrowserIDServlet.service(CheckBrowserIDServlet.java:38)
              at org.icepush.RemoveParameterPrefix.service(RemoveParameterPrefix.java:32)
              at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:38)
              at org.icepush.servlet.MainServlet.service(MainServlet.java:118)
              at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:222)
              ... 176 more

        Activity

        Hide
        Carmen Cristurean added a comment - - edited

        EE 4.1.0.RC1 Jenkins Build #4/ liferay-portal-6.2-ce-ga5:
        This "NetworkError: 400 Bad Request" browser console error can be consistently reproduced with these steps:

        • add File Entry Listener portlet demo to the page.
        • upload a file.
        • remove the File Entry Listener portlet from the page.
        • leave the page open for ~1 min.

        The "NetworkError: 400 Bad Request" console error might be a known issues, according to:
        http://jira.icesoft.org/browse/ICE-10948?focusedCommentId=62432&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-62432

        So far I could not reproduce the java.lang.RuntimeException server error.

        Show
        Carmen Cristurean added a comment - - edited EE 4.1.0.RC1 Jenkins Build #4/ liferay-portal-6.2-ce-ga5: This "NetworkError: 400 Bad Request" browser console error can be consistently reproduced with these steps: add File Entry Listener portlet demo to the page. upload a file. remove the File Entry Listener portlet from the page. leave the page open for ~1 min. The "NetworkError: 400 Bad Request" console error might be a known issues, according to: http://jira.icesoft.org/browse/ICE-10948?focusedCommentId=62432&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-62432 So far I could not reproduce the java.lang.RuntimeException server error.
        Hide
        Liana Munroe added a comment -

        Verified that java.lang.RuntimeException server error originally reported only occurs with EE-4.0.1 RC build 3, not with build 4.

        Show
        Liana Munroe added a comment - Verified that java.lang.RuntimeException server error originally reported only occurs with EE-4.0.1 RC build 3, not with build 4.
        Hide
        Mircea Toma added a comment -

        Does this issue still exist?

        Show
        Mircea Toma added a comment - Does this issue still exist?
        Hide
        Carmen Cristurean added a comment - - edited

        The "NetworkError: 400 Bad Request.." console error can still be reproduced with EE4 trunk r48800 on liferay 6.2 g5, by: adding a fileEntry portlet demo to the page, uploading a file, followed by removing the demo from the page.
        When the browser console occurs, there is also a server warning written to the server log:
        20:41:57,945 WARN [http-bio-8080-exec-19][SecurityPortletContainerWrapper:679] Reject serveResource for http://localhost:8080/web/guest/ice1 on fileEntry_WAR_showcaseportlet

        The java.lang.RuntimeException can no longer be reproduced.

        Show
        Carmen Cristurean added a comment - - edited The "NetworkError: 400 Bad Request.." console error can still be reproduced with EE4 trunk r48800 on liferay 6.2 g5, by: adding a fileEntry portlet demo to the page, uploading a file, followed by removing the demo from the page. When the browser console occurs, there is also a server warning written to the server log: 20:41:57,945 WARN [http-bio-8080-exec-19] [SecurityPortletContainerWrapper:679] Reject serveResource for http://localhost:8080/web/guest/ice1 on fileEntry_WAR_showcaseportlet The java.lang.RuntimeException can no longer be reproduced.
        Hide
        Mircea Toma added a comment - - edited

        The Reject serveResource for ... warning seems to be related to the security settings in Liferay: https://web.liferay.com/community/forums/-/message_boards/message/47561837

        Show
        Mircea Toma added a comment - - edited The Reject serveResource for ... warning seems to be related to the security settings in Liferay: https://web.liferay.com/community/forums/-/message_boards/message/47561837
        Hide
        Mircea Toma added a comment -

        Issue is caused by the blocking requests that correspond to the portlet that was removed. When running in portal environment the unload event is not issued after removing the portlet from the page, hence the blocking connection is not shut down.

        Show
        Mircea Toma added a comment - Issue is caused by the blocking requests that correspond to the portlet that was removed. When running in portal environment the unload event is not issued after removing the portlet from the page, hence the blocking connection is not shut down.
        Hide
        Mircea Toma added a comment -

        Introduced ice.onPortletRemove callback registration function. Modified general push and file entry's push registration sequence to wire their de-registration callbacks with ice.onPortletRemove.

        Show
        Mircea Toma added a comment - Introduced ice.onPortletRemove callback registration function. Modified general push and file entry's push registration sequence to wire their de-registration callbacks with ice.onPortletRemove .
        Hide
        Carmen Cristurean added a comment - - edited

        Verified showcase-portlet from EE4 trunk r 48837 on Liferay 6.2 ga5/IE11, Chrome50, FF41, the "400 Bad Request" browser console error could not be reproduced if using the steps from: http://jira.icesoft.org/browse/ICE-11041?focusedCommentId=63276&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-63276

        Verified showcase > fileEntry on EE4 trunk r48837/ FF41, Chrome50, Tomcat7.0.42.

        Show
        Carmen Cristurean added a comment - - edited Verified showcase-portlet from EE4 trunk r 48837 on Liferay 6.2 ga5/IE11, Chrome50, FF41, the "400 Bad Request" browser console error could not be reproduced if using the steps from: http://jira.icesoft.org/browse/ICE-11041?focusedCommentId=63276&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-63276 Verified showcase > fileEntry on EE4 trunk r48837/ FF41, Chrome50, Tomcat7.0.42.
        Hide
        Ken Fyten added a comment -

        Re-open to backport this fix to EE 3.3.0.GA_P04.

        Show
        Ken Fyten added a comment - Re-open to backport this fix to EE 3.3.0.GA_P04.
        Hide
        Mircea Toma added a comment -

        Back-ported changes to maintenance branch.

        Show
        Mircea Toma added a comment - Back-ported changes to maintenance branch.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-3.3.0 maintenance branch r49075. liferay-portal-6.2-ce-ga5\tomcat-7.0.62 , IE 11, 10, 9, FF 43, Chrome 51.
        Also verified showcase, tomcat 8.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-3.3.0 maintenance branch r49075. liferay-portal-6.2-ce-ga5\tomcat-7.0.62 , IE 11, 10, 9, FF 43, Chrome 51. Also verified showcase, tomcat 8.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Liana Munroe
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: