[ https://issues.apache.org/jira/browse/OAK-11529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17930642#comment-17930642 ]
Thomas Mueller commented on OAK-11529: -------------------------------------- Hm, I don't understand how this could result in a recursion... I am reluctant to say this, but it looks like a JVM issue to me. {noformat} protected String quote(String pathOrName) { pathOrName = pathOrName.replaceAll("]", "]]"); <== AstElement.java:45 return '[' + pathOrName + ']'; } @Override public String toString() { return quote(nodeTypeName) + " as " + quote(selectorName); <== SelectorImpl.java:261 } @Override public String getPlan(NodeState rootState) { StringBuilder buff = new StringBuilder(); buff.append(toString()); <== SelectorImpl.java:414 StringConcatHelper.stringOf static String stringOf(Object value) { String s; return (value == null || (s = value.toString()) == null) ? "null" : s; } {noformat} > RegExp recursion in AstElement > ------------------------------ > > Key: OAK-11529 > URL: https://issues.apache.org/jira/browse/OAK-11529 > Project: Jackrabbit Oak > Issue Type: Bug > Components: query > Affects Versions: 1.76.0 > Reporter: Julian Reschke > Priority: Major > > Seen in > https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk-derby-ibm-java21/90/org.apache.jackrabbit$oak-jcr/testReport/junit/org.apache.jackrabbit.oak.jcr.document/GetMixinNodeTypesTest/getMixinNodeTypes/ > {code} > Fehlermeldung > Stack overflow during pattern compilation > ] > Stacktrace > java.util.regex.PatternSyntaxException: > Stack overflow during pattern compilation > ] > at java.base/java.util.regex.Pattern.error(Pattern.java:2204) > at java.base/java.util.regex.Pattern.<init>(Pattern.java:1578) > at java.base/java.util.regex.Pattern.compile(Pattern.java:1101) > at java.base/java.lang.String.replaceAll(String.java:3837) > at > org.apache.jackrabbit.oak.query.ast.AstElement.quote(AstElement.java:45) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261) > at > java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261) > at > java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.toString(SelectorImpl.java:261) > at > java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467) > ... > at > java.base/java.lang.StringConcatHelper.stringOf(StringConcatHelper.java:467) > 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:708) > at org.apache.jackrabbit.oak.query.QueryImpl.getRows(QueryImpl.java:615) > at > org.apache.jackrabbit.oak.query.ResultImpl$1.iterator(ResultImpl.java:72) > at > org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUIDToTree(IdentifierManager.java:353) > at > org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:135) > 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:209) > 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:59) > at org.apache.jackrabbit.oak.Oak.initialContent(Oak.java:715) > at > org.apache.jackrabbit.oak.Oak.createNewContentRepository(Oak.java:745) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)