You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Alexander Klimetschek (JIRA)" <ji...@apache.org> on 2008/11/10 16:25:44 UTC

[jira] Created: (SLING-725) NPE in ResourceProviderEntry

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.


[jira] Closed: (SLING-725) NPE in ResourceProviderEntry

Posted by "Alexander Klimetschek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Klimetschek closed SLING-725.
---------------------------------------

    Resolution: Invalid

Ups, passing a null Resource into ResourceResolver.listChildren() is actually not allowed (NPE thrown is part of the javadoc), thus closing this as invalid.

> 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.