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

SessionItemStateManager.getIdOfRootTransientNodeState() may cause NPE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0, 2.0.3, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.4, 2.2.5
    • 2.0.5, 2.1.6, 2.2.9
    • jackrabbit-core
    • None

    Description

      regression of JCR-2425

      in certain scenarios, calling SessionItemStateManager.getIdOfRootTransientNodeState() may cause a NPE.

      Test case:

      Repository repository = new TransientRepository();
      Session session = repository.login(
      new SimpleCredentials("admin", "admin".toCharArray()));
      Session session2 = repository.login(
      new SimpleCredentials("admin", "admin".toCharArray()));

      try {
      while (session.getRootNode().hasNode("test"))

      { session.getRootNode().getNode("test").remove(); }


      Node test = session.getRootNode().addNode("test");
      session.save();
      Node x = test.addNode("x");
      session.save();

      Node x2 = session2.getRootNode().getNode("test").getNode("x");
      x2.remove();
      x.addNode("b");
      session2.save();
      session.save(); // throws NPE
      } finally

      { session.logout(); session2.logout(); }

      Attachments

        Activity

          People

            stefan@jira Stefan Guggisberg
            stefan@jira Stefan Guggisberg
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: