[YANGTOOLS-396] NPE on invalid InstanceIdentifier Created: 30/Dec/14  Updated: 10/Apr/22  Resolved: 02/Mar/15

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

Type: Bug
Reporter: Robert Varga Assignee: Tony Tkacik
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: 2539

 Description   

Constructing an invalid instance identifier can lead to the following:

Caused by: java.lang.NullPointerException
at org.opendaylight.yangtools.binding.data.codec.impl.ChoiceNodeCodecContext.getCazeByChildClass(ChoiceNodeCodecContext.java:145)
at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getIdentifierChild(DataObjectCodecContext.java:183)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:108)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext$InstanceIdentifierCodec.serialize(BindingCodecContext.java:307)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext$InstanceIdentifierCodec.serialize(BindingCodecContext.java:302)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:79)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalized(BindingToNormalizedNodeCodec.java:50)
at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.registerDataChangeListener(AbstractForwardedDataBroker.java:80)
at org.opendaylight.bgpcep.bgp.topology.provider.Ipv4ReachabilityTopologyBuilder.register(Ipv4ReachabilityTopologyBuilder.java:46)
at org.opendaylight.controller.config.yang.bgp.reachability.ipv4.Ipv4ReachabilityTopologyBuilderModule.createInstance(Ipv4ReachabilityTopologyBuilderModule.java:53)
at org.opendaylight.controller.config.yang.bgp.reachability.ipv4.AbstractIpv4ReachabilityTopologyBuilderModule.getInstance(AbstractIpv4ReachabilityTopologyBuilderModule.java:85)
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:149)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:70)
at com.sun.proxy.$Proxy31.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:394)
... 36 more

which should be giving a better hint as to what went wrong and where.



 Comments   
Comment by Tony Tkacik [ 21/Jan/15 ]

https://git.opendaylight.org/gerrit/#/c/14327/

Should be cherry-picked to master.

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