Uploaded image for project: 'SLF4J'
  1. SLF4J
  2. SLF4J-133

NPE when logging with SLF4JLocationAwareLog after Serialization

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.5.x
    • Fix Version/s: None
    • Component/s: Implementations
    • Labels:
      None
    • Environment:

      Operating System: Windows NT
      Platform: PC

      Description

      We're using jcl-over-slf4j. When we Serialize an instance of SLF4JLocationAwareLog any subsequent calls to SLF4JLocationAwareLog throw a NPE.

      Would it be possible to improve the Serialization implementation of SLF4JLocationAwareLog either retrieve the LocationAwareLogger on readResolve() or simply check for a null logger instead of throwing an NPE?

      The following is a stacktrace I get when using jcl-over-slf4j with Spring:

      [7/28/09 0:14:32:226 MDT] 0000005a SystemErr R java.lang.NullPointerException
      [7/28/09 0:14:32:226 MDT] 0000005a SystemErr R at org.apache.commons.logging.impl.SLF4JLocationAwareLog.isDebugEnabled(SLF4JLocationAwareLog.java:59)
      [7/28/09 0:14:32:226 MDT] 0000005a SystemErr R at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:201)
      [7/28/09 0:14:32:226 MDT] 0000005a SystemErr R at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:182)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:160)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:140)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at org.springframework.beans.factory.support.DisposableBeanAdapter.run(DisposableBeanAdapter.java:134)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at org.springframework.web.context.request.ServletRequestAttributes$DestructionCallbackBindingListener.valueUnbound(ServletRequestAttributes.java:269)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionData.processListeners(SessionData.java:924)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionData.checkSwappableListeners(SessionData.java:564)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.DatabaseSessionData.checkSwappableListeners(DatabaseSessionData.java:331)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionData.sessionUnbound(SessionData.java:997)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionContext.notifySessionInvalidated(SessionContext.java:1100)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionData.invalidate(SessionData.java:621)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.SessionData.internalInvalidate(SessionData.java:586)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.DRSSessionData.internalInvalidate(DRSSessionData.java:252)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.webcontainer.httpsession.HttpSessDRSCacheMsgListener.response(HttpSessDRSCacheMsgListener.java:524)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.drs.stack.DRSClientCallback.processRcvMessage(DRSClientCallback.java:393)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.drs.stack.DRSStack.processRcvMessage(DRSStack.java:295)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.drs.DRSDomain.messageReceived(DRSDomain.java:536)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.drs.ha.DRSAgentClassEvents$1.run(DRSAgentClassEvents.java:714)
      [7/28/09 0:14:32:227 MDT] 0000005a SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)

        Attachments

          Activity

            People

            • Assignee:
              slf4j-dev SLF4J developers list
              Reporter:
              youngm@gmail.com Mike Youngstrom
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: