ICEfaces
  1. ICEfaces
  2. ICE-3189

NPE in SessionDispatcher on sessionExpiry

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7
    • Fix Version/s: 1.7.1
    • Component/s: None
    • Labels:
      None
    • Environment:
      All

      Description

      This is in code in SessionDispatcher in the notifySessionShutdown method. There were a couple of things.

      First, the code to remove the sessionID from the sessionMonitors hashmap was done after the code performed a hard session.invalidate() on the users session. This is not quite right as session invalidation immediately causes this method to be reentered from the ContextEventRepeater -> SessionDispatcher$Listener path that Mircea added. If the sessionID is not removed from the hashmap until the finally block, this creates the reentrancy loop.

      Second, the return statement in the guard code is inside a Log.isDebugEnabled test!

        Activity

        Hide
        Greg Dick added a comment -

        I fixed the problems identified in the case. The method is still reentered when session.invalidate() is called, but the guard code correctly returns because the hashmap is correctly emptied of the sessionID.

        Show
        Greg Dick added a comment - I fixed the problems identified in the case. The method is still reentered when session.invalidate() is called, but the guard code correctly returns because the hashmap is correctly emptied of the sessionID.

          People

          • Assignee:
            Unassigned
            Reporter:
            Greg Dick
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: