ICEfaces
  1. ICEfaces
  2. ICE-7339

Test if SessionBoundServer is null

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-1.8.2.GA_P03
    • Fix Version/s: EE-1.8.2.GA_P04
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Glassfish 2.1, EPS

      Description

      When testing 1.8.2 P03 EPS with a patched build of 1.8.2 P03 (includes only additional logging) for case 10040, the customer was unable to run their application. The application did not load, the screen froze and the browser eventually crashes. Here are the offending code snippets from the exception (also below):

      MainServlet.java

      // ICE-4507 let Jetty continuation messages get through untouched
      String errorClassname = e.getClass().getName();
      if (errorClassname.startsWith("org.mortbay.jetty")) {
          throw e;
          }
      throw new RuntimeException("wrapped Exception: " + errorClassname, e); line 217


      SessionDispatcher.java

      try {
                  //put the request in the pool of active request in case HttpServletRequest.isUserInRole need to be called
                  addRequest(id, request);
                  //lookup session bound server -- this is a lock-free strategy
                  lookupServer(session).service(request, response); line 78
              }

      and the the exception:

      java.lang.RuntimeException: wrapped Exception: java.lang.NullPointerException
              at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:217)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
              at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:67)
              at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
              at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
              at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
              at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
              at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
              at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
              at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
              at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
              at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
              at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
              at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
              at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.executeServlet(CometEngine.java:616)
              at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:362)
              at com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
              at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:189)
              at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:164)
              at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
              at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
              at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
      Caused by: java.lang.NullPointerException
              at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:78)
              at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
              at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:192)

        Activity

        Tyler Johnson created issue -
        Tyler Johnson made changes -
        Field Original Value New Value
        Salesforce Case [5007000000GDX9p]
        Description When testing 1.8.2 P03 EPS with a patched build of 1.8.2 P03 (includes only additional logging) for case 10040, the customer ran into the exception below. Here are the offending code snippets from the exception below:

        MainServlet.java

        // ICE-4507 let Jetty continuation messages get through untouched
        String errorClassname = e.getClass().getName();
        if (errorClassname.startsWith("org.mortbay.jetty")) {
            throw e;
            }
        throw new RuntimeException("wrapped Exception: " + errorClassname, e); line 217


        SessionDispatcher.java

        try {
                    //put the request in the pool of active request in case HttpServletRequest.isUserInRole need to be called
                    addRequest(id, request);
                    //lookup session bound server -- this is a lock-free strategy
                    lookupServer(session).service(request, response); line 78
                }

        and the the exception:

        java.lang.RuntimeException: wrapped Exception: java.lang.NullPointerException
                at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:217)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:67)
                at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
                at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
                at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
                at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
                at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
                at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
                at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.executeServlet(CometEngine.java:616)
                at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:362)
                at com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
                at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:189)
                at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:164)
                at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
                at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
                at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
        Caused by: java.lang.NullPointerException
                at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:78)
                at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
                at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:192)
        When testing 1.8.2 P03 EPS with a patched build of 1.8.2 P03 (includes only additional logging) for case 10040, the customer was unable to run their application. The application did not load, the screen froze and the browser eventually crashes. Here are the offending code snippets from the exception (also below):

        MainServlet.java

        // ICE-4507 let Jetty continuation messages get through untouched
        String errorClassname = e.getClass().getName();
        if (errorClassname.startsWith("org.mortbay.jetty")) {
            throw e;
            }
        throw new RuntimeException("wrapped Exception: " + errorClassname, e); line 217


        SessionDispatcher.java

        try {
                    //put the request in the pool of active request in case HttpServletRequest.isUserInRole need to be called
                    addRequest(id, request);
                    //lookup session bound server -- this is a lock-free strategy
                    lookupServer(session).service(request, response); line 78
                }

        and the the exception:

        java.lang.RuntimeException: wrapped Exception: java.lang.NullPointerException
                at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:217)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
                at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:67)
                at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
                at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
                at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
                at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
                at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
                at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
                at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
                at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
                at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
                at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.executeServlet(CometEngine.java:616)
                at com.sun.enterprise.web.connector.grizzly.comet.CometEngine.handle(CometEngine.java:362)
                at com.sun.enterprise.web.connector.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)
                at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:189)
                at com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:164)
                at com.sun.enterprise.web.connector.grizzly.async.AsyncProcessorTask.doTask(AsyncProcessorTask.java:92)
                at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
                at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
        Caused by: java.lang.NullPointerException
                at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:78)
                at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
                at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:192)
        Ken Fyten made changes -
        Fix Version/s EE-1.8.2.GA_P04 [ 10280 ]
        Assignee Priority P2
        Assignee Jack van Ooststroom [ jack.van.ooststroom ]
        Ken Fyten made changes -
        Assignee Priority P2 P1
        Jack Van Ooststroom made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: