ICEfaces
  1. ICEfaces
  2. ICE-9627

Deadlock during session invalidation

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-1.8.2.GA_P07
    • Fix Version/s: EE-1.8.2.GA_P08
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      WebLogic Seam
    • Salesforce Case Reference:

      Description

      It appears we have interleaved synchronization that is causing a deadlock. It is triggered during session invalidation. In this case, something in Seam is invalidating the session and that invalidate call makes it's way down until we try to shutdown our SessionDispatcher.Monitor. At that point it grabs a lock on the collection of "contexts" in order to iterate through and clean up stuff. During this process, though, it needs to grap a lock on the SessionMonitors collection. Unfortunately, a thread already has the lock but then needs the lock on the "contexts" collection as well.
      1. ICE-9627.patch
        2 kB
        Deryk Sinotte
      2. icefaces.death.threadDump
        139 kB
        Arran Mccullough
      3. synchronizeInShutdown.patch
        2 kB
        Arran Mccullough

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #38803 Fri Nov 15 15:58:28 MST 2013 deryk.sinotte ICE-9627: add lock ordering to prevent deadlock during session invalidating for multiple sessions
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #38516 Fri Oct 04 15:46:17 MDT 2013 deryk.sinotte ICE-9627: move processing of contexts out of synchronized block to avoid deadlocks
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/servlet/SessionDispatcher.java

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: