[CARDINAL-3] Null pointer exception when installing odl-cardinal feature Created: 30/Aug/16  Updated: 03/Sep/16  Resolved: 03/Sep/16

Status: Resolved
Project: cardinal
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Amandeep Singh Rattenpal Assignee: Rajani Srivastava
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File tmp_8657-cardinal_log643175552.txt    
External issue ID: 6586

 Description   

Cardinal feature throwing Null pointer exception Null pointer exception when installing it.

logs:

java.lang.RuntimeException: java.lang.NullPointerException
at org.opendaylight.cardinal.impl.OdlCardinalGet.snmpGet(OdlCardinalGet.java:68)
at org.opendaylight.cardinal.impl.OdlCardinalSysInfoApis.setValues(OdlCardinalSysInfoApis.java:35)
at org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.cardinal.impl.rev141210.CardinalModule.createInstance(CardinalModule.java:78)
at org.opendaylight.controller.config.spi.AbstractModule.getInstance(AbstractModule.java:87)
at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:149)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy121.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:437)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:346)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfigSafe(ConfigRegistryImpl.java:285)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:250)
at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150)
at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
at com.sun.proxy.$Proxy19.commitConfig(Unknown Source)
at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:110)
at org.opendaylight.controller.config.facade.xml.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:142)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.commitSilentTransaction(ConfigSubsystemFacade.java:138)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfig(ConfigPusherImpl.java:312)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:164)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.internalPushConfigs(ConfigPusherImpl.java:129)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.processSingle(ConfigPusherImpl.java:83)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.process(ConfigPusherImpl.java:74)
at org.opendaylight.controller.config.persist.impl.osgi.ConfigPersisterActivator$2.run(ConfigPersisterActivator.java:131)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.opendaylight.cardinal.impl.OdlCardinalGet.snmpGet(OdlCardinalGet.java:55)
... 44 more



 Comments   
Comment by Amandeep Singh Rattenpal [ 30/Aug/16 ]

(In reply to Amandeep Singh Rattenpal from comment #0)
> Cardinal feature throwing Null pointer exception when
> installing it.
>
> logs:
>
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> org.opendaylight.cardinal.impl.OdlCardinalGet.snmpGet(OdlCardinalGet.java:68)
> at
> org.opendaylight.cardinal.impl.OdlCardinalSysInfoApis.
> setValues(OdlCardinalSysInfoApis.java:35)
> at
> org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.cardinal.
> impl.rev141210.CardinalModule.createInstance(CardinalModule.java:78)
> at
> org.opendaylight.controller.config.spi.AbstractModule.
> getInstance(AbstractModule.java:87)
> at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.
> java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.opendaylight.controller.config.manager.impl.dependencyresolver.
> DependencyResolverManager$ModuleInvocationHandler.
> handleInvocation(DependencyResolverManager.java:149)
> at
> com.google.common.reflect.AbstractInvocationHandler.
> invoke(AbstractInvocationHandler.java:87)
> at com.sun.proxy.$Proxy121.getInstance(Unknown Source)
> at
> org.opendaylight.controller.config.manager.impl.
> ConfigTransactionControllerImpl.
> secondPhaseCommit(ConfigTransactionControllerImpl.java:437)
> at
> org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.
> secondPhaseCommit(ConfigRegistryImpl.java:346)
> at
> org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.
> commitConfigSafe(ConfigRegistryImpl.java:285)
> at
> org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.
> commitConfig(ConfigRegistryImpl.java:250)
> at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.
> java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
> at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.
> java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
> at
> com.sun.jmx.mbeanserver.ConvertingMethod.
> invokeWithOpenReturn(ConvertingMethod.java:193)
> at
> com.sun.jmx.mbeanserver.ConvertingMethod.
> invokeWithOpenReturn(ConvertingMethod.java:175)
> at
> com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:
> 117)
> at
> com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:
> 54)
> at
> com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
> at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
> at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.
> invoke(DefaultMBeanServerInterceptor.java:819)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
> at
> com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:
> 150)
> at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
> at
> javax.management.MBeanServerInvocationHandler.
> invoke(MBeanServerInvocationHandler.java:258)
> at com.sun.proxy.$Proxy19.commitConfig(Unknown Source)
> at
> org.opendaylight.controller.config.util.ConfigRegistryJMXClient.
> commitConfig(ConfigRegistryJMXClient.java:110)
> at
> org.opendaylight.controller.config.facade.xml.transactions.
> TransactionProvider.commitTransaction(TransactionProvider.java:142)
> at
> org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.
> commitSilentTransaction(ConfigSubsystemFacade.java:138)
> at
> org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.
> pushConfig(ConfigPusherImpl.java:312)
> at
> org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.
> pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:164)
> at
> org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.
> internalPushConfigs(ConfigPusherImpl.java:129)
> at
> org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.
> processSingle(ConfigPusherImpl.java:83)
> at
> org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.
> process(ConfigPusherImpl.java:74)
> at
> org.opendaylight.controller.config.persist.impl.osgi.
> ConfigPersisterActivator$2.run(ConfigPersisterActivator.java:131)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
> at
> org.opendaylight.cardinal.impl.OdlCardinalGet.snmpGet(OdlCardinalGet.java:55)
> ... 44 more

Comment by Amandeep Singh Rattenpal [ 01/Sep/16 ]

While installing odl cardinal feature in our system we unable to see any blocking bug.
Attached logs are showing all installed features.

Comment by Amandeep Singh Rattenpal [ 01/Sep/16 ]

Attachment tmp_8657-cardinal_log643175552.txt has been added with description: while installing feature on karaf no error

Comment by Partha Datta [ 01/Sep/16 ]

Retargeted the bug for Carbon (ODL SR TARGET MILESTONE=CARBON)

Comment by Colin Dixon [ 01/Sep/16 ]

Does this mean that Cardinal is not in red status for Boron RC2 testing?

Comment by Jamo Luhrsen [ 01/Sep/16 ]

I double checked with RC2. The NPE is not there for me, but there is a different
worrisome Exception that is coming to the karaf console.

can we use this bug to track it, or do we need a new one? I moved this back to
Boron-RC2 until we decide, just so it doesn't get lost in the rush to get Boron
out the door.

java.lang.ArrayIndexOutOfBoundsException: 2
at org.opendaylight.cardinal.impl.SetCardinalMibValues.setCpuMemUsage(SetCardinalMibValues.java:168)
at org.opendaylight.cardinal.impl.SetCardinalMibValues.setMibValues(SetCardinalMibValues.java:47)
at org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.cardinal.impl.rev141210.CardinalModule.createInstance(CardinalModule.java:77)
at org.opendaylight.controller.config.spi.AbstractModule.getInstance(AbstractModule.java:87)
at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.opendaylight.controller.config.manager.impl.dependencyresolver.DependencyResolverManager$ModuleInvocationHandler.handleInvocation(DependencyResolverManager.java:149)
at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
at com.sun.proxy.$Proxy37.getInstance(Unknown Source)
at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:437)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:346)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfigSafe(ConfigRegistryImpl.java:285)
at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:250)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at com.sun.jmx.mbeanserver.MXBeanProxy$InvokeHandler.invoke(MXBeanProxy.java:150)
at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:167)
at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
at com.sun.proxy.$Proxy21.commitConfig(Unknown Source)
at org.opendaylight.controller.config.util.ConfigRegistryJMXClient.commitConfig(ConfigRegistryJMXClient.java:110)
at org.opendaylight.controller.config.facade.xml.transactions.TransactionProvider.commitTransaction(TransactionProvider.java:142)
at org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacade.commitSilentTransaction(ConfigSubsystemFacade.java:138)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfig(ConfigPusherImpl.java:312)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.pushConfigWithConflictingVersionRetries(ConfigPusherImpl.java:164)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.internalPushConfigs(ConfigPusherImpl.java:129)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.processSingle(ConfigPusherImpl.java:83)
at org.opendaylight.controller.config.persist.impl.ConfigPusherImpl.process(ConfigPusherImpl.java:74)
at org.opendaylight.controller.config.persist.impl.osgi.ConfigPersisterActivator$2.run(ConfigPersisterActivator.java:131)
at java.lang.Thread.run(Thread.java:745)

Comment by A H [ 01/Sep/16 ]

JamO, It looks like a separate exception is being thrown. I've opened a new bug to track the ArrayIndexOutOfBoundsException:

https://bugs.opendaylight.org/show_bug.cgi?id=6618

I am so retargeting this back to Carbon, as per the comments from Partha:

https://bugs.opendaylight.org/show_bug.cgi?id=6586#c3

Comment by Rajani Srivastava [ 02/Sep/16 ]

Sometimes we are getting NPE while feature installation.
A patch is submitted for same.
https://git.opendaylight.org/gerrit/#/c/45105/

It may help to unblock the issue

Generated at Wed Feb 07 19:14:59 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.