[NETVIRT-134] Fix exceptions in natservice Created: 12/Sep/16  Updated: 11/Dec/16  Resolved: 11/Dec/16

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: Carbon
Fix Version/s: None

Type: Bug
Reporter: Sridhar Gaddam Assignee: Sridhar Gaddam
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: 6691

 Description   

When a dual-stack network is created, the following exceptions are seen in Netvirt.

Exception in thread "pool-43-thread-16" java.lang.NullPointerException
at org.opendaylight.netvirt.natservice.internal.NatUtil.getSubnetGwMac(NatUtil.java:1166)
at org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller.installExtNetGroupEntires(ExternalNetworkGroupInstaller.java:68)
at org.opendaylight.netvirt.natservice.internal.SubnetmapListener.update(SubnetmapListener.java:51)
at org.opendaylight.netvirt.natservice.internal.SubnetmapListener.update(SubnetmapListener.java:20)
at org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncDataTreeChangeListenerBase.java:126)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

opendaylight-user@root>log:exception-display
java.lang.NullPointerException: Supplied value may not be null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:226)[65:com.google.guava:18.0.0]
at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address.<init>(Ipv4Address.java:58)[89:org.opendaylight.mdsal.model.ietf-inet-types-2013-07-15:1.2.0.SNAPSHOT]
at org.opendaylight.netvirt.bgpmanager.BgpConfigurationManager.addPrefix(BgpConfigurationManager.java:1822)[340:org.opendaylight.netvirt.bgpmanager-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.bgpmanager.BgpManager.advertisePrefix(BgpManager.java:122)[340:org.opendaylight.netvirt.bgpmanager-impl:0.4.0.SNAPSHOT]
at Proxyff46242e_c1db_498d_ad83_1b93cb5ca63f.advertisePrefix(Unknown Source)[:]
at Proxy5e22f1de_a611_4615_aa64_861a21afc780.advertisePrefix(Unknown Source)[:]
at org.opendaylight.netvirt.natservice.internal.NatUtil.addPrefixToBGP(NatUtil.java:727)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$1.apply(ExternalRoutersListener.java:967)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$1.apply(ExternalRoutersListener.java:929)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:906)[65:com.google.guava:18.0.0]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[65:com.google.guava:18.0.0]
at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[65:com.google.guava:18.0.0]
at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:101)[65:com.google.guava:18.0.0]
at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170)[65:com.google.guava:18.0.0]
at com.google.common.util.concurrent.Futures.transform(Futures.java:567)[65:com.google.guava:18.0.0]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.advToBgpAndInstallFibAndTsFlows(ExternalRoutersListener.java:929)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleSnatReverseTraffic(ExternalRoutersListener.java:916)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleEnableSnat(ExternalRoutersListener.java:258)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.add(ExternalRoutersListener.java:198)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.add(ExternalRoutersListener.java:114)[349:org.opendaylight.netvirt.natservice-impl:0.4.0.SNAPSHOT]
at org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncDataTreeChangeListenerBase.java:124)[304:org.opendaylight.genius.mdsalutil-api:0.2.0.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_101]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]



 Comments   
Comment by Sridhar Gaddam [ 12/Sep/16 ]

Proposed the following patch.
https://git.opendaylight.org/gerrit/#/c/45472/

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