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

EXI encode/decode failure with a specific config module

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • Helium
    • None
    • netconf
    • None
    • Operating System: All
      Platform: All

    • 2679

    Description

      How to reproduce with fully built master distribution from integration project:
      1. Send POST request to
      http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/config:modules

      with payload:
      <module xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
      <type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">x:bgp-application-peer</type>
      <name>example-bgp-peer-app</name>
      <bgp-peer-id xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">10.25.1.9</bgp-peer-id>
      <target-rib xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">
      <type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">x:rib-instance</type>
      <name>example-bgp-rib</name>
      </target-rib>
      <application-rib-id xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">example-app-rib</application-rib-id>
      <data-broker xmlns="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">
      <type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">x:binding-async-data-broker</type>
      <name>pingpong-binding-data-broker</name>
      </data-broker>
      </module>

      2. Send GET request to
      http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/config:modules

      The deserialization fails with following exception:
      2015-02-04 10:19:19,064 | WARN | oupCloseable-3-1 | DefaultChannelPipeline | 96 - io.netty.common - 4.0.23.Final | An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
      io.netty.handler.codec.DecoderException: java.lang.ArrayIndexOutOfBoundsException: -1
      at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:280)[162:io.netty.codec:4.0.23.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)[162:io.netty.codec:4.0.23.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)[105:io.netty.transport:4.0.23.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)[105:io.netty.transport:4.0.23.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163)[162:io.netty.codec:4.0.23.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)[105:io.netty.transport:4.0.23.Final]
      at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)[105:io.netty.transport:4.0.23.Final]
      at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)[105:io.netty.transport:4.0.23.Final]
      at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)[96:io.netty.common:4.0.23.Final]
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)[105:io.netty.transport:4.0.23.Final]
      at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)[96:io.netty.common:4.0.23.Final]
      at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[96:io.netty.common:4.0.23.Final]
      at java.lang.Thread.run(Unknown Source)[:1.7.0_67]
      Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
      at org.openexi.proc.io.SimpleScanner.nextEvent(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.doElement(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.doElement(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.doElement(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.doElement(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.doElement(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.parse(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.openexi.sax.EXIReader.parse(Unknown Source)[161:org.openexi.nagasena:0000.0002.0038.0]
      at org.opendaylight.controller.netconf.nettyutil.handler.NetconfEXIToMessageDecoder.decode(NetconfEXIToMessageDecoder.java:78)[157:org.opendaylight.controller.netconf-netty-util:0.3.0.SNAPSHOT]
      at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:249)[162:io.netty.codec:4.0.23.Final]
      ... 12 more

      Attachments

        Issue Links

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

          Activity

            People

              mmarsale@cisco.com Maros Marsalek
              mmarsale@cisco.com Maros Marsalek
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: