[ 
https://issues.apache.org/jira/browse/SLING-4556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14502691#comment-14502691
 ] 

Carsten Ziegeler commented on SLING-4556:
-----------------------------------------

I see this on a shutdown of Sling's launchpad sometimes:

ERROR: Error calling StartupListener 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler@37958652 
(java.lang.NullPointerException)
java.lang.NullPointerException
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.create(ResourceResolverImpl.java:1123)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:611)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
        at 
org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
        at 
org.apache.sling.discovery.impl.common.resource.ResourceHelper.getOrCreateResource(ResourceHelper.java:45)
        at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.issueClusterLocalHeartbeat(HeartbeatHandler.java:298)
        at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.issueHeartbeat(HeartbeatHandler.java:262)
        at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.startupFinished(HeartbeatHandler.java:140)
        at 
org.apache.sling.discovery.impl.common.heartbeat.HeartbeatHandler.inform(HeartbeatHandler.java:133)
        at 
org.apache.sling.launchpad.base.impl.DefaultStartupHandler$1.addingService(DefaultStartupHandler.java:146)
        at 
org.apache.sling.launchpad.base.impl.DefaultStartupHandler$1.addingService(DefaultStartupHandler.java:129)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
        at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
        at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:987)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4547)
        at org.apache.felix.framework.Felix.registerService(Felix.java:3521)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:1003)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:992)
        at 
org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:134)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:1044)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:841)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:931)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:895)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1480)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1401)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1210)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1148)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1432)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:987)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4547)
        at org.apache.felix.framework.Felix.registerService(Felix.java:3521)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:1003)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:992)
        at 
org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:134)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:1044)
        at 
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:841)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:931)
        at 
org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:895)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1480)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1401)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:1210)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:1148)
        at 
org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1432)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:987)
        at 
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
        at 
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4547)
        at org.apache.felix.framework.Felix.registerService(Felix.java:3521)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322)
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.registerFactory(ResourceResolverFactoryActivator.java:584)
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.checkFactoryPreconditions(ResourceResolverFactoryActivator.java:611)
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator.run(ResourceResolverFactoryActivator.java:706)
        at java.lang.Thread.run(Thread.java:745)

Maybe this is a race condition, where the new resource resolver factory is 
registered - at this moment the jcr provider is active. However when the call 
is made to the resource resolver from the discovery code, the jcr provider is 
already gone and the unregistration of the resource resolver factory is in 
process. This could also happen on startup, if e.g. the jcr provider bundle 
restarts.
If this assumption is true, then it's more a problem of the resource resolver 
factory and its reregistration

> NPE in DiscoveryServiceImpl#activate
> ------------------------------------
>
>                 Key: SLING-4556
>                 URL: https://issues.apache.org/jira/browse/SLING-4556
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: Discovery Impl 1.1.0
>            Reporter: Carsten Ziegeler
>             Fix For: Discovery Impl 1.1.2
>
>
> 31.03.2015 05:33:44.001 *ERROR* [Thread-77] org.apache.sling.discovery.impl 
> [org.apache.sling.discovery.impl.DiscoveryServiceImpl(85)] The activate 
> method has thrown an exception (java.lang.NullPointerException)
> java.lang.NullPointerException: null
>       at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.create(ResourceResolverImpl.java:1123)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:611)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResourceInternal(ResourceUtil.java:599)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:554)
>       at 
> org.apache.sling.api.resource.ResourceUtil.getOrCreateResource(ResourceUtil.java:528)
>       at 
> org.apache.sling.discovery.impl.common.resource.ResourceHelper.getOrCreateResource(ResourceHelper.java:45)
>       at 
> org.apache.sling.discovery.impl.topology.announcement.AnnouncementRegistryImpl.listAnnouncementsInSameCluster(AnnouncementRegistryImpl.java:150)
>       at 
> org.apache.sling.discovery.impl.topology.announcement.AnnouncementRegistryImpl.listInstances(AnnouncementRegistryImpl.java:542)
>       at 
> org.apache.sling.discovery.impl.DiscoveryServiceImpl.getTopology(DiscoveryServiceImpl.java:443)
>       at 
> org.apache.sling.discovery.impl.DiscoveryServiceImpl.activate(DiscoveryServiceImpl.java:149)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to