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 "Julian Reschke (Jira)" <ji...@apache.org> on 2026/01/21 12:48:00 UTC

[jira] [Updated] (OAK-12066) NPE in AstElement "quote()"

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

Julian Reschke updated OAK-12066:
---------------------------------
    Description: 
See:

{code}
java.lang.NullPointerException
	at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.getPlan(SelectorImpl.java:414)
	at org.apache.jackrabbit.oak.query.QueryImpl.getPlan(QueryImpl.java:703)
	at org.apache.jackrabbit.oak.query.QueryImpl.getRows(QueryImpl.java:610)
	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUIDToTree(IdentifierManager.java:350)
	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:132)
	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByContentID(AuthorizableBaseProvider.java:59)
	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByID(AuthorizableBaseProvider.java:54)
	at org.apache.jackrabbit.oak.security.user.UserProvider.getAuthorizable(UserProvider.java:208)
	at org.apache.jackrabbit.oak.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:125)
	at org.apache.jackrabbit.oak.security.user.UserInitializer.initialize(UserInitializer.java:141)
	at org.apache.jackrabbit.oak.OakInitializer.initialize(OakInitializer.java:62)
	at org.apache.jackrabbit.oak.Oak.initialContent(Oak.java:721)
	at org.apache.jackrabbit.oak.Oak.createNewContentRepository(Oak.java:751)
	at org.apache.jackrabbit.oak.Oak.createContentRepository(Oak.java:691)
	at org.apache.jackrabbit.oak.jcr.Jcr.createContentRepository(Jcr.java:389)
	at org.apache.jackrabbit.oak.jcr.Jcr.createRepository(Jcr.java:398)
	at org.apache.jackrabbit.oak.jcr.document.GetMixinNodeTypesTest.before(GetMixinNodeTypesTest.java:60)
{code}

Apparently

https://github.com/apache/jackrabbit-oak/blob/7e7a557106a44721c2f34db7a2c4a6f1f34a67a4/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElement.java#L44

is invoked with {{null}}.

This happened while testing with DB2, maybe a timing problem?

(maybe it would help to add nullability annotations)


  was:
See:

{code}
java.lang.NullPointerException
	at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261)
	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.getPlan(SelectorImpl.java:414)
	at org.apache.jackrabbit.oak.query.QueryImpl.getPlan(QueryImpl.java:703)
	at org.apache.jackrabbit.oak.query.QueryImpl.getRows(QueryImpl.java:610)
	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUIDToTree(IdentifierManager.java:350)
	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:132)
	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByContentID(AuthorizableBaseProvider.java:59)
	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByID(AuthorizableBaseProvider.java:54)
	at org.apache.jackrabbit.oak.security.user.UserProvider.getAuthorizable(UserProvider.java:208)
	at org.apache.jackrabbit.oak.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:125)
	at org.apache.jackrabbit.oak.security.user.UserInitializer.initialize(UserInitializer.java:141)
	at org.apache.jackrabbit.oak.OakInitializer.initialize(OakInitializer.java:62)
	at org.apache.jackrabbit.oak.Oak.initialContent(Oak.java:721)
	at org.apache.jackrabbit.oak.Oak.createNewContentRepository(Oak.java:751)
	at org.apache.jackrabbit.oak.Oak.createContentRepository(Oak.java:691)
	at org.apache.jackrabbit.oak.jcr.Jcr.createContentRepository(Jcr.java:389)
	at org.apache.jackrabbit.oak.jcr.Jcr.createRepository(Jcr.java:398)
	at org.apache.jackrabbit.oak.jcr.document.GetMixinNodeTypesTest.before(GetMixinNodeTypesTest.java:60)
{code]

Apparently

https://github.com/apache/jackrabbit-oak/blob/7e7a557106a44721c2f34db7a2c4a6f1f34a67a4/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElement.java#L44

is invoked with {{null}}.

This happened while testing with DB2, maybe a timing problem?

(maybe it would help to add nullability annotations)



> NPE in AstElement "quote()"
> ---------------------------
>
>                 Key: OAK-12066
>                 URL: https://issues.apache.org/jira/browse/OAK-12066
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: query
>            Reporter: Julian Reschke
>            Assignee: Manfred Baedke
>            Priority: Minor
>
> See:
> {code}
> java.lang.NullPointerException
> 	at java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java)
> 	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261)
> 	at org.apache.jackrabbit.oak.query.ast.SelectorImpl.getPlan(SelectorImpl.java:414)
> 	at org.apache.jackrabbit.oak.query.QueryImpl.getPlan(QueryImpl.java:703)
> 	at org.apache.jackrabbit.oak.query.QueryImpl.getRows(QueryImpl.java:610)
> 	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUIDToTree(IdentifierManager.java:350)
> 	at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:132)
> 	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByContentID(AuthorizableBaseProvider.java:59)
> 	at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByID(AuthorizableBaseProvider.java:54)
> 	at org.apache.jackrabbit.oak.security.user.UserProvider.getAuthorizable(UserProvider.java:208)
> 	at org.apache.jackrabbit.oak.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:125)
> 	at org.apache.jackrabbit.oak.security.user.UserInitializer.initialize(UserInitializer.java:141)
> 	at org.apache.jackrabbit.oak.OakInitializer.initialize(OakInitializer.java:62)
> 	at org.apache.jackrabbit.oak.Oak.initialContent(Oak.java:721)
> 	at org.apache.jackrabbit.oak.Oak.createNewContentRepository(Oak.java:751)
> 	at org.apache.jackrabbit.oak.Oak.createContentRepository(Oak.java:691)
> 	at org.apache.jackrabbit.oak.jcr.Jcr.createContentRepository(Jcr.java:389)
> 	at org.apache.jackrabbit.oak.jcr.Jcr.createRepository(Jcr.java:398)
> 	at org.apache.jackrabbit.oak.jcr.document.GetMixinNodeTypesTest.before(GetMixinNodeTypesTest.java:60)
> {code}
> Apparently
> https://github.com/apache/jackrabbit-oak/blob/7e7a557106a44721c2f34db7a2c4a6f1f34a67a4/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElement.java#L44
> is invoked with {{null}}.
> This happened while testing with DB2, maybe a timing problem?
> (maybe it would help to add nullability annotations)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)