Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-52

NPE throw in AbstractDataBroker.readOperationalData with Augmented Node

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • mdsal
    • None
    • Operating System: Mac OS
      Platform: PC

    • 148
    • Normal

    Description

      Root issue: In inventory-managers NodeChangeCommiter.onNodeUpdate we eventually
      hit an NPE that is difficult to trace. I have traced it as far as a call to
      AbstractDataBroker.readOperationalData... but at that point the debugger gets lost.

      Note: This only happens when a FlowCapableNode is updated, not when a simple Node is updated.
      Note: This happens whether the Node is being created or updated.

      Stacktrace from debugger as far as it gets:
      Thread [pool-16-thread-2] (Suspended (breakpoint at line 182 in AbstractDataModification))
      DataTransactionImpl(AbstractDataModification<P,D>).hasOperationalOriginal(P) line: 182
      DataTransactionImpl(AbstractDataModification<P,D>).putOperationalData(P, D) line: 77
      DataTransactionImpl(AbstractDataModification<P,D>).putRuntimeData(P, D) line: 86
      NodeChangeCommiter.onNodeUpdated(NodeUpdated) line: 104
      NodeChangeCommiter$$Broker$ListenerInvoker.onNotification(Notification) line: not available
      NotifyTask.call() line: 46
      FutureTask$Sync.innerRun() line: 334
      FutureTask<V>.run() line: 166
      ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1145
      ThreadPoolExecutor$Worker.run() line: 615
      Thread.run() line: 724

      path: [org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:1]]]]

      Setup:

      This was found using the distribution from openflowplugin/distributions/base
      https://git.opendaylight.org/gerrit/#/c/2797/2

      Using a controller built from:
      Macintosh-3:controller hagbard$ git log -1
      commit 8b84c5a210d5bf688fde0eb0db1b7f21f78a4f0b
      Merge: b76ceb5 0533bdd
      Author: Jason Ye <yisye@cisco.com>
      Date: Sun Nov 17 19:45:23 2013 +0000

      Breakpoints I've found useful:
      AbstractDataBroker [line: 79] - readOperationalData(P)
      AbstractDataModification [line: 182] - hasOperationalOriginal(P)
      AbstractDataReadRouter [line: 37] - readOperationalData(P)
      ConnectionConductorImpl [line: 196] - onMultipartReplyMessage(MultipartReplyMessage)
      NodeChangeCommiter [line: 58] - onNodeConnectorUpdated(NodeConnectorUpdated)
      NodeChangeCommiter [line: 104] - onNodeUpdated(NodeUpdated)
      NotifyTask [line: 49] - call()
      AbstractDataBroker.xtend [line: 56]
      FlowCapableInventoryProvider.xtend [line: 96]
      FlowCapableInventoryProvider.xtend [line: 109]

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            hagbard Ed Warnicke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: