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

