Re: Tomcat 5.5.15 Context Reloading issue
I'm seeing very similar issues on reloading since 5.5.12. I posted details on the 3rd Feb, but nobody seemed that interested... http://marc.theaimsgroup.com/?l=tomcat-userm=113896054222793w=2 Question: what has changed in how log4 assets are used internally since 5.5.12? It looks like something is assuming a log4j asset is present, and doesn't like the log4j configuration being changed during a context reload. jon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5.5.15 Context Reloading issue
On 2/18/06, Jon Saville [EMAIL PROTECTED] wrote: I'm seeing very similar issues on reloading since 5.5.12. I posted details on the 3rd Feb, but nobody seemed that interested... http://marc.theaimsgroup.com/?l=tomcat-userm=113896054222793w=2 Question: what has changed in how log4 assets are used internally since 5.5.12? It looks like something is assuming a log4j asset is present, and doesn't like the log4j configuration being changed during a context reload. I added some code to null out certain instances, and your shared log4j setup doesn't like it (at least it's a likely possibility). Try to use a JNDI based log4j setup (or similar, using one logging namespace for all webapps is not clean), or don't share it. -- x Rémy Maucherat Developer Consultant JBoss Group (Europe) SàRL x - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 5.5.15 Context Reloading issue
Looks like a log4j error, not Tomcat error. What does your log4j.properties file look like? Filip Joey Geiger wrote: I've done some further searching, and noticed that tomcat was also dumping information into stdout. There is another log trace that might be helpful if anyone else recognizes the problem. I'm of the belief that this is a bug of some sort, but I don't know who to pass the information along to. Also, I tried adding information into the context docbase, and it had no effect on the problem. I also removed all log4j files that I had added to the configuration. Again, this wasn't happening with tomcat 5.5.12, but started after I began to use 5.5.15. Thanks. log4j:ERROR Error occured while converting date. java.lang.NullPointerException at java.lang.System.arraycopy(Native Method) at java.lang.AbstractStringBuilder.getChars(AbstractStringBuilder.java:331) at java.lang.StringBuffer.getChars(StringBuffer.java:202) at org.apache.log4j.helpers.AbsoluteTimeDateFormat.format(AbsoluteTimeDateForma t.java:117) at java.text.DateFormat.format(DateFormat.java:314) at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternP arser.java:444) at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64) at org.apache.log4j.PatternLayout.format(PatternLayout.java:503) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(Append erAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133) at org.apache.catalina.core.ApplicationContext.log(ApplicationContext.java:638) at org.apache.catalina.core.ApplicationContextFacade.log(ApplicationContextFaca de.java:249) at org.springframework.web.context.ContextLoader.initWebApplicationContext(Cont extLoader.java:176) at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServl et.java:83) at javax.servlet.GenericServlet.init(GenericServlet.java:211) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11 05) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2988) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java: 403) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1276) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1568) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1557) at java.lang.Thread.run(Thread.java:595) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 5.5.15 Context Reloading issue
Well, I discovered the cause of the bug, and I can now stop it from happening, but I'm unable to *fix* the problem. The top logging statement works properly, while the commented one does not. The NullPointer on the date occurs because a date is not being sent to the logger when the context is reloaded. The date is sent on a startup. Tomcat can survive this error during reload. The other error (NoClassDefFoundError:VectorWriter) is an issue with the line number being sent to the logger, which causes the reload to completely fail. log4j.appender.ap.layout.ConversionPattern=%p %t %c - %m%n #log4j.appender.ap.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n Log output: Initial Load: 11:42:20,781 INFO org.apache.catalina.core.ContainerBase.[Catalina].[hostname.com].[/] - Loading Spring root WebApplicationContext Reload: INFO org.apache.catalina.core.ContainerBase.[Catalina].[hostname.com].[/] - Loading Spring root WebApplicationContext -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 07, 2006 9:15 AM To: Tomcat Users List Subject: RE: Tomcat 5.5.15 Context Reloading issue From: Joey Geiger [mailto:[EMAIL PROTECTED] Subject: Tomcat 5.5.15 Context Reloading issue The host is configured as: Host name=application.com appBase=C:\web\application unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false reloadable=true Context path= docBase= debug=1 reloadable=true Manager pathname= / /Host An empty docBase path is rather odd. The appBase parameter is supposed to point to the directory under which one or more application directories or war files are stored; docBase should specify the directory or war for the given application. Perhaps you should try setting appBase to C:\web and docBase to application. I've tried to add log4j 1.2.9 to both the common/lib and server/lib with no success. Not at the same time, I hope. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 5.5.15 Context Reloading issue
I've done some further searching, and noticed that tomcat was also dumping information into stdout. There is another log trace that might be helpful if anyone else recognizes the problem. I'm of the belief that this is a bug of some sort, but I don't know who to pass the information along to. Also, I tried adding information into the context docbase, and it had no effect on the problem. I also removed all log4j files that I had added to the configuration. Again, this wasn't happening with tomcat 5.5.12, but started after I began to use 5.5.15. Thanks. log4j:ERROR Error occured while converting date. java.lang.NullPointerException at java.lang.System.arraycopy(Native Method) at java.lang.AbstractStringBuilder.getChars(AbstractStringBuilder.java:331) at java.lang.StringBuffer.getChars(StringBuffer.java:202) at org.apache.log4j.helpers.AbsoluteTimeDateFormat.format(AbsoluteTimeDateForma t.java:117) at java.text.DateFormat.format(DateFormat.java:314) at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternP arser.java:444) at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64) at org.apache.log4j.PatternLayout.format(PatternLayout.java:503) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301) at org.apache.log4j.WriterAppender.append(WriterAppender.java:159) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(Append erAttachableImpl.java:65) at org.apache.log4j.Category.callAppenders(Category.java:203) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133) at org.apache.catalina.core.ApplicationContext.log(ApplicationContext.java:638) at org.apache.catalina.core.ApplicationContextFacade.log(ApplicationContextFaca de.java:249) at org.springframework.web.context.ContextLoader.initWebApplicationContext(Cont extLoader.java:176) at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServl et.java:83) at javax.servlet.GenericServlet.init(GenericServlet.java:211) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11 05) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2988) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java: 403) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1276) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1568) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1557) at java.lang.Thread.run(Thread.java:595)
Tomcat 5.5.15 Context Reloading issue
I've run into an issue with Tomcat 5.5.15 and the Context reloading. When I change a file in my application, I have the context set to automatically restart. This was working fine with 5.5.12, but there seems to be an issue after I upgraded to 5.5.15. The host is configured as: Host name=application.com appBase=C:\web\application unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false reloadable=true Context path= docBase= debug=1 reloadable=true Manager pathname= / /Host I've tried to add log4j 1.2.9 to both the common/lib and server/lib with no success. If I stop the server and restart, it works properly. Any help you can provide would be appreciated. Thank you. My stack trace is: INFO: Illegal access: this web application instance has been stopped already. Could not load org.apache.log4j.spi.VectorWriter. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact. java.lang.IllegalStateException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1238) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1198) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at org.apache.log4j.spi.LoggingEvent.init(LoggingEvent.java:154) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:193) at org.apache.catalina.core.ApplicationContext.log(ApplicationContext.java:667) at org.apache.catalina.core.ApplicationContextFacade.log(ApplicationContextFaca de.java:269) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11 41) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2988) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java: 403) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1276) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1568) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1557) at java.lang.Thread.run(Thread.java:595) Feb 6, 2006 4:04:58 PM org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor processChildren SEVERE: Exception invoking periodic operation: java.lang.NoClassDefFoundError: org/apache/log4j/spi/VectorWriter at org.apache.log4j.spi.LoggingEvent.init(LoggingEvent.java:154) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:193) at org.apache.catalina.core.ApplicationContext.log(ApplicationContext.java:667) at org.apache.catalina.core.ApplicationContextFacade.log(ApplicationContextFaca de.java:269) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:11 41) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java: 3915) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4176) at org.apache.catalina.core.StandardContext.reload(StandardContext.java:2988) at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java: 403) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1276) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1568) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC hildren(ContainerBase.java:1577) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont ainerBase.java:1557) at
RE: Tomcat 5.5.15 Context Reloading issue
From: Joey Geiger [mailto:[EMAIL PROTECTED] Subject: Tomcat 5.5.15 Context Reloading issue The host is configured as: Host name=application.com appBase=C:\web\application unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false reloadable=true Context path= docBase= debug=1 reloadable=true Manager pathname= / /Host An empty docBase path is rather odd. The appBase parameter is supposed to point to the directory under which one or more application directories or war files are stored; docBase should specify the directory or war for the given application. Perhaps you should try setting appBase to C:\web and docBase to application. I've tried to add log4j 1.2.9 to both the common/lib and server/lib with no success. Not at the same time, I hope. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]