Author: markt Date: Fri May 20 10:16:35 2016 New Revision: 1744684 URL: http://svn.apache.org/viewvc?rev=1744684&view=rev Log: Fix an EL memory leak. Note: This fix requires changing generated code. A bug has been raised with JavaCC: https://java.net/jira/browse/JAVACC-293
Modified: tomcat/trunk/java/org/apache/el/parser/ELParser.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/el/parser/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/parser/ELParser.java?rev=1744684&r1=1744683&r2=1744684&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/el/parser/ELParser.java (original) +++ tomcat/trunk/java/org/apache/el/parser/ELParser.java Fri May 20 10:16:35 2016 @@ -2963,7 +2963,16 @@ public class ELParser/*@bgen(jjtree)*/im throw generateParseException(); } - static private final class LookaheadSuccess extends java.lang.Error { } + static private final class LookaheadSuccess extends java.lang.Error { + /* + * Over-ridden to avoid memory leak via Throwable.backtrace + * https://java.net/jira/browse/JAVACC-293 + */ + @Override + public synchronized Throwable fillInStackTrace() { + return this; + } + } final private LookaheadSuccess jj_ls = new LookaheadSuccess(); private boolean jj_scan_token(int kind) { if (jj_scanpos == jj_lastpos) { Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1744684&r1=1744683&r2=1744684&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri May 20 10:16:35 2016 @@ -80,6 +80,11 @@ <bug>59567</bug>: Fix NPE scanning webapps for TLDs when an exploded JAR has an empty WEB-INF/classes/META-INF folder. (remm) </fix> + <fix> + Fix a memory leak in the expression language implementation that caused + the class loader of the first web application to use expressions to be + pinned in memory. (markt) + </fix> </changelog> </subsection> <subsection name="Other"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org