Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-778

Recursive wrapping of ModifiedNodeState

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.7
    • core
    • None

    Description

      There seem to be cases where a SecureNodeState wraps a ModifiedNodeState, which in turn wraps a whole chain of other ModifiedNodeStates. A stack trace from one of the oak-core tests looks like this:

      "main" prio=6 tid=0x00000000005ac000 nid=0xa04 runnable [0x00000000020ad000]
         java.lang.Thread.State: RUNNABLE
              at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.exists(EmptyNodeState.java:51)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:202)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.getChildNodeCount(ModifiedNodeState.java:199)
              at org.apache.jackrabbit.oak.core.SecureNodeState$3.apply(SecureNodeState.java:102)
              at org.apache.jackrabbit.oak.core.SecureNodeState$3.apply(SecureNodeState.java:94)
              at org.apache.jackrabbit.oak.core.SecureNodeState.getChildNode(SecureNodeState.java:209)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.getBaseState(MemoryNodeBuilder.java:162)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.write(MemoryNodeBuilder.java:251)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.write(MemoryNodeBuilder.java:243)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.write(MemoryNodeBuilder.java:243)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.write(MemoryNodeBuilder.java:236)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:452)
              at org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:466)
              at org.apache.jackrabbit.oak.core.TreeImpl.setProperty(TreeImpl.java:385)
      

      Attachments

        Activity

          People

            jukkaz Jukka Zitting
            mreutegg Marcel Reutegger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: