NullPointer Exception in poller.log during startup

Description

java.lang.NullPointerException
at org.opennms.netmgt.poller.pollables.PollableServiceConfig.findService(PollableServiceConfig.java:87)
at org.opennms.netmgt.poller.pollables.PollableServiceConfig.<init>(PollableServiceConfig.java:76)
at org.opennms.netmgt.poller.Poller.scheduleService(Poller.java:440)
at org.opennms.netmgt.poller.Poller.access$100(Poller.java:79)
at org.opennms.netmgt.poller.Poller$2.processRow(Poller.java:388)
at org.opennms.netmgt.utils.Querier.executeStmt(Querier.java:74)
at org.opennms.netmgt.utils.JDBCTemplate.doExecute(JDBCTemplate.java:88)
at org.opennms.netmgt.utils.JDBCTemplate.execute(JDBCTemplate.java:59)
at org.opennms.netmgt.poller.Poller.scheduleMatchingServices(Poller.java:395)
at org.opennms.netmgt.poller.Poller.scheduleExistingServices(Poller.java:315)
at org.opennms.netmgt.poller.Poller.onInit(Poller.java:187)
at org.opennms.netmgt.daemon.AbstractServiceDaemon.init(AbstractServiceDaemon.java:197)
at org.opennms.netmgt.daemon.AbstractServiceDaemon.afterPropertiesSet(AbstractServiceDaemon.java:50)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:107)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1008)
at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:397)
at org.opennms.core.utils.BeanUtils.getBeanFactory(BeanUtils.java:58)
at org.opennms.core.utils.BeanUtils.getFactory(BeanUtils.java:100)
at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon.init(AbstractSpringContextJmxServiceDaemon.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:313)
at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:236)
at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:256)
at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:127)
at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:197)
at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.opennms.bootstrap.Bootstrap$3.run(Bootstrap.java:368)
at java.lang.Thread.run(Thread.java:619)

Environment

Operating System: All Platform: All

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Former user March 8, 2010 at 4:15 PM

verified since this has been cherry-picked to 1.7.10

Former user March 8, 2010 at 4:12 PM

This exception has been fixed in master revision 05852e8ac65ecfc32a65bfa0fdf8c96c5906906f

This has also been cherry-picked into rc/unstable/1.7.10

Former user March 8, 2010 at 2:30 PM

We found a bug where the code was reverted in a merge. We cherry picked the commit from another branch that had the fix and hopefully this fixes the problem.

Tarus Balog March 5, 2010 at 3:29 PM

I don't think this is totally due to the "initial state" issue. We had a disk go bad on chef in the office and I took the system down to restore it. Currently, chef does not exist, yet OpenNMS shows it as up. When I go into the log files, even after a restart, I get lots of "unable to obtain lock"

2010-03-05 15:32:32,753 DEBUG [PollerScheduler-30 Pool-fiber13] LegacyScheduler: schedule: queue element added, notification not performed
2010-03-05 15:32:45,401 DEBUG [PollerScheduler-30 Pool-fiber13] PollableService: Start Scheduled Poll of service 50:172.20.1.17:SSH
2010-03-05 15:32:45,402 DEBUG [PollerScheduler-30 Pool-fiber13] PollableNode$Lock: Trying to obtain lock for 50
2010-03-05 15:32:45,905 INFO [PollerScheduler-30 Pool-fiber13] PollableService: Postponing poll for 50:172.20.1.17:SSH because org.opennms.netmgt.poller.pollables.LockUnavailable: Unable to obtain lock for 50 before timeout
2010-03-05 15:32:45,906 DEBUG [PollerScheduler-30 Pool-fiber13] LegacyScheduler: schedule: Adding ready runnable ScheduleEntry[expCode=1] for 50:172.20.1.17:SSH (ready in 12000ms) at interval 12000
2010-03-05 15:32:45,906 DEBUG [PollerScheduler-30 Pool-fiber13] LegacyScheduler: schedule: queue element added, notification not performed
2010-03-05 15:32:52,937 DEBUG [PollerScheduler-30 Pool-fiber13] PollableService: Start Scheduled Poll of service 83:172.20.1.15:ICMP
2010-03-05 15:32:52,937 DEBUG [PollerScheduler-30 Pool-fiber13] PollableNode$Lock: Trying to obtain lock for 83
2010-03-05 15:32:53,441 INFO [PollerScheduler-30 Pool-fiber13] PollableService: Postponing poll for 83:172.20.1.15:ICMP because org.opennms.netmgt.poller.pollables.LockUnavailable: Unable to obtain lock for 83 before timeout

Jeffrey C. Ollie March 5, 2010 at 12:02 PM

This appears to be happening to me as well:

2010-03-05 09:49:13,490 ERROR [Main] Poller: start: Failed to schedule existing interfaces
java.lang.NullPointerException
at org.opennms.netmgt.poller.pollables.PollableServiceConfig.findService(PollableServiceConfig.java:87)
at org.opennms.netmgt.poller.pollables.PollableServiceConfig.<init>(PollableServiceConfig.java:76)
at org.opennms.netmgt.poller.Poller.scheduleService(Poller.java:440)
at org.opennms.netmgt.poller.Poller.access$100(Poller.java:79)
at org.opennms.netmgt.poller.Poller$2.processRow(Poller.java:388)
at org.opennms.netmgt.utils.Querier.executeStmt(Querier.java:74)
at org.opennms.netmgt.utils.JDBCTemplate.doExecute(JDBCTemplate.java:88)
at org.opennms.netmgt.utils.JDBCTemplate.execute(JDBCTemplate.java:59)
at org.opennms.netmgt.poller.Poller.scheduleMatchingServices(Poller.java:395)
at org.opennms.netmgt.poller.Poller.scheduleExistingServices(Poller.java:315)
at org.opennms.netmgt.poller.Poller.onInit(Poller.java:187)
at org.opennms.netmgt.daemon.AbstractServiceDaemon.init(AbstractServiceDaemon.java:197)
at org.opennms.netmgt.daemon.AbstractServiceDaemon.afterPropertiesSet(AbstractServiceDaemon.java:50)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:105)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:107)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:984)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:886)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1008)
at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:397)
at org.opennms.core.utils.BeanUtils.getBeanFactory(BeanUtils.java:58)
at org.opennms.core.utils.BeanUtils.getFactory(BeanUtils.java:100)
at org.opennms.netmgt.daemon.AbstractSpringContextJmxServiceDaemon.init(AbstractSpringContextJmxServiceDaemon.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.jmx.mbeanserver.StandardMetaDataImpl.invoke(StandardMetaDataImpl.java:414)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:313)
at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:236)
at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:256)
at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:127)
at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:197)
at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:169)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.opennms.bootstrap.Bootstrap$3.run(Bootstrap.java:368)
at java.lang.Thread.run(Thread.java:595)

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

PagerDuty

Created March 4, 2010 at 4:37 PM
Updated January 27, 2017 at 4:26 PM
Resolved March 8, 2010 at 4:16 PM