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

unsynchronized access on 'itemCache' map in ItemManager

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.1, 1.2.2, 1.2.3, 1.3, 1.3.1
    • 1.3.3
    • jackrabbit-core
    • None

    Description

      the access 'itemCache' map in ItemManager is mostly synchronized by not via the ItemStateListener methods:
      [...]
      public void stateCreated(ItemState created) {
      ItemImpl item = retrieveItem(created.getId());
      if (item != null)

      { item.stateCreated(created); }

      }
      [...]
      private ItemImpl retrieveItem(ItemId id)

      { return (ItemImpl) itemCache.get(id); }

      [...]

      this can result in a corruption of a map (eg subsequent accesses may result in a endless loop).

      Attachments

        1. ItemManager.patch
          4 kB
          Marcel Reutegger
        2. stacktrace.txt
          5 kB
          Marcel Reutegger

        Activity

          People

            stefan@jira Stefan Guggisberg
            tripod Tobias Bocanegra
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: