https://issues.apache.org/bugzilla/show_bug.cgi?id=50035
Summary: StandardContext.getDocBase() returns incorrect values
after the context with antiResourceLocking="true"
failed to start
Product: Tomcat 6
Version: 6.0.26
Platform: PC
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
AssignedTo: [email protected]
ReportedBy: [email protected]
To reproduce:
1) install clean tomcat
2) create /conf/Catalina/localhost/test1.xml with
<Context antiResourceLocking="true"></Context>
3) install a sample application to /webapps/test1 that for instance
has a context listener that throws an exception during start of the
application
web.xml:
<listener>
<listener-class>org.acme.AlwaysFailContextListener</listener-class>
</listener>
AlwaysFailContextListener.java:
public class AlwaysFailContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
throw new RuntimeException("We want this application to fail on
start");
}
}
4) start tomcat
Tomcat will
- copy the application resource to /temp/0-test1 directory
- tries to start the app and fail
- tries to remove /temp/0-test1 directory
after that if you do something like:
StandardContext sc = (StandardContext)
service.findChildren("localhost").findChildren("test1")
sc.getDocBase() will return "c:/tomcat/temp/0-test1" directory,
but not "test1" as it was and should.
(I'm coding a monitoring manager application for tomcat, that is used in our
company. Just in case you wondering how I found this bug)
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]