https://issues.apache.org/bugzilla/show_bug.cgi?id=56613

            Bug ID: 56613
           Summary: JSP COMPILATION ERROR ON TOMCAT 6 & 7 with JDK VERSION
                    1.8.0_20-ea
           Product: Tomcat 7
           Version: unspecified
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
          Assignee: dev@tomcat.apache.org
          Reporter: shu.c...@oracle.com

With Java 1.8.0_20-ea
(http://jre.us.oracle.com/java/re/jdk/8u20/promoted/all/b15/bundles/windows-i586/jdk-8u20-ea-windows-i586.exe),
we got a JSP compilation error as below.

Tomcat 6 & 7 both have compilation error when trying to interpret the following
code in JSP: 
     str = str.replace("'", @ "\\'").replace("\"","\\\""); 
(str is a string here)
 . 
 Below is the error message: 
  SEVERE: Compilation error 
 org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException 
         at 
 org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileRea 
 der.java:342) 
         at 
 org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:206) 
         at 
 org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:163) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEn 
 vironment.java:96) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(Un 
 resolvedReferenceBinding.java:49) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryT 
 ypeBinding.java:131) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(Bin 
 aryTypeBinding.java:903) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getExactMethod(Bina 
 ryTypeBinding.java:705) 
         at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:763) 
 . 
         at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2057) 
         at 
 org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java 
 :417) 
         at 
 org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java 
 :334) 
         at 
 org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:1 
 84) 
         at 
 org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:906) 
         at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101) 
         at 
 org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233 
 ) 
         at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101) 
         at 
 org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233 
 ) 
         at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:115) 
         at 
 org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:7 
 99) 
         at 
 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStateme 
 nts(AbstractMethodDeclaration.java:429) 
         at 
 org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(Meth 
 odDeclaration.java:196) 
         at 
 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(Abstra 
 ctMethodDeclaration.java:400) 
         at 
 org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration. 
 java:1085) 
         at 
 org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration. 
 java:1164) 
         at 
 org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(Compi 
 lationUnitDeclaration.java:366) 
         at 
 org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:623) 
         at 
 org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392) 
         at 
 org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429) 
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
         at 
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592 
 ) 
         at 
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326 
 ) 
         at 
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:290) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
         at 
 com.demantra.common.servlets.ServerStartupFilter.doFilter(ServerStartupFilter. 
 java:52) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:235) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
         at 
 com.demantra.common.utils.ParamEncodingFilter.doFilter(ParamEncodingFilter.jav 
 a:29) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:235) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
         at 
 com.demantra.security.server.csrf.CSRFFilter.doFilter(CSRFFilter.java:138) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:235) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
         at 
 com.demantra.security.server.authorization.AuthorizationFilter.doFilter(Author 
 izationFilter.java:115) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:235) 
         at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
         at 
 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java 
 :233) 
         at 
 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java 
 :191) 
         at 
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.j 
 ava:470) 
         at 
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
         at 
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
         at 
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:1 
 09) 
         at 
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
         at 
 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:86 
 4) 
         at 
 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Htt 
 p11AprProtocol.java:579) 
         at 
 org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) 
         at java.lang.Thread.run(Unknown Source) 



 From this page (http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html), we
know that Tomcat6 is using Eclipse JDT Java compiler for the JSP 
 compilation. 
 . 
 Please note: 
 This JSP file can compile successfully with Java 7, and also JDK8u5. We got
this error only on Java 1.8.0_20-ea

-- 
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

Reply via email to