NPE in ResourceProviderEntry
----------------------------

                 Key: SLING-725
                 URL: https://issues.apache.org/jira/browse/SLING-725
             Project: Sling
          Issue Type: Bug
          Components: JCR Resource
            Reporter: Alexander Klimetschek
            Priority: Minor


In o.a.s.jcr.resource.internal.helper.ResourceProviderEntry, line 137, an NPE 
happens when the resource object is null (getPath() is called on it). This 
might happen if the resource cannot be found because eg. an anonymous user does 
the request, who has no rights to read the node in question.

Here is the stacktrace:

10.11.2008 16:18:54.321 *INFO* [127.0.0.1 [1226330334321] GET 
/bin/tree/ext.json HTTP/1.1] logs/request.log 10/Nov/2008:16:18:54 +0100 [1028] 
-> GET 
/bin/tree/ext.json?_dc=1226330323421&predicate=hierarchy&depth=0&path=%2Fcontent&node=ynode-24
 HTTP/1.1
10.11.2008 16:18:54.322 *ERROR* [127.0.0.1 [1226330334321] GET 
/bin/tree/ext.json HTTP/1.1] org.apache.sling.engine.impl.SlingMainServlet 
service: Uncaught Throwable java.lang.NullPointerException
        at 
org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.<init>(ResourceProviderEntry.java:137)
        at 
org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.listChildren(ResourceProviderEntry.java:125)
        at 
org.apache.sling.jcr.resource.internal.JcrResourceResolver.listChildren(JcrResourceResolver.java:191)
        at 
com.day.cq.widget.ExtTreeJsonWriter.getChildren(ExtTreeJsonWriter.java:165)
        at com.day.cq.widget.ExtTreeJsonWriter.write(ExtTreeJsonWriter.java:105)
        at com.day.cq.widget.ExtTreeJsonWriter.write(ExtTreeJsonWriter.java:92)
        at 
com.day.cq.widget.servlets.ExtTreeExportServlet.doGet(ExtTreeExportServlet.java:68)
        at 
com.day.cq.commons.servlets.AbstractPredicateServlet.doGet(AbstractPredicateServlet.java:73)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:262)
        at 
org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:134)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:338)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:370)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:465)
        at 
org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:59)
        at 
com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:145)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
com.day.cq.wcm.core.impl.WCMRequestFilter.filterRootInclude(WCMRequestFilter.java:292)
        at 
com.day.cq.wcm.core.impl.WCMRequestFilter.doFilter(WCMRequestFilter.java:143)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:462)
        at 
org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:59)
        at 
org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
com.day.cq.rewriter.filter.RewriterFilter.doFilter(RewriterFilter.java:74)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
com.day.cq.theme.impl.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:67)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:96)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
org.apache.sling.debug.impl.RequestProgressLogFilter.doFilter(RequestProgressLogFilter.java:45)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
        at 
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:296)
        at 
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:183)
        at 
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at 
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
        at 
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.sling.launcher.webapp.SlingServlet.service(SlingServlet.java:198)
        at 
com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:228)
        at 
com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:315)
        at 
com.day.j2ee.servletengine.FilterChainImpl.doFilter(FilterChainImpl.java:74)
        at 
com.day.crx.launchpad.filters.CRXLaunchpadLicenseFilter.doFilter(CRXLaunchpadLicenseFilter.java:101)
        at 
com.day.j2ee.servletengine.FilterChainImpl.doFilter(FilterChainImpl.java:72)
        at 
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:334)
        at 
com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:378)
        at 
com.day.j2ee.servletengine.ServletHandlerImpl.execute(ServletHandlerImpl.java:313)
        at 
com.day.j2ee.servletengine.DefaultThreadPool$DequeueThread.run(DefaultThreadPool.java:134)
        at java.lang.Thread.run(Thread.java:613)
10.11.2008 16:18:54.326 *INFO* [127.0.0.1 [1226330334321] GET 
/bin/tree/ext.json HTTP/1.1] logs/request.log 10/Nov/2008:16:18:54 +0100 [1028] 
<- 500 text/html; charset=UTF-8 5ms
10.11.2008 16:18:54.328 *INFO* [127.0.0.1 [1226330334321] GET 
/bin/tree/ext.json HTTP/1.1] logs/access.log localhost - anonymous 
10/Nov/2008:16:18:54 +0100 "GET 
/bin/tree/ext.json?_dc=1226330323421&predicate=hierarchy&depth=0&path=%2Fcontent&node=ynode-24
 HTTP/1.1" 500 7302 "http://10.0.1.199:8081/libs/wcm/content/siteadmin.html"; 
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, 
like Gecko) Chrome/0.3.154.9 Safari/525.19"
 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to