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: dev@tomcat.apache.org
          Reporter: gregh3...@gmail.com

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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to