NPE in JMXDetector

Description

The OpenNMS-JVM detector fails to detect the JMX service on the localhost and throws this NPE during detection. Other JMX detectors seem to be hitting the same problem as well.

2015-11-25 15:30:43,654 ERROR [scanExecutor-6] o.o.n.p.d.j.JMXDetector: isServiceDetected: OpenNMS-JVM: Unexpected error trying to detect OpenNMS-JVM on address 127.0.0.1 port 18980 java.lang.NullPointerException at org.opennms.netmgt.provision.detector.jmx.JMXDetector.isServiceDetected(JMXDetector.java:107) [opennms-detector-jmx-17.0.0-SNAPSHOT.jar:?] at org.opennms.netmgt.provision.service.IpInterfaceScan$2.run(IpInterfaceScan.java:187) [opennms-provisiond-17.0.0-SNAPSHOT.jar:?] at org.opennms.core.tasks.SyncTask.run(SyncTask.java:93) [org.opennms.core.tasks-17.0.0-SNAPSHOT.jar:?] at org.opennms.core.tasks.SyncTask$1.run(SyncTask.java:105) [org.opennms.core.tasks-17.0.0-SNAPSHOT.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_45] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Seth Leger November 30, 2015 at 10:35 AM

This was caused because the class connecting to the JMX MBeanServer was eating exceptions, logging, and returning null instead of letting the exceptions bubble back up to the detector. There was also a String/int comparison that would always fail when trying to connect to the local MBeanServer. Marking as fixed.

commit 776ea5506cb81cfee1f21467aa26ae1540cbb207

Fixed

Details

Assignee

Reporter

Sprint

Fix versions

Affects versions

Priority

PagerDuty

Created November 25, 2015 at 4:10 PM
Updated November 30, 2015 at 10:35 AM
Resolved November 30, 2015 at 10:35 AM

Flag notifications