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: [email protected]
Reporter: [email protected]
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: [email protected]
For additional commands, e-mail: [email protected]