After unregistering a ResourceDecorator service any request causes a
NullPointerException to be thrown
------------------------------------------------------------------------------------------------------
Key: SLING-1633
URL: https://issues.apache.org/jira/browse/SLING-1633
Project: Sling
Issue Type: Bug
Components: JCR
Affects Versions: JCR Resource 2.0.6
Reporter: Davide Maestroni
Priority: Critical
After registering and then unregistering a service implementing the
ResourceDecorator interface, any request causes a NullPointerException thus
making the whole repository unusable even if the HTTP response code is always
200 (see trace below).
09.08.2010 12:23:15.109 *INFO* [127.0.0.1 [1281349395109] GET
/sling/content.json HTTP/1.1] logs/request.log 09/Aug/2010:12:23:15 +0200 [2]
<- 200 - 0ms
09.08.2010 12:23:15.109 *INFO* [127.0.0.1 [1281349395109] GET
/sling/content.json HTTP/1.1] logs/access.log 127.0.0.1 - admin
09/Aug/2010:12:23:15 +0200 "GET /sling/content.json HTTP/1.1" 200 - "-"
"curl/7.19.5 (i586-pc-mingw32msvc) libcurl/7.19.5 zlib/1.2.3"
09.08.2010 12:23:15.109 *ERROR* [127.0.0.1 [1281349395109] GET
/sling/content.json HTTP/1.1] org.apache.sling.engine.impl.SlingMainServlet
service: Uncaught Problem handling the request java.lang.NullPointerException
at
org.apache.sling.engine.impl.SlingHttpServletRequestImpl.getResource(SlingHttpServletRequestImpl.java:107)
at
org.apache.sling.servlets.resolver.internal.SlingServletResolver.getErrorResource(SlingServletResolver.java:537)
at
org.apache.sling.servlets.resolver.internal.SlingServletResolver.handleError(SlingServletResolver.java:490)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:363)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:207)
at
org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:91)
at
org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:77)
at
org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
at
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
at
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at
org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
at
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
at
org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:275)
at
org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:148)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:423)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:456)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:924)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:335)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:588)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1029)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:418)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Unknown Source)
The issue seems to be solved just replacing line 110 of
bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/ResourceDecoratorTracker.java
with:
ResourceDecorator[] decorators = EMPTY_ARRAY;
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.