Pid said on 29.6.2010 13:36:
On 29/06/2010 11:51, Tomislav Petrović wrote:
Tomislav Petrović said on 28.6.2010 15:46:
Caldarale, Charles R said on 28.6.2010 15:32:
Seems to me it is related to web app reloading but this
is my blind guess.

What makes you suspicious that reloading is going on?


Just my VERY BIG AND BLIND guess based on classes involved in stack trace.


This is my "dissection" of problematic stacktrace using my limited Java 
knowledge and Tomcat sources.
Stacktrace written in "reverse" way to follow code flow more easily.

        at java.lang.Thread.run(Thread.java:619)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
        at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)

Background thread which periodically calls "backgroundProcess" on container and 
its children, I believe it is
used to determine wether app needs to be reloaded (make sense to me that 
something periodically needs to check
wether app needs to be reloaded).

        at 
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
        at 
org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:398)
        at 
org.apache.catalina.loader.WebappLoader.modified(WebappLoader.java:477)
        at 
org.apache.catalina.loader.WebappClassLoader.modified(WebappClassLoader.java:822)
        
"modified" is called in order to find if "one or more classes or resources been 
modified so that a reload is appropriate?",
at least that is what the JavaDoc comment says.

        at 
org.apache.naming.resources.ProxyDirContext.getAttributes(ProxyDirContext.java:840)
        at 
org.apache.naming.resources.BaseDirContext.getAttributes(BaseDirContext.java:747)
        at 
org.apache.naming.resources.FileDirContext.getAttributes(FileDirContext.java:429)

Just forwards call to more appropriate classes up to here.

        at 
org.apache.naming.resources.FileDirContext.file(FileDirContext.java:811)

Here a File object of "Return a File object representing the specified 
normalized
context-relative path if it exists and is readable" is created, however name 
given to it
chokes up "normalize", it seems.

        at 
org.apache.naming.resources.FileDirContext.normalize(FileDirContext.java:771)
        at org.apache.catalina.util.RequestUtil.normalize(RequestUtil.java:131)

This is problematic code (part of normalize method):

        // Resolve occurrences of "//" in the normalized path
        while (true) {
                int index = normalized.indexOf("//");
                if (index<  0)
                        break;
                normalized = normalized.substring(0, index) +
                        normalized.substring(index + 1);
        }

Seems to me code assumes that if it founds "//" in a string then this "//" is 
not at the
end of the string (has to have something behind it). In general case this 
sounds like a
bug to me (however I am not expert here and don't know from where filename 
comes and how
it should be written).
So if anyone can tell me form where a name (filename) given to normalize comes 
(I assume
it is something in classpath, configuration, path, or....?). So I can find it 
and remove
(probably extra // or \) to solve my problem.

And after I know what caused this, should this be reported as bug into Bugzilla?

Not unless someone here says so.  We haven't eliminated the possibility
of errors in the config files yet.



OK, which configuration (classpath, windows path, what?) is in question here and has, possible extra, // at the end of string? Which parameter should I hunt for?

--
Tomy <t.petro...@inet.hr>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to