You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2013/02/19 12:03:13 UTC

[jira] [Updated] (OAK-635) SegmentMK NPE in SegmentNodeState#getChildNode

     [ https://issues.apache.org/jira/browse/OAK-635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Parvulescu updated OAK-635:
--------------------------------

    Attachment: OAK-635.patch

proposed patch.

I added a bunch of null checks to enforce the api constraints that null is not a valid input.
                
> SegmentMK NPE in SegmentNodeState#getChildNode
> ----------------------------------------------
>
>                 Key: OAK-635
>                 URL: https://issues.apache.org/jira/browse/OAK-635
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: segmentmk
>            Reporter: Alex Parvulescu
>         Attachments: OAK-635.patch
>
>
> There are 2 tests failing in oak-core because of a NPE at SegmentNodeState.getChildNode(SegmentNodeState.java:87):
>  - testSetPolicy(org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest)
>  - testSetPolicyWritesAcContent(org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest)
> {noformat}
> java.lang.NullPointerException
> 	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
> 	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:87)
> 	at org.apache.jackrabbit.oak.core.ReadOnlyTree.getChild(ReadOnlyTree.java:140)
> 	at org.apache.jackrabbit.oak.core.ReadOnlyTree.getChild(ReadOnlyTree.java:1)
> 	at org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionStore.getBits(PrivilegeDefinitionStore.java:113)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.createEntry(PermissionHook.java:246)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.addEntry(PermissionHook.java:206)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeAdded(PermissionHook.java:148)
> 	at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:157)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeAdded(PermissionHook.java:152)
> 	at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:157)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook$Diff.childNodeChanged(PermissionHook.java:165)
> 	at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState$3.childNodeChanged(ModifiedNodeState.java:298)
> 	at org.apache.jackrabbit.oak.spi.state.AbstractNodeState.compareAgainstBaseState(AbstractNodeState.java:150)
> 	at org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:269)
> 	at org.apache.jackrabbit.oak.security.authorization.PermissionHook.processCommit(PermissionHook.java:76)
> 	at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59)
> 	at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:59)
> 	at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreBranch.merge(SegmentNodeStoreBranch.java:179)
> 	at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:257)
> 	at org.apache.jackrabbit.oak.core.RootImpl$2.run(RootImpl.java:1)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:337)
> 	at org.apache.jackrabbit.oak.core.RootImpl.commit(RootImpl.java:252)
> 	at org.apache.jackrabbit.oak.security.authorization.AccessControlManagerImplTest.testSetPolicyWritesAcContent(AccessControlManagerImplTest.java:585){noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira