https://bz.apache.org/bugzilla/show_bug.cgi?id=57823
Bug ID: 57823
Summary: Server hangs if there is a colon on the start of the
class path
Product: Tomcat 8
Version: 8.0.21
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Catalina
Assignee: [email protected]
Reporter: [email protected]
I have a startup in /etc/rc.d/init.d script that uses the daemon eg:
daemon --user $tomcatuser --pidfile=$pidfile $command start
The server was hanging when starting up. I traced it
org.apache.catalina.startup.ContextConfig.java
..
protected void processAnnotationsUrl(URL url, WebXml fragment,
boolean handlesTypesOnly) {
if (url == null) {
// Nothing to do.
return;
} else if ("jar".equals(url.getProtocol())) {
System.out.println(url.toExternalForm());
processAnnotationsJar(url, fragment, handlesTypesOnly);
} else if ("file".equals(url.getProtocol())) {
try {
System.out.println(url.toExternalForm());
processAnnotationsFile(
new File(url.toURI()), fragment, handlesTypesOnly);
} catch (URISyntaxException e) {
log.error(sm.getString("contextConfig.fileUrl", url), e);
}
} else {
log.error(sm.getString("contextConfig.unknownUrlProtocol",
url.getProtocol(), url));
}
}
Where it would hang trying to process this line file:/
file:/opt/apache-tomcat/apache-tomcat-8.0.21/lib/
jar:file:/opt/apache-tomcat/apache-tomcat-8.0.21/lib/mysql-connector-java-5.1.34.jar!/
file:/
The file:/ seems to be from a :/ (colon) on the class path, and the combination
of running it from /etc/rc.d/init.d makes it not work.
Not working
-classpath
:/opt/apache-tomcat/apache-tomcat-8.0.21/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.21/bin/tomcat-juli.jar
Working
-classpath
/opt/apache-tomcat/apache-tomcat-8.0.21/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-8.0.21/bin/tomcat-juli.jar
I guess we need to check for file:/ some where in the processAnnotationsUrl
procesing so we do not scan the whole server.
Cheers Greg
--
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]