Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
2721
Description
I want to generate JAVA classes from ietf-ospf, I hit StackOverflowError at the following definition, and the generation failed.
list neighbor {
description
"List of neighbors.";
leaf neighbor-id {
type leafref
description "Neighbor.";
}
}
If I replace path "../../neighbor/neighbor-id" with concrete path "/rt:routing-state/rt:routing-instance/"
+ "rt:routing-protocols/rt:routing-protocol/"
+ "ospf:ospf/ospf:instance/ospf:neighbor/ospf:neighbor-id";", the error is solved.
How can we solve the StackOverflowError without modifying ietf-ospf file? Could we fix it in yang-tools? Thank you!
ietf-ospf.yang file is attached. Error message is:
java.lang.StackOverflowError
at org.opendaylight.yangtools.yang.common.QName.create(QName.java:254)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.stringPathPartToQName(SchemaContextUtil.java:513)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.access$000(SchemaContextUtil.java:50)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil$1.apply(SchemaContextUtil.java:600)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil$1.apply(SchemaContextUtil.java:597)
at com.google.common.collect.Iterators$8.transform(Iterators.java:860)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterators$5.next(Iterators.java:607)
at com.google.common.collect.Iterables$10$1.next(Iterables.java:926)
at com.google.common.collect.Iterators.advance(Iterators.java:979)
at com.google.common.collect.Iterables$10.iterator(Iterables.java:904)
at com.google.common.collect.Iterables$10.iterator(Iterables.java:902)