ICEfaces
  1. ICEfaces
  2. ICE-6442

WindowScopeManager Exception after session expiry

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces

      Description


      If a browser window is closed or reloaded, the following Exception may be seen in the logs:


      java.lang.NullPointerException
              at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:115)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
              at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
              at org.icefaces.impl.application.WindowScopeManager.disposeViewScopeBeans(WindowScopeManager.java:237)
              at org.icefaces.impl.application.WindowScopeManager.disposeWindow(WindowScopeManager.java:222)
              at org.icefaces.impl.application.WindowScopeManager.handleResourceRequest(WindowScopeManager.java:100)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:119)
              at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:119)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:306)


      Further, Google Chrome may report a server error in the browser.

        Activity

        Hide
        Ted Goddard added a comment -

        If the window is being disposed, any Exceptions that occur must simply be discarded: no useful action can be taken.

        Show
        Ted Goddard added a comment - If the window is being disposed, any Exceptions that occur must simply be discarded: no useful action can be taken.
        Hide
        Ted Goddard added a comment -

        The root cause is the need to run a JSF lifecycle to dispose @WindowDisposed View Scoped beans. When the session is expired, the lifecycle execution fails, but the beans have already been garbage collected at this time.

        Show
        Ted Goddard added a comment - The root cause is the need to run a JSF lifecycle to dispose @WindowDisposed View Scoped beans. When the session is expired, the lifecycle execution fails, but the beans have already been garbage collected at this time.
        Hide
        Ken Fyten added a comment -

        Ensure this change is included in the 2.0.x branch.

        Show
        Ken Fyten added a comment - Ensure this change is included in the 2.0.x branch.

          People

          • Assignee:
            Ken Fyten
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: