https://bz.apache.org/bugzilla/show_bug.cgi?id=62453
Bug ID: 62453 Summary: Tomcat tries to resolve uninitialized tag attributes in EL as java class names and this behavior causes performance problems. Product: Tomcat 9 Version: 9.0.8 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: EL Assignee: dev@tomcat.apache.org Reporter: katsut...@worksap.co.jp Target Milestone: ----- an example of tag file /WEB-INF/tags/sample.tag {{{ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ attribute name="foo" required="true" %> <%@ attribute name="bar" %> <%@ attribute name="baz" %> <div> <div>foo: ${foo.toString()}</div> <div>bar: ${bar.toString()}</div> <div>baz: ${baz.toString()}</div> </div> }}} an example of jsp file calling tag without "bar" and "baz" attributes {{{ <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> <html> <body> <h2>Example of Uninitialized Tag Attributes</h2> <tags:sample foo="FOO"/> </body> </html> }}} I found that the uninitialized attributes were NOT set into context in Java files generated from tag file. Besides, when the uninitialized attributes were called in EL, ScopedAttributeELResolver tries to resolve attributes name as java class names. ref. getValue method in http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_9_0_8/java/javax/servlet/jsp/el/ScopedAttributeELResolver.java I have already confirmed that the uninitialized attributes actually affect performance. I got jfr to compare between there are uninitialized attributes or not. It was confirmed that lock wait occurs in java.util.jar.JarFile class and sun.misc.URLClassPath class only when there are uninitialized attributes in tag. the related bug Performance issue evaluating EL in custom tags (tagx) due to inefficient calls to java.lang.Class.forName() https://bz.apache.org/bugzilla/show_bug.cgi?id=57583 -- 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