Oliver Lietz created SLING-7009:
-----------------------------------

             Summary: NPE in ResourceChangeListenerInfo when 
resource.change.types is not String or String array
                 Key: SLING-7009
                 URL: https://issues.apache.org/jira/browse/SLING-7009
             Project: Sling
          Issue Type: Bug
          Components: ResourceResolver
    Affects Versions: Resource Resolver 1.5.26
            Reporter: Oliver Lietz


When registering a {{ResourceChangeListener}} with 
{{ResourceChangeListener.CHANGES}} and e.g. {{ChangeType.ADDED}} (enum), 
ResourceChangeListenerInfo fails with NPE:

{noformat}
2017-07-13T23:55:46,811 | ERROR | RMI TCP Connection(3)-127.0.0.1 | Felix       
                     |  -  -  | Bundle org.apache.sling.resourceresolver [110] 
EventDispatcher: Error during dispatch. (java.lang.NullPointerException)
java.lang.NullPointerException: null
        at 
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerInfo.<init>(ResourceChangeListenerInfo.java:120)
 ~[?:?]
        at 
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:82)
 ~[?:?]
        at 
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:64)
 ~[?:?]
        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.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
 ~[?:?]
        at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
 ~[?:?]
        at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4579) 
~[?:?]
        at org.apache.felix.framework.Felix.registerService(Felix.java:3571) 
~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
 ~[?:?]
        at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
 ~[?:?]
{noformat}

This should be more robust (try/catch including for-loop).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to