There are two symptoms to the problem.
- The JSP file compiles, but it does not compile correctly. It fails at
runtime:
- java.lang.VerifyError: (class: xictool/jsp/xiccmt/ucstaticfiles
/_UCStaticFilesDynamicTreeContentFile_jsp_0, method: _jspService
signature: (Ljavax/servlet/http/HttpServletRequest;
Ljavax/servlet/http/HttpServletResponse;)V) Incompatible type for getting
or setting field
- [Servlet Error]-[JSP 1.1 Processor]:
com.ibm.servlet.engine.webapp.WebAppErrorReport: _login_jsp_0
(Illegal Class name "ServerSocket.cla")
- Compilation actually fails:
An exception has occurred in the compiler (1.3.1_05). Please file a
bug at the Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi).
Include your program and the following diagnostic in your report.
java.lang.NegativeArraySizeException
at com.sun.tools.javac.v8.util.Convert.utf2string
at com.sun.tools.javac.v8.util.Name.toString
at java.lang.String.valueOf
at java.lang.StringBuffer.append
at com.sun.tools.javac.v8.util.Log.printError
at com.sun.tools.javac.v8.util.Log.error
at com.sun.tools.javac.v8.util.Log.error
at com.sun.tools.javac.v8.parser.Parser.syntaxError
at com.sun.tools.javac.v8.parser.Parser.syntaxError
at com.sun.tools.javac.v8.parser.Parser.classInterfaceDeclaration
at com.sun.tools.javac.v8.parser.Parser.typeDeclaration
at com.sun.tools.javac.v8.parser.Parser.compilationUnit
at com.sun.tools.javac.v8.JavaCompiler.parse
at com.sun.tools.javac.v8.JavaCompiler.parse
at com.sun.tools.javac.v8.JavaCompiler.compile
at com.sun.tools.javac.v8.Main.compile
at com.sun.tools.javac.Main.compile
at org.apache.jasper.compiler.SunJavaCompiler.compile
As of PQ56243,
the JSP Processor in WebSphere® Application Server switched to using the
V8 compiler. PQ56243
is applicable to WebSphere Application Server V4.0.2 and is included in
V4.0.3 and higher.
The Java™ V8 compiler, specifically the javac classes, is not
thread-safe when simultaneous compilations occur. Due to the compiler not
being thread-safe, it is possible for the compiled source code for JSP
files to not comply with the Java™ virtual machine (JVM™) specification
for class file structure. This is an issue only for browser-based
compilations.
You can recover from this problem by forcing a recompile of the JSP. To
do this, issue the touch command, or delete the contents of the
JSP temp directory.
|
If you are running WebSphere Application Server V4.0.2+PQ56243,
V4.0.3, or V4.0.4, you must use the JSPBatchCompiler to compile
your JSP files. Otherwise, you can upgrade to WebSphere Application Server
V4.0.5.
To resolve this threading issue, PQ67913
is included in V4.0.5. This fix synchronizes the loading and compilation
of JSP files, alleviating the threading problem in the V8 compiler.
|