I replaced all references to slf4j in this class with the OSGi LogService
and now get an NPE when it calls to the log service.  The reference is
constructed using DS and default values
(ReferenceCardinality.MANDATORY_UNARY, ReferencePolicy.STATIC).

16.09.2010 11:38:12.522 *ERROR* [0:0:0:0:0:0:0:1 [1284651492520] GET
/dev/my_sakai.html HTTP/1.1] org.apache.sling.engine.impl.SlingMainServlet
service: Uncaught Throwable java.lang.NullPointerException
 at
org.sakaiproject.nakamura.files.pool.ContentPoolProvider.listChildren(ContentPoolProvider.java:167)
at
org.apache.sling.jcr.resource.internal.helper.WrappedResourceProvider.listChildren(WrappedResourceProvider.java:65)
 at
org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.seek(ResourceProviderEntry.java:206)
...

I have 2 bundles I redeploy to trigger this.  After redeploying the first, I
get this in the stack but it doesn't seem to hurt my app.  Casten, is this
in the area where you say fixes have been applied?

16.09.2010 11:37:41.902 *ERROR* [0:0:0:0:0:0:0:1 [1284651461795] GET
/~admin/dashboard/mysakaidashboard/dashboard.infinity.json HTTP/1.1]
org.apache.sling.servlets.resolver.internal.SlingServletResolver Calling the
error handler resulted in an error
org.apache.sling.api.scripting.ScriptEvaluationException:
 at
org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:257)
at
org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:164)
 at
org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:328)
at
org.apache.sling.servlets.resolver.internal.SlingServletResolver.handleError(SlingServletResolver.java:750)
 at
org.apache.sling.servlets.resolver.internal.SlingServletResolver.handleError(SlingServletResolver.java:463)
at
org.apache.sling.engine.impl.SlingHttpServletResponseImpl.sendError(SlingHttpServletResponseImpl.java:253)
 at
org.sakaiproject.nakamura.docproxy.ExternalDocumentProxyServlet.doGet(ExternalDocumentProxyServlet.java:87)
at
org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:268)
 at
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:344)
...
Caused by: org.apache.sling.api.SlingException:
 at
org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInternal(JspServletWrapper.java:560)
at
org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:496)
 at
org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:446)
...
Caused by: java.lang.IllegalStateException
 at
org.apache.sling.scripting.jsp.jasper.runtime.ServletResponseWrapperInclude.getOutputStream(ServletResponseWrapperInclude.java:63)
at
org.apache.sling.engine.impl.adapter.SlingServletResponseAdapter.getOutputStream(SlingServletResponseAdapter.java:174)
 at
org.apache.sling.servlets.get.impl.helpers.StreamRendererServlet.streamResource(StreamRendererServlet.java:187)
at
org.apache.sling.servlets.get.impl.helpers.StreamRendererServlet.doGet(StreamRendererServlet.java:121)
 at
org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:268)
...

On Thu, Sep 16, 2010 at 11:22 AM, Carsten Ziegeler <[email protected]>wrote:

> Carl Hall  wrote
> > Hey Carsten,
> >
> > Sling and Java 6, yes.
> >
> > This code is in a regular ole OSGi component service that implements
> > org.apache.sling.api.resource.ResourceProvider.  We don't do any
> server-side
> > rendering; everything is pushed out as JSON (no JSPs, ESPs, or other
> *SPs)
> > for client-side rendering.
> >
> Ah ok, I was just asking because we had some problems with bundle
> updates and scripting - which are hopefully fixed now in latest Sling
> trunk. So this doesn't seem to be your problem :(
>
> Regards
> Carsten
>
> >
> > On Thu, Sep 16, 2010 at 11:08 AM, Carsten Ziegeler <[email protected]
> >wrote:
> >
> >> Hi Carl,
> >>
> >> it seems you're using Sling and I guess you're using Java 6.
> >> Is your code somewhere called from within a script like JSP etc.?
> >>
> >> Carsten
> >>
> >> Carl Hall  wrote
> >>> I tried adding the LogService to the class in question
> >> (ContentPoolProvider)
> >>> but still get an exception at the line noted below which can't be right
> >> as
> >>> the changed code is just a } at line 155.  Maybe this has more to do
> with
> >>> the class being stuck in memory somehow?
> >>>
> >>> On Thu, Sep 16, 2010 at 10:13 AM, Carl Hall <[email protected]>
> >> wrote:
> >>>
> >>>> I've only seen this in development as that's where I redeploy bundles
> >> most
> >>>> actively.  Should I change from using the static Logger creation
> method
> >> to
> >>>> using the OSGi LogService?
> >>>>
> >>>> I create my logger like so:
> >>>>
> >>>> private static final Logger LOGGER =
> >>>> LoggerFactory.getLogger(ContentPoolProvider.class);
> >>>>
> >>>> and use it like so:
> >>>>
> >>>>     if (LOGGER.isDebugEnabled()) {
> >>>>       LOGGER.debug("List Children [{}] ", parent.getPath());
> >>>>     }
> >>>>
> >>>> After reloading a few bundles (sometimes more, sometimes less), I'll
> get
> >>>> this stacktrace which renders then bundle useless until I restart the
> >>>> server:
> >>>>
> >>>> ERROR: JarContent: Unable to read bytes.
> >> (java.lang.IllegalStateException:
> >>>> zip file closed)
> >>>> java.lang.IllegalStateException: zip file closed
> >>>> at java.util.zip.ZipFile.ensureOpen(ZipFile.java:403)
> >>>> at java.util.zip.ZipFile.getEntry(ZipFile.java:148)
> >>>>  at java.util.jar.JarFile.getEntry(JarFile.java:208)
> >>>> at org.apache.felix.framework.util.JarFileX.getEntry(JarFileX.java:61)
> >>>>  at
> >>>>
> >>
> org.apache.felix.framework.cache.JarContent.getEntryAsBytes(JarContent.java:120)
> >>>> at
> >>>>
> >>
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.findClass(ModuleImpl.java:1781)
> >>>>  at
> >>>>
> >>
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:758)
> >>>> at
> org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61)
> >>>>  at
> >>>>
> >>
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
> >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> >>>>  at
> >>>>
> >>
> org.sakaiproject.nakamura.files.pool.ContentPoolProvider.listChildren(ContentPoolProvider.java:155)
> >>>> at
> >>>>
> >>
> org.apache.sling.jcr.resource.internal.helper.WrappedResourceProvider.listChildren(WrappedResourceProvider.java:65)
> >>>> ...
> >>>> 16.09.2010 09:55:34.579 *ERROR* [0:0:0:0:0:0:0:1 [1284645334569] GET
> >> /dev/
> >>>> HTTP/1.1] org.apache.sling.engine.impl.SlingMainServlet service:
> >> Uncaught
> >>>> Throwable java.lang.NoClassDefFoundError: org/slf4j/Logger
> >>>>  at
> >>>>
> >>
> org.sakaiproject.nakamura.files.pool.ContentPoolProvider.listChildren(ContentPoolProvider.java:155)
> >>>> at
> >>>>
> >>
> org.apache.sling.jcr.resource.internal.helper.WrappedResourceProvider.listChildren(WrappedResourceProvider.java:65)
> >>>> ...
> >>>> Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger
> >>>> at
> >>>>
> >>
> org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:814)
> >>>>  at
> org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61)
> >>>> at
> >>>>
> >>
> org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1733)
> >>>>  at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> >>>> ... 30 more
> >>>>
> >>>
> >>
> >>
> >> --
> >> Carsten Ziegeler
> >> [email protected]
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >
>
>
> --
> Carsten Ziegeler
> [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to