[YANGTOOLS-213] Mismatch list key causes NPE in yang parser Created: 15/Jul/14  Updated: 10/Apr/22  Resolved: 16/Jul/14

Status: Resolved
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Robert Varga Assignee: Martin Vitez
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 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)



 Comments   
Comment by Martin Vitez [ 16/Jul/14 ]

Proposed patch:

https://git.opendaylight.org/gerrit/#/c/9056/1

Generated at Wed Feb 07 20:52:35 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.