Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-2753

Deadlock in DefaultISMLocking

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.5, 2.1.3, 2.2
    • jackrabbit-core
    • None

    Description

      There seems to be a bug in DefaultISMLocking which was detected as part of JCR-2746.

      1) The main thread gets a read lock.

      2) The ObservationManager thread tries to lock for writing, which is blocked because there is still a read lock.

      3) Then the main thread tries to get a second read lock, which is blocked because there is a waiting write lock.

      The bug was introduced as part of JCR-2089 (Use java.util.concurrent), revisions 995411 and 995412. I think the safe solution is to revert those to commits, and add a test case. If the DefaultISMLocking is changed later on, more test cases are required. An efficient solution is relatively complicated.

      Attachments

        1. JCR-2753.patch
          2 kB
          Jukka Zitting

        Activity

          People

            thomasm Thomas Mueller
            thomasm Thomas Mueller
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: