You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/03/08 15:23:50 UTC
DO NOT REPLY [Bug 6989] New: -
Unable to read tld file during parallel JSP compilation
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6989>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6989
Unable to read tld file during parallel JSP compilation
Summary: Unable to read tld file during parallel JSP compilation
Product: Tomcat 3
Version: 3.2.3 Final
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Major
Priority: Other
Component: Jasper
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: thomas.maier@sdm.de
In our production environment we observe a strange exception during JSP
compilation, which after our interpretation is due to a bug in Tomcat.
Our JSP contain these statements:
<%
%><%@taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic"%><%
%><%@taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%>
Normally, this works, i.e. the tld files are found, the JSP are compiled, and
the application works fine. However from time to time we get the following kind
of exception if we start Tomcat and try to surf our site:
org.apache.jasper.compiler.CompileException:
/var/coremedia-3.2.7/de/generator/coremedia/templates/Redesign/vision/10hheaders
ssl.jsp(33,2)
Unable to open taglibrary /WEB-INF/tld/struts-bean.tld : null
(The full stack trace will be given below.) Note that we get this exception
without modifying our application. Especially the tld files and the jar files
with the tag handler classes are unmodified and have the same permissions as
when the application works without problems. The error is difficult to
reproduce, but occurs often enough to be a real problem for the production
environment.
We assume that the problem has something to do with parallel requests beeing
processed in Tomcat during JSP compilation for the following reasons:
- We have quite a lot of web servers for the site (something about 50
machines), with different hardware architectures, but all running Sun Solaris 8
as operating system. Some people claim to have observed that the problem occurs
significantly more often on multiprocessor machines.
- Currently we help ourselves by calling every JSP once with a script before
exposing a server to real user requests. The script requests the pages
sequentially so that the JSP are compiled without parallel load on the server.
This does not really solve the problem, but makes it to occur with less
probability.
We have observed the exception with Tomcat 3.2.2 as well as with Tomcat 3.2.3.
We use a Sun JDK 1.3.x on Sun Solaris 8 with different hardware. Many machines
have more than one CPU.
Here follows an example for the exception with full stack trace. It was observed
with Tomcat 3.2.2:
org.apache.jasper.compiler.CompileException:
/var/coremedia-3.2.7/de/generator/coremedia/templates/Redesign/vision/10hheaders
ssl.jsp(33,2)
Unable to open taglibrary /WEB-INF/tld/struts-bean.tld : null
at
org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventLi
stener.java:713)
at
org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener
.java:116)
at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:215)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:833)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:833)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:833)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:833)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:833)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:209)
at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
at
org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServle
t.java:258)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:2
68)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherImpl.j
ava:222)
at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.jav
a:162)
at
hox.corem.servlets.GeneratorServlet.service(GeneratorServlet.java:431)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConne
ctionHandler.java:213)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>