DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=41939>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=41939 Summary: NPE in Logging due to classloading Product: Tomcat 5 Version: 5.5.20 Platform: Other OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: tomcat-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] Actually this Bug happens also in 5.5.23. It does not happen in 5.5.9. Ok, we have a webapplication that contains each and every lib it will ever require. Due to some prepackaged JAR-files it even contains log4j and commons-logging twice. One in WEB-INF/lib and one inside a jar in WEB-INF/lib. There is a commons-logging (1.0.4) in commons/lib of tomcat, but not log4j. We use Anti-Jar|Resource-Locking on Windows. When deploying an application using the manager or the ant-tasks, everything is fine. Also removing and deploying a new version works. If we reload the application, it will refuse to reload with an NPE. I tracked the application source in the debugger and trapped the NPE. I have never seen this, but this is the fact: I can see the complete call stack and inside Log4j the function converter.format is called with a valid reference to a StringBuffer which suddenly becomes "null" in the static method PatternConverter.spacePad()! I can only explain this with the hierarchical Classloader mixing classes and beeing unable to transport the reference to the StringBuffer from the instance that is loaded in another class to the Classloader carriing the static PatternConverter class. I could "solve" this issue by putting the log4j.jar in the common/lib directory and restart the server. If I remove it from there or if I remove it completely from my application (also from jar files in my application) it works. Best regards, Thomas Stacktrace follows: Exception on reload in /manager [23 Mrz 22:01:59:139][INFO ][closing any session, if still open ][de.srs.pen.vwopenday2006.StrutsServlet] [23 Mrz 22:01:59:139][DEBUG][closeSessionSilent on sid 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][Initializing Thread Local for refcounting on 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][closing session, removing thread locals ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][Resetting refcounter on session 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][reset counter 0 to 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][checking for leftover transaction ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][Resetting refcounter on Transaction 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][Initializing Thread Local for refcounting on 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][DEBUG][reset counter 0 to 0 ][de.srs.pen.dao.DAOSessionFactory] [23 Mrz 22:01:59:139][INFO ][Destroy complete ][de.srs.pen.vwopenday2006.StrutsServlet] [23 Mrz 22:01:59:139][DEBUG][JspServlet.destroy() ][org.apache.jasper.servlet.JspServlet] [23 Mrz 22:01:59:139][DEBUG][Stopping filters ][org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/SurveyDay]] [23 Mrz 22:01:59:139][DEBUG][Stopping ][org.apache.catalina.session.ManagerBase] [23 Mrz 22:01:59:139][DEBUG][Unloading persisted sessions ][org.apache.catalina.session.ManagerBase] [23 Mrz 22:01:59:139][DEBUG][Saving persisted sessions to SESSIONS.ser ][org.apache.catalina.session.ManagerBase] [23 Mrz 22:01:59:139][DEBUG][Unloading 0 sessions ][org.apache.catalina.session.ManagerBase] [23 Mrz 22:01:59:139][DEBUG][Expiring 0 persisted sessions ][org.apache.catalina.session.ManagerBase] [23 Mrz 22:01:59:139][DEBUG][Unloading complete ][org.apache.catalina.session.ManagerBase] 23.03.2007 22:02:00 org.apache.commons.modeler.Registry registerComponent SCHWERWIEGEND: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/SurveyDay,J2EEApplication=none,J2EEServer=none 23.03.2007 22:02:00 org.apache.catalina.core.ApplicationContext log SCHWERWIEGEND: HTMLManager: ManagerServlet.reload[/SurveyDay] java.lang.NullPointerException at org.apache.log4j.helpers.PatternConverter.spacePad(PatternConverter.java:92) at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:71) at org.apache.log4j.PatternLayout.format(PatternLayout.java:495) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:292) at org.apache.log4j.WriterAppender.append(WriterAppender.java:150) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57) at org.apache.log4j.Category.callAppenders(Category.java:187) at org.apache.log4j.Category.forcedLog(Category.java:372) at org.apache.log4j.Category.log(Category.java:864) at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:110) at org.apache.catalina.session.ManagerBase.init(ManagerBase.java:723) at org.apache.catalina.session.StandardManager.start(StandardManager.java:619) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4166) at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3025) at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:907) at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:488) at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:99) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Unknown Source) 23.03.2007 22:02:00 org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: list: Listing contexts for virtual host 'localhost' -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]