Summary: | Infrequent StringIndexOutOfBoundsException in WebappClassLoader | ||
---|---|---|---|
Product: | Tomcat 6 | Reporter: | bratapfel81 |
Component: | Catalina | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | 6.0.24 | ||
Target Milestone: | default | ||
Hardware: | PC | ||
OS: | Windows Server 2003 |
Description
bratapfel81
2010-06-22 07:24:50 UTC
I may note that the exception occurs after tomcat start up has finished. It is very strange. The code in RequestUtil.normalize() is 126 // Resolve occurrences of "//" in the normalized path 127 while (true) { 128 int index = normalized.indexOf("//"); 129 if (index < 0) 130 break; 131 normalized = normalized.substring(0, index) + 132 normalized.substring(index + 1); 133 } I do not see how it can break. 1. What exact version of Java are you using? Is it 32-bit, or 64-bit? 2. What exact version of Tomcat 5.5.x were you using before? 3. Is this error reproducible, or it happens randomly? 4. Do you have any clue about what class it tried to load? Note, that it is possible to turn on debug logging in WebappClassLoader class, by adding the following line to conf/logging.properties: org.apache.catalina.loader.WebappClassLoader.level=FINE The code that fails is triggered only if the class file path contains a '//'. Having a double slash there is unusual. So maybe it is not Tomcat version change that triggers this, but how you web application is deployed. By the way, Tomcat 6.0.27 is already available for testing. See a [VOTE] thread on dev@ list. I've looked at this and this is looking very much like a JVM bug but even then I can't see how it is being triggered. See thread "Webapp reloading issue and intermittent 404 errors" on users@. http://markmail.org/message/xsrc4ek3bhkhsxi4 http://marc.info/?t=127773158900004&w=2 |