Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-12818

ArrayIndexOutOfBoundsException thrown by the SNMP Interface Poller

    XMLWordPrintable

    Details

    • Sprint:
      Horizon 2020 - July 8, Horizon 2020 - July 22, Horizon 2020 - August 5, Horizon 2020 - August 19, Horizon 2020 - Sept 2-16, Horizon 2020 - Sept 16-30, Horizon 2020 - Nov 24-Dec 9
    • HB Backlog Status:
      Backlog CM

      Description

      A customer running Horizon 26.1.0 using Minions and Kafka as a broker, is experiencing a massive amount of exceptions in snmp-poller.log like the following one:

      2020-07-07 02:27:05,665 ERROR [Snmpinterfacepoller-Thread-56-of-150] o.o.n.s.SnmpPollInterfaceMonitor: Exception while retrieving admin/operational statuses for interfaces in 'xxxxxxx' at location
      java.util.concurrent.ExecutionException: org.opennms.core.rpc.api.RemoteExecutionException: java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException
       at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
       at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
       at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
       at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
       at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
       at org.opennms.netmgt.snmp.snmp4j.Snmp4JStrategy$2.onResponse(Snmp4JStrategy.java:338)
       at org.snmp4j.Snmp$PendingRequest.run(Snmp.java:1878)
       at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
       at java.base/java.util.TimerThread.run(Timer.java:506)
      Caused by: java.lang.ArrayIndexOutOfBoundsException
      
          at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?]
          at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) ~[?:?]
          at org.opennms.netmgt.snmpinterfacepoller.SnmpPollInterfaceMonitor.poll(SnmpPollInterfaceMonitor.java:124) [opennms-services-26.1.0.jar:?]
          at org.opennms.netmgt.snmpinterfacepoller.pollable.PollableSnmpInterface.doPoll(PollableSnmpInterface.java:317) [opennms-services-26.1.0.jar:?]
          at org.opennms.netmgt.snmpinterfacepoller.pollable.PollableSnmpInterface.run(PollableSnmpInterface.java:305) [opennms-services-26.1.0.jar:?]
          at org.opennms.netmgt.scheduler.Schedule.run(Schedule.java:142) [org.opennms.core.daemon-26.1.0.jar:?]
          at org.opennms.netmgt.scheduler.Schedule$ScheduleEntry.run(Schedule.java:86) [org.opennms.core.daemon-26.1.0.jar:?]
          at org.opennms.netmgt.scheduler.LegacyScheduler$1.run(LegacyScheduler.java:179) [org.opennms.core.daemon-26.1.0.jar:?]
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
          at org.opennms.core.concurrent.LogPreservingThreadFactory$3.run(LogPreservingThreadFactory.java:124) [opennms-util-26.1.0.jar:?]
          at java.lang.Thread.run(Thread.java:834) [?:?]
      Caused by: org.opennms.core.rpc.api.RemoteExecutionException: java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException
       at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
       at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
       at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
       at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
       at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
       at org.opennms.netmgt.snmp.snmp4j.Snmp4JStrategy$2.onResponse(Snmp4JStrategy.java:338)
       at org.snmp4j.Snmp$PendingRequest.run(Snmp.java:1878)
       at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
       at java.base/java.util.TimerThread.run(Timer.java:506)
      Caused by: java.lang.ArrayIndexOutOfBoundsException
      
          at org.opennms.core.ipc.rpc.kafka.KafkaRpcClientFactory$ResponseHandler.sendResponse(KafkaRpcClientFactory.java:405) ~[org.opennms.core.ipc.rpc.kafka-26.1.0.jar:?]
          at org.opennms.core.ipc.rpc.kafka.KafkaRpcClientFactory$KafkaConsumerRunner.lambda$run$0(KafkaRpcClientFactory.java:505) ~[org.opennms.core.ipc.rpc.kafka-26.1.0.jar:?]
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
          ... 1 more
      

      It is hard to say what could be causing this just by looking at the exception, and also not sure if this could be impacting the SNMP Poller in general or just a few nodes.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              cgorantla Chandra Gorantla
              Reporter:
              agalue Alejandro Galue
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration