[ https://issues.apache.org/jira/browse/SLING-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15059832#comment-15059832 ]
Timothee Maret commented on SLING-5382: --------------------------------------- The {{config}} field should be checked for {{null}} as it could be that the framework binds a {{PropertyProvider}} instance before the {{config}} (thus before the component is active). {code} Resource myInstance = ResourceHelper .getOrCreateResource( resourceResolver, config.getClusterInstancesPath() + "/" + slingId + "/properties"); {code} > DiscoveryServiceImpl#doUpdateProperties may fail due to a NPE > -------------------------------------------------------------- > > Key: SLING-5382 > URL: https://issues.apache.org/jira/browse/SLING-5382 > Project: Sling > Issue Type: Bug > Components: Extensions > Affects Versions: Discovery Oak 1.2.0 > Reporter: Timothee Maret > > Observed > {code} > 09.12.2015 14:19:13.175 *ERROR* [FelixStartLevel] > org.apache.sling.discovery.oak > [org.apache.sling.discovery.oak.OakDiscoveryService(186)] The > updatedPropertyProvider method has thrown an exception > (java.lang.NullPointerException) > java.lang.NullPointerException: null > at > org.apache.sling.discovery.oak.OakDiscoveryService.doUpdateProperties(OakDiscoveryService.java:476) > at > org.apache.sling.discovery.oak.OakDiscoveryService.bindPropertyProviderInteral(OakDiscoveryService.java:403) > at > org.apache.sling.discovery.oak.OakDiscoveryService.updatedPropertyProvider(OakDiscoveryService.java:417) > at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) > at > org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:41) > at > org.apache.felix.scr.impl.manager.DependencyManager.invokeUpdatedMethod(DependencyManager.java:1706) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.invokeUpdatedMethod(SingleComponentManager.java:381) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.modifiedService(DependencyManager.java:349) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.modifiedService(DependencyManager.java:295) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:1228) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:1136) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:884) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167) > at > org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:120) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557) > at org.apache.felix.framework.Felix.access$000(Felix.java:106) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:420) > at > org.apache.felix.framework.ServiceRegistry.servicePropertiesModified(ServiceRegistry.java:571) > at > org.apache.felix.framework.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:131) > at > org.apache.sling.event.impl.jobs.JobConsumerManager.unbindService(JobConsumerManager.java:364) > at > org.apache.sling.event.impl.jobs.JobConsumerManager.unbindJobConsumer(JobConsumerManager.java:262) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) > at > org.apache.felix.scr.impl.helper.BindMethod.invoke(BindMethod.java:41) > at > org.apache.felix.scr.impl.manager.DependencyManager.invokeUnbindMethod(DependencyManager.java:1774) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.invokeUnbindMethod(SingleComponentManager.java:393) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.removedService(DependencyManager.java:364) > at > org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.removedService(DependencyManager.java:295) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1241) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1136) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:996) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1175) > at > org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:120) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557) > at org.apache.felix.framework.Felix.access$000(Felix.java:106) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:420) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:144) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:883) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:857) > at > org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:140) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:925) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:774) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:757) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1014) > at > org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:915) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1241) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1136) > at > org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:996) > at > org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1175) > at > org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:120) > at > org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839) > at > org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557) > at org.apache.felix.framework.Felix.access$000(Felix.java:106) > at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:420) > at > org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170) > at > org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:144) > at > com.adobe.cq.social.serviceusers.internal.impl.ServiceUserWrapperImpl.deactivate(ServiceUserWrapperImpl.java:127) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) > at > org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) > at > org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615) > at > org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) > at > org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:342) > at > org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:157) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:783) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:757) > at > org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:550) > at > org.apache.felix.scr.impl.config.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:725) > at > org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:530) > at > org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:414) > at org.apache.felix.scr.impl.Activator.access$300(Activator.java:53) > at > org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:273) > at > org.apache.felix.utils.extender.AbstractExtender$2.run(AbstractExtender.java:290) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > org.apache.felix.utils.extender.AbstractExtender.destroyExtension(AbstractExtender.java:312) > at > org.apache.felix.utils.extender.AbstractExtender.bundleChanged(AbstractExtender.java:186) > at > org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916) > at > org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835) > at > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517) > at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541) > at org.apache.felix.framework.Felix.stopBundle(Felix.java:2600) > at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1389) > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) > at java.lang.Thread.run(Thread.java:745) > {code} > and > {code} > 11.12.2015 04:37:52.295 *ERROR* [pool-74-thread-1] > org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job > execution of org.apache.sling.discovery.oak.pinger.OakViewChecker@7e1e1c3d : > null > java.lang.NullPointerException: null > at > org.apache.sling.discovery.oak.OakDiscoveryService.doUpdateProperties(OakDiscoveryService.java:476) > at > org.apache.sling.discovery.oak.OakDiscoveryService.updateProperties(OakDiscoveryService.java:545) > at > org.apache.sling.discovery.oak.pinger.OakViewChecker.updateProperties(OakViewChecker.java:330) > at > org.apache.sling.discovery.base.commons.BaseViewChecker.issueHeartbeat(BaseViewChecker.java:213) > at > org.apache.sling.discovery.base.commons.BaseViewChecker.heartbeatAndCheckView(BaseViewChecker.java:181) > at > org.apache.sling.discovery.base.commons.BaseViewChecker.run(BaseViewChecker.java:167) > at > org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:115) > at org.quartz.core.JobRunShell.run(JobRunShell.java:202) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)