Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-411

StackOverflowError for leafref

    XMLWordPrintable

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

      { path "../../neighbor/neighbor-id"; }

      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)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            martin.ciglan Martin Ciglan
            minna.hu@ericsson.com Minna Hu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: