ICEfaces
  1. ICEfaces
  2. ICE-6873

ConcurrentModificationException in SessionDispatcher

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2-EE-GA_P02
    • Fix Version/s: 1.8.3, EE-1.8.2.GA_P03
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Websphere 7

      Description

      Load testing an application on Websphere 7 with a load of 2400 concurrent users the following exception occurs:

      Trace: 2011/05/06 17:40:34.644 01 t=9B64F8 c=UNK key=P8 (13007002)
      ThreadId: 0000005d
      FunctionName: com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Monitor.shutdown
      SourceId: com.icesoft.faces.webapp.http.servlet.SessionDispatcher
      Category: INFO
      ExtendedMessage: Session already invalidated.
      Trace: 2011/05/06 17:40:34.644 01 t=9B64F8 c=UNK key=P8 (00000011)
      Description: Log Java Message
      Message: Session already invalidated.
      Exception in thread "Session Monitor" java.util.ConcurrentModificationException
      .at java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap.java:122)
      .at java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:127)
      .at java.util.HashMap$ValueIterator.next(HashMap.java:212)
      .at java.util.AbstractCollection.toArray(AbstractCollection.java:333)
      .at java.util.ArrayList.<init>(ArrayList.java:87)
      .at com.icesoft.faces.webapp.http.servlet.SessionDispatcher$Listener$1.run(SessionDispatcher.java:276)
      Trace: 2011/05/06 18:09:48.887 01 t=9B93E8 c=UNK key=P8 (13007002)
      ThreadId: 00000055
      FunctionName: com.ibm.ws.runtime.component.ThreadMonitorImpl
      SourceId: com.ibm.ws.runtime.component.ThreadMonitorImpl
      Category: WARNING
      ExtendedMessage: BBOO0221W: WSVR0605W: Thread "WebSphere:ORB.thread.pool t=009af5d0" (00000025) has been active for 710189 millise
      conds and may be hung. There is/are 1 thread(s) in total in the server that may be hung.

        Activity

        Hide
        Mircea Toma added a comment - - edited

        While checking for expired sessions in the SessionMonitors map other sessions might be created and added to the map. By synchronizing access to the SessionMonitors map triggering ConcurrentModificationExceptions is avoided.

        Show
        Mircea Toma added a comment - - edited While checking for expired sessions in the SessionMonitors map other sessions might be created and added to the map. By synchronizing access to the SessionMonitors map triggering ConcurrentModificationExceptions is avoided.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Mircea Toma
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: