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

Mismatch list key causes NPE in yang parser

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • None
    • None
    • Operating System: All
      Platform: All

    • 1371

    Description

      Adding the following:

      list application-map {
      leaf application-rib-id

      { type rib:application-rib-id; mandatory true; }

      key "rib-id";

      leaf bgp-id

      { type inet:ip-address; mandatory true; }

      }

      (note the mismatch in key/leaf name) will cause the following:

      [ERROR] yang-to-sources: Unable to parse yang files from /home/nite/odl/bgpcep/bgp/rib-impl/src/main/yang
      java.lang.NullPointerException
      at org.opendaylight.yangtools.yang.parser.builder.impl.ListSchemaNodeBuilder.build(ListSchemaNodeBuilder.java:99)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ListSchemaNodeBuilder.build(ListSchemaNodeBuilder.java:35)
      at org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder.buildChildren(AbstractDocumentedDataNodeContainerBuilder.java:203)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ChoiceCaseBuilder.build(ChoiceCaseBuilder.java:77)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ChoiceBuilder.build(ChoiceBuilder.java:119)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ChoiceBuilder.build(ChoiceBuilder.java:41)
      at org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder.buildChildren(AbstractDocumentedDataNodeContainerBuilder.java:203)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ListSchemaNodeBuilder.build(ListSchemaNodeBuilder.java:84)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ListSchemaNodeBuilder.build(ListSchemaNodeBuilder.java:35)
      at org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder.buildChildren(AbstractDocumentedDataNodeContainerBuilder.java:203)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ContainerSchemaNodeBuilder.build(ContainerSchemaNodeBuilder.java:87)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ContainerSchemaNodeBuilder.build(ContainerSchemaNodeBuilder.java:35)
      at org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder.buildChildren(AbstractDocumentedDataNodeContainerBuilder.java:203)
      at org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder.build(ModuleBuilder.java:172)
      at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.build(YangParserImpl.java:679)
      at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.parseYangModelSources(YangParserImpl.java:357)
      at org.opendaylight.yangtools.yang.parser.impl.YangParserImpl.parseYangModelsFromStreamsMapped(YangParserImpl.java:324)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:151)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:82)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:122)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

      Attachments

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

        Activity

          People

            mvitez@cisco.com Martin Vitez
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: