Ask Your Question
0

Run time exception after compiling mdsal

asked 2017-01-17 02:39:33 -0700

ricardo.i2cat gravatar image

Hi all,

After making some modifications on "openflowplugin" and "openflowjava" projects (adding a couple of extra entries into the port statistics), I compiled "mdsal" project and "integration/distribution" also, and I am getting some strange error while running Karaf with a sample network topology linked to the controller:

opendaylight-user@root>Uncaught error from thread [opendaylight-cluster-data-notification-dispatcher-45] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[opendaylight-cluster-data]
java.lang.AbstractMethodError: org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyListeners(Ljava/util/Collection;Lorg/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier;Lorg/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNode;)V
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:137)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:150)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:145)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:150)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:145)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:150)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:145)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.notifyNode(AbstractDOMStoreTreeChangePublisher.java:145)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.lookupAndNotify(AbstractDOMStoreTreeChangePublisher.java:123)
    at org.opendaylight.mdsal.dom.spi.store.AbstractDOMStoreTreeChangePublisher.processCandidateTree(AbstractDOMStoreTreeChangePublisher.java:77)
    at org.opendaylight.controller.cluster.datastore.DefaultShardDataTreeChangeListenerPublisher.publishChanges(DefaultShardDataTreeChangeListenerPublisher.java:34)
    at org.opendaylight.controller.cluster.datastore.ShardDataTreeNotificationPublisherActor$PublishNotifications.publish(ShardDataTreeNotificationPublisherActor.java:71)
    at org.opendaylight.controller.cluster.datastore.ShardDataTreeNotificationPublisherActor$PublishNotifications.access$000(ShardDataTreeNotificationPublisherActor.java:58)
    at org.opendaylight.controller.cluster.datastore.ShardDataTreeNotificationPublisherActor.handleReceive(ShardDataTreeNotificationPublisherActor.java:37)
    at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:28)
    at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:165)
    at akka.actor.Actor$class.aroundReceive(Actor.scala:496)
    at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
    at akka.actor.ActorCell.invoke(ActorCell.scala:495)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
    at akka.dispatch.Mailbox.run(Mailbox.scala:224)
    at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Uncaught error from thread [opendaylight-cluster-data-notification-dispatcher-43] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[opendaylight-cluster-data]

Since I am new in developing on OpenDaylight, I still do not have a clear picture of how a modification on "openflowplugin" project could affect "mdsal" project (as far as I understand the MD-sal architecture follows the publisher/consumer pattern and should be notified of any change). So my questions are:

Do I need to compile again "mdsal" project after changing some features into "openflowplugin"?

Is there any documentation that specifies the minimal rules for compiling and developing in OpenDaylight?

Is there any list of minimum packages or projects needed to run a simple ODL fully functional?

Can you please help me out ... (more)

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2017-01-20 04:56:20 -0700

ricardo.i2cat gravatar image

Hi all, This was finally fixed since there is no need to compile mdsal project after modifying openflow. As can be seen in this dependency graph: https://wiki.opendaylight.org/view/Pr... almost every project depends on mdsal but not the other way around. So, after modifying and compiling openflow, you must not re-compile mdsal.

Regards, ricardo

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2017-01-17 02:39:33 -0700

Seen: 21 times

Last updated: Jan 20