https://issues.apache.org/bugzilla/show_bug.cgi?id=37084
Konstantin Kolinko <knst.koli...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|regression |normal Status|RESOLVED |REOPENED Resolution|WORKSFORME | --- Comment #10 from Konstantin Kolinko <knst.koli...@gmail.com> 2009-01-03 08:31:39 PST --- Though I am yet failing to reproduce the issue in current tc6.0.x, I have elaborated a theory why it occurs. 1. The exception is caused by creating JasperLoader instance with a null baseUrl and trying to use it to load a class, in JspCompilationContext#getJspLoader(). Usually that does not occur, because JspCompilationContext#createOutputDir() is called first. 2. During compilation the #createOutputDir() call does occur: a) in Compiler#isOutDated() when it checks for the full name of the java source / class file, b) later, when Compiler#generateJava() explicitly calls JspCompilationContext#checkOutputDir(). Thus, the compilation is not the route that leads to the preliminary creation of JasperLoader instance. 3. I think that the issue is caused when JspServletWrapper#getDependants() gets called earlier than the compilation of the class occurs. The events will occur as following: 1) JspServletWrapper#getDependants() calls JspCompilationContext#load() that results in #getJspLoader() call and creation of JasperLoader instance. 2) The JasperLoader instance is unusable and this call results in an exception. Nevertheless the created JasperLoader instance is remembered. 3) JspServletWrapper#getDependants() catches the exception, but silently swallows it. 4) The program continues running but breaks later. Thus, the question is what can cause the early #getDependants() call on a fresh compilation context. I am not able to reproduce it. Maybe there should be some interrelated tag/jsp files (OP mentioned: "Seems to be related to the use of a custom taglib in a JSP that is included by another JSP", but that is not sufficient). Also, the known workaround for the issue (disabling caching in JspC) should somehow fit into the picture. Nevertheless, I am proposing a patch to TC 6.0, that I attached above. A side effect is that it mkdirs the output directory, but I think that must be OK. -- 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org