https://bz.apache.org/bugzilla/show_bug.cgi?id=62757

            Bug ID: 62757
           Summary: JspCompilationContext is unable to compile class for
                    JSP due to a null tagHandlerClass in
                    Generator.TagHandlerInfo
           Product: Tomcat 8
           Version: 8.5.34
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
          Assignee: dev@tomcat.apache.org
          Reporter: jlla...@gmail.com
  Target Milestone: ----

I am still debuging in order to try understand the reason for this, and improve
the issue description.
The app behaviour is :
- launch tomcat 
- access a jsp which depends on several nested tags(all of them need to be
compiled)
- it takes several reloads to render the jsp as expected, failing with the
following exception the rest of the times

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Unable to compile class for JSP

Description The server encountered an unexpected condition that prevented it
from fulfilling the request.

Exception

org.apache.jasper.JasperException: Unable to compile class for JSP
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:611)
       
org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:262)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:585)
       
org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:48)
       
org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:668)
        org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
        org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:691)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:232)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
       
org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:262)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:585)
       
org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:48)
       
org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:668)
        org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
        org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:691)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:232)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
       
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
       
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        <omiting spring framework stack>
Root Cause

java.lang.NullPointerException
        sun.reflect.misc.ReflectUtil.checkPackageAccess(ReflectUtil.java:164)
        sun.reflect.misc.ReflectUtil.isPackageAccessible(ReflectUtil.java:195)
        java.beans.Introspector.getBeanInfo(Introspector.java:164)
       
org.apache.jasper.compiler.Generator$TagHandlerInfo.<init>(Generator.java:4115)
       
org.apache.jasper.compiler.Generator$GenerateVisitor.getTagHandlerInfo(Generator.java:2349)
       
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1782)
        org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
        org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Generator.generate(Generator.java:3653)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:253)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
       
org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:262)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:585)
       
org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:48)
       
org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:668)
        org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
        org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:691)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:232)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
       
org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:262)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:585)
       
org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:48)
       
org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:668)
        org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
        org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
       
org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:691)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:232)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
       
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
       
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
       
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        <omiting spring framework stack>
Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/8.5.34

As said the culprit is Generator.TagHandlerInfo's tagHandlerClass, but why ? :)

I am unable to reproduce the problem with Tomcat 8.5.24, maybe related to
changes done in https://bz.apache.org/bugzilla/show_bug.cgi?id=62603 ?

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