You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2004/10/05 17:17:34 UTC

DO NOT REPLY [Bug 26372] - java.lang.ThreadDeath when trying to reload an application

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=26372>.
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=26372

java.lang.ThreadDeath when trying to reload an application

allistair.crossley@qas.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|java.lang.ThreadDeath when  |java.lang.ThreadDeath when
                   |trwaing to reload an        |trying to reload an
                   |application                 |application
            Version|5.0.16                      |5.0.25



------- Additional Comments From allistair.crossley@qas.com  2004-10-05 15:17 -------
OK, 

Can confirm that contextDestroyed is called. Discovered LogManager.shutdown(); 
is working because a logging statement afterwards does not materialize but one 
before it is fine. System.out.println was used instead. Here is the relevant 
logging

INFO: Reloading this Context has started
before Renewals Application Destroyed
one Renewals Application Destroyed
two Renewals Application Destroyed
after Renewals Application Destroyed
log4j:WARN No appenders could be found for logger 
(org.apache.struts.util.PropertyMessageResources).
log4j:WARN Please initialize the log4j system properly.
05-Oct-2004 16:13:38 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already 
(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)
05-Oct-2004 16:13:38 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already 
(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)
05-Oct-2004 16:13:38 org.apache.commons.modeler.Registry registerComponent
SEVERE: Null component 
Catalina:type=JspMonitor,WebModule=//localhost/,J2EEApplication=none,J2EEServer=
none
05-Oct-2004 16:13:38 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor 
processChildren
SEVERE: Exception invoking periodic operation: 
java.lang.ThreadDeath
	at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1229)
	at org.apache.catalina.loader.WebappClassLoader.loadClass
(WebappClassLoader.java:1189)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:241)
	at org.apache.log4j.Category.forcedLog(Category.java:431)
	at org.apache.log4j.Category.log(Category.java:966)
	at org.apache.commons.logging.impl.Log4JLogger.error
(Log4JLogger.java:195)
	at org.apache.catalina.session.StandardManager.start
(StandardManager.java:659)
	at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4272)
	at org.apache.catalina.core.StandardContext.reload
(StandardContext.java:3021)
	at org.apache.catalina.core.StandardContext.backgroundProcess
(StandardContext.java:4629)
	at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChild
ren(ContainerBase.java:1619)
	at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChild
ren(ContainerBase.java:1628)
	at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChild
ren(ContainerBase.java:1628)
	at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run
(ContainerBase.java:1608)
	at java.lang.Thread.run(Unknown Source)

And here is the log4j.properties file.

################################################################################
#
# Renewals Log4j Configuration
#
################################################################################

################################################################################
#### Root
################################################################################

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d - %5p (%C:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/jakarta-tomcat-5.0.25/logs/root.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %5p (%C:%L) - %m%n

log4j.rootCategory=error, R

################################################################################
#### Named
################################################################################

log4j.logger.Application=debug, ApplicationA
log4j.appender.ApplicationA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ApplicationA.Threshold=DEBUG
log4j.appender.ApplicationA.ImmediateFlush=true
log4j.appender.ApplicationA.File=c:/jakarta-tomcat-5.0.25/logs/sys-
application.log
log4j.appender.ApplicationA.Append=true
log4j.appender.ApplicationA.layout=org.apache.log4j.PatternLayout
log4j.appender.ApplicationA.layout.ConversionPattern=%d - %5p (%C:%L) - %m%n
log4j.appender.ApplicationA.DatePattern='.'yyyy-MM-dd

log4j.logger.Errors=debug, ErrorsA
log4j.appender.ErrorsA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorsA.Threshold=DEBUG
log4j.appender.ErrorsA.ImmediateFlush=true
log4j.appender.ErrorsA.File=c:/jakarta-tomcat-5.0.25/logs/sys-errors.log
log4j.appender.ErrorsA.Append=true
log4j.appender.ErrorsA.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorsA.layout.ConversionPattern=%d - %5p (%C:%L) - %m%n
log4j.appender.ErrorsA.DatePattern='.'yyyy-MM-dd

################################################################################
#### Classes
################################################################################

#log4j.logger.net.sf.hibernate=debug, ApplicationA
#log4j.logger.net.sf.hibernate.type=debug, ApplicationA
#log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug, ApplicationA

################################################################################

log4j.logger.org.apache.struts=debug, R

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org