Hi all,

I am running Tomcat 3.2.3 on NT/IIS with the Jikes compiler, and noticed if
the server is reset (i.e. power glitch) without a normal shutdown, the work
directory seems to get corrupted. The symptoms are that the JSPs can't be
compiled until the associated class files (that otherwise compile fine) are
deleted from the work directory.

I couldn't find any discussion on this problem in the archives or the web,
except for the possibly related discussion at:

http://www.javaclue.org/tomcat/patch32b6/letspatch.html#step5

I was surprised to see that patch (against 3.2.1) hadn't been applied to
3.2.3, but it didn't work anyway.

In case it was Jikes, I tried manually recompiling the JSP source in the
work directory, and that worked fine. (The JSP source gets regenerated OK...
it just won't compile).

Any advice/ideas would be greatly appreciated!

The jasper.log file gives:
2001-07-26 11:33:06 - JspEngine --> /contextAdmin/contextAdmin.jsp
2001-07-26 11:33:06 -        ServletPath: /contextAdmin/contextAdmin.jsp
2001-07-26 11:33:06 -           PathInfo: null
2001-07-26 11:33:06 -           RealPath:
C:\jakarta-tomcat\webapps\admin\contextAdmin\contextAdmin.jsp
2001-07-26 11:33:06 -         RequestURI:
/admin/contextAdmin/contextAdmin.jsp
2001-07-26 11:33:06 -        QueryString:
submit=View+All+Contexts&addContextPath=&addContextDocBase=&removeContextNam
e=
2001-07-26 11:33:06 -     Request Params: 
2001-07-26 11:33:06 -            removeContextName = 
2001-07-26 11:33:06 -            addContextPath = 
2001-07-26 11:33:06 -            submit = View All Contexts
2001-07-26 11:33:06 -            addContextDocBase = 
2001-07-26 11:33:06 - Classpath according to the Servlet Engine is:
C:\jakarta-tomcat\webapps\admin\WEB-INF\classes
2001-07-26 11:33:06 - Package name is: contextAdmin
2001-07-26 11:33:06 - Class file name is:
C:\jakarta-tomcat\work\localhost_8080%2Fadmin\_0002fcontextAdmin_0002fcontex
tAdmin_0002ejspcontextAdmin.class

The tomcat.log file gives:
2001-07-26 11:33:06 - Ctx( /admin ): JasperException: R( /admin +
/contextAdmin/contextAdmin.jsp + null) Unable to compile class for JSP

And the browser response is:
Root cause: 
java.lang.ArrayIndexOutOfBoundsException
        at
org.apache.jasper.compiler.ClassName.processClassData(ClassName.java:89)
        at
org.apache.jasper.compiler.ClassName.getClassName(ClassName.java:191)
        at
org.apache.jasper.compiler.JspCompiler.getRealClassName(JspCompiler.java:136
)
        at
org.apache.jasper.compiler.JspCompiler.getClassName(JspCompiler.java:150)
        at
org.apache.jasper.compiler.Compiler.computeServletClassName(Compiler.java:31
2)
        at
org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:615)
        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(JspSe
rvlet.java:258)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:268)
        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.core.ContextManager.internalService(ContextManager.java:81
2)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.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(Unknown Source)

---
Ken Grigg
mailto:[EMAIL PROTECTED]

Reply via email to