Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-9930

Prevent error when clicking "Search" button before the suggestbox returns its results

    XMLWordPrintable

    Details

      Description

      If you click on Search button while the suggestbox takes too long to compute its results, the following error is thrown:

      javax.servlet.ServletException: /search/suggestbox.xhtml @24,59 value="#{suggestboxActions.searchKeywords}": Target Unreachable, identifier 'suggestboxActions' resolved to null
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.wss.servlet.BaseWSSFilter.doFilter(BaseWSSFilter.java:137)
      	at org.nuxeo.wss.servlet.FailSafeWSSFilter.doFilter(FailSafeWSSFilter.java:55)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
      	at org.nuxeo.ecm.platform.ui.web.multipart.MultipartFilter.doFilter(MultipartFilter.java:73)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
      	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
      	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
      	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
      	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:131)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.wi.filter.WIRequestFilter.doFilter(WIRequestFilter.java:114)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:141)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:548)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:35)
      	at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:116)
      	at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:33)
      	at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:349)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:79)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:59)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:151)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
      	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
      	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
      	at java.lang.Thread.run(Thread.java:679)
      Caused by: javax.el.PropertyNotFoundException: /search/suggestbox.xhtml @24,59 value="#{suggestboxActions.searchKeywords}": Target Unreachable, identifier 'suggestboxActions' resolved to null
      	at com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62)
      	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92)
      	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:942)
      	at javax.faces.component.UIInput.validate(UIInput.java:868)
      	at javax.faces.component.UIInput.executeValidate(UIInput.java:1072)
      	at javax.faces.component.UIInput.processValidators(UIInput.java:672)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
      	at org.ajax4jsf.component.UIAjaxRegion.processValidators(UIAjaxRegion.java:121)
      	at javax.faces.component.UIForm.processValidators(UIForm.java:235)
      	at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439)
      	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
      	at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455)
      	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
      	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
      	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      	at org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.execute(NuxeoLifeCycleImpl.java:83)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
      	... 55 more
      

      This can be easily reproduced by setting a breakpoint in SuggestActions#getSuggestions (which simulates a long time to wait for the autocomplete) and then click on Search button, what instantly raises the error.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: