[OPNFLWPLUG-866] NullPointerException at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchConvertorImpl.convert() Created: 07/Mar/17  Updated: 27/Sep/21  Resolved: 15/Mar/17

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

Type: Bug
Reporter: Michael Vorburger Assignee: Unassigned
Resolution: Cannot Reproduce 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: 7916

 Description   

I'm hitting a bunch of the following NPEs, after simply doing:

cd netvirt/vpnservice/distribution/karaf
mvn clean package

cd target/assembly/bin
./karaf

opendaylight-user@root>feature:install odl-netvirt-openstack

I've also hit http://localhost:8181/controller/nb/v2/neutron/ in a Browser (which 404s), and I'm not sure that's what causes the NPEs or the mere start up.

2017-03-07 13:57:48,948 | ERROR | on-dispatcher-33 | DataTreeChangeListenerActor | 213 - org.opendaylight.controller.sal-clustering-commons - 1.5.0.SNAPSHOT | Error notifying listener org.opendaylight.controller.md.sal.binding.impl.BindingClusteredDOMDataTreeChangeListenerAdapter@4d1522d
java.lang.NullPointerException
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchConvertorImpl.convert(MatchConvertorImpl.java:615)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchConvertorImpl.convert(MatchConvertorImpl.java:126)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.ConvertReactor.convert(ConvertReactor.java:58)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertor.toFlowModInput(FlowConvertor.java:186)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertor.convert(FlowConvertor.java:526)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.flow.FlowConvertor.convert(FlowConvertor.java:83)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager.lambda$convert$2(ConvertorManager.java:94)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at java.util.Optional.map(Optional.java:215)[:1.8.0_121]
at org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager.convert(ConvertorManager.java:94)[314:org.opendaylight.openflowplugin:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.impl.services.multilayer.MultiLayerFlowService.toFlowModInputs(MultiLayerFlowService.java:53)[315:org.opendaylight.openflowplugin.impl:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.impl.services.sal.SalFlowServiceImpl.addFlow(SalFlowServiceImpl.java:97)[315:org.opendaylight.openflowplugin.impl:0.4.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.binding.util.RpcMethodInvokerWithInput.invokeOn(RpcMethodInvokerWithInput.java:31)[74:org.opendaylight.mdsal.yang-binding:0.10.0.SNAPSHOT]
at org.opendaylight.yangtools.yang.binding.util.AbstractMappedRpcInvoker.invokeRpc(AbstractMappedRpcInvoker.java:52)[74:org.opendaylight.mdsal.yang-binding:0.10.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invoke(BindingDOMRpcImplementationAdapter.java:85)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invokeRpc(BindingDOMRpcImplementationAdapter.java:72)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.dom.broker.impl.RoutedDOMRpcRoutingTableEntry.invokeRpc(RoutedDOMRpcRoutingTableEntry.java:59)[172:org.opendaylight.controller.sal-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRoutingTable.invokeRpc(DOMRpcRoutingTable.java:177)[172:org.opendaylight.controller.sal-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter.invokeRpc(DOMRpcRouter.java:102)[172:org.opendaylight.controller.sal-broker-impl:1.5.0.SNAPSHOT]
at Proxy17228479_7c0d_40c4_9154_ce9cd626ba8c.invokeRpc(Unknown Source)[:]
at Proxy944e4b5a_2ae2_4932_9538_379cafb1c640.invokeRpc(Unknown Source)[:]
at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke0(RpcServiceAdapter.java:65)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.access$000(RpcServiceAdapter.java:43)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter$RpcInvocationStrategy.invoke(RpcServiceAdapter.java:159)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.RpcServiceAdapter.invoke(RpcServiceAdapter.java:96)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at com.sun.proxy.$Proxy99.addFlow(Unknown Source)[311:org.opendaylight.openflowplugin.model.flow-service:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.frm.impl.FlowForwarder.add(FlowForwarder.java:193)[348:org.opendaylight.openflowplugin.applications.forwardingrules-manager:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.frm.impl.FlowForwarder.add(FlowForwarder.java:58)[348:org.opendaylight.openflowplugin.applications.forwardingrules-manager:0.4.0.SNAPSHOT]
at org.opendaylight.openflowplugin.applications.frm.impl.AbstractListeningCommiter.onDataTreeChanged(AbstractListeningCommiter.java:57)[348:org.opendaylight.openflowplugin.applications.forwardingrules-manager:0.4.0.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)[174:org.opendaylight.controller.sal-binding-broker-impl:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:56)[220:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:37)[220:org.opendaylight.controller.sal-distributed-datastore:1.5.0.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:28)[213:org.opendaylight.controller.sal-clustering-commons:1.5.0.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)[186:com.typesafe.akka.actor:2.4.17]
at akka.actor.Actor$class.aroundReceive(Actor.scala:497)[186:com.typesafe.akka.actor:2.4.17]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)[186:com.typesafe.akka.actor:2.4.17]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)[186:com.typesafe.akka.actor:2.4.17]
at akka.actor.ActorCell.invoke(ActorCell.scala:495)[186:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)[186:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.run(Mailbox.scala:224)[186:com.typesafe.akka.actor:2.4.17]
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)[186:com.typesafe.akka.actor:2.4.17]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[182:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[182:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[182:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[182:org.scala-lang.scala-library:2.11.8.v20160304-115712-1706a37eb8]



 Comments   
Comment by Michael Vorburger [ 08/Mar/17 ]

https://git.opendaylight.org/gerrit/#/c/52979/ would turn the NPE instead into an IllegalStateException "No converter found for key: ..."

Comment by Michael Vorburger [ 09/Mar/17 ]

I've just tried to reproduce it, with a fresh Karaf rebuilt today (with mvn -U), and currently don't see it anymore... so either I did additional steps yesterday, or it's just been solved?! Closing for now, anyone seeing this again should re-open it.

Comment by Tomas Slusny [ 15/Mar/17 ]

It was fixed probably because Single Layer Serialization was set to on by default, so on OF1.3+ most of converters are not used anymore, including MatchConvertor.

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