Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-23729

[GSS](7.4.z) UNDERTOW-2104 - JSP compilation error when using inner classes

      Since 7.4.CP4 JBEAP-23143 upgraded the ecj compiler. This triggered issues when compiling inner classes defined in the same JSP. This was also solved in jasper with this commit. We need to do the same for jastow implementation. The exception is the following:

      org.apache.jasper.JasperException: JBWEB004001: Unable to compile class for JSP
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:667)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
      	at javax.servlet.api@2.0.0.Final-redhat-00001//javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
      	at org.wildfly.security.elytron-web.undertow-server@1.9.2.Final-redhat-00001//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
      	at org.wildfly.security.elytron-private@1.15.13.Final-redhat-00001//org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
      	at org.wildfly.security.elytron-private@1.15.13.Final-redhat-00001//org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
      	at org.wildfly.security.elytron-private@1.15.13.Final-redhat-00001//org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
      	at org.wildfly.security.elytron-web.undertow-server@1.9.2.Final-redhat-00001//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
      	at org.wildfly.security.elytron-web.undertow-server-servlet@1.9.2.Final-redhat-00001//org.wildfly.elytron.web.undertow.server.servlet.CleanUpHandler.handleRequest(CleanUpHandler.java:38)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:275)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1551)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1551)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1551)
      	at org.wildfly.extension.undertow@7.4.6.GA-redhat-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1551)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79)
      	at io.undertow.servlet@2.2.17.SP4-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
      	at io.undertow.core@2.2.17.SP4-redhat-00001//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.jboss.xnio@3.8.7.SP1-redhat-00001//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
      	at java.base/java.lang.Thread.run(Thread.java:1585)
      Caused by: java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.lookup.PlainPackageBinding cannot be cast to class org.eclipse.jdt.internal.compiler.lookup.TypeBinding (org.eclipse.jdt.internal.compiler.lookup.PlainPackageBinding and org.eclipse.jdt.internal.compiler.lookup.TypeBinding are in unnamed module of loader 'org.eclipse.jdt.ecj@3.26.0.redhat-00002' @e0f6010)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ClassFile.getTypeBinding(ClassFile.java:6328)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:7402)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ClassFile.generateStackMapTableAttribute(ClassFile.java:5199)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute(ClassFile.java:1688)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:368)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:291)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:761)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:831)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:412)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:913)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.Compiler.processCompiledUnits(Compiler.java:575)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:475)
      	at org.eclipse.jdt.ecj@3.26.0.redhat-00002//org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:445)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.compiler.Compiler.compile(Compiler.java:359)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
      	at io.undertow.jsp@2.0.9.Final-redhat-00001//org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
      	... 49 more
      

            [JBEAP-23729] [GSS](7.4.z) UNDERTOW-2104 - JSP compilation error when using inner classes

            As all verified issues should change to closed status, closing them with the bulk update.

            Michaela Osmerova added a comment - As all verified issues should change to closed status, closing them with the bulk update.

            I have just seen that another user reported the same in upstream undertow: UNDERTOW-2104

            It's the same solution except I'm adding a test,

            Ricardo Martin Camarero added a comment - I have just seen that another user reported the same in upstream undertow: UNDERTOW-2104 It's the same solution except I'm adding a test,

              rhn-support-rmartinc Ricardo Martin Camarero
              rhn-support-rmartinc Ricardo Martin Camarero
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: