Description
The following model:
module opendaylight-leafref-deref {
yang-version 1.1;
namespace "urn:opendaylight:leafref:deref";
prefix test;
identity target-base;
typedef target-type {
type identityref {
base target-base;
}
}
grouping grp {
leaf id {
type string;
}
leaf type {
type target-type;
}
list secondary {
key "id type";
leaf id {
type leafref {
path "/grp-uses/id";
}
}
leaf type {
type leafref {
path "deref(../id)/../type";
}
}
}
}
list grp-uses {
uses grp;
key "id type";
}
}
causes a StackOverflowError:
Exception in thread "main" java.lang.StackOverflowError
at com.google.common.base.CharMatcher$BitSetMatcher.matches(CharMatcher.java:997)
at org.opendaylight.yangtools.yang.common.AbstractQName.checkLocalName(AbstractQName.java:69)
at org.opendaylight.yangtools.yang.common.QName.create(QName.java:116)
at org.opendaylight.yangtools.yang.common.QName.create(QName.java:142)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.stringPathPartToQName(SchemaContextUtil.java:548)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.lambda$resolveRelativeXPath$2(SchemaContextUtil.java:615)
at com.google.common.collect.Iterators$6.transform(Iterators.java:783)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
at com.google.common.collect.Iterators$ConcatenatedIterator.next(Iterators.java:1361)
at com.google.common.collect.Iterables$6$1.next(Iterables.java:882)
at com.google.common.collect.Iterables$6$1.next(Iterables.java:882)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeIn(SchemaContextUtil.java:364)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeIn(SchemaContextUtil.java:375)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeInModule(SchemaContextUtil.java:333)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeInSchemaContext(SchemaContextUtil.java:241)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findDataSchemaNodeForRelativeXPath(SchemaContextUtil.java:210)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:522)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:302)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:196)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:159)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.resolveTypeFromDataSchemaNode(AbstractTypeProvider.java:726)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:564)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:302)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:196)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:159)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.resolveTypeFromDataSchemaNode(AbstractTypeProvider.java:726)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:564)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef(AbstractTypeProvider.java:302)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:196)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType(AbstractTypeProvider.java:159)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.resolveTypeFromDataSchemaNode(AbstractTypeProvider.java:726)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref(AbstractTypeProvider.java:564)
[...]
Attachments
Issue Links
- relates to
-
MDSAL-423 Failed to find leafref target
-
- Resolved
-
-
YANGTOOLS-968 Add support for RFC7950 Errata 5617 leafrefs
-
- Resolved
-