[ https://issues.apache.org/jira/browse/RAT-138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13657810#comment-13657810 ]
Sebb commented on RAT-138: -------------------------- Looking at the code for FullTextMatchingLicense I wonder whether regexes are needed at all? Only letters and digits are kept from the pattern, so it cannot contain any RE meta-characters. AFAICT, one could just convert the pattern and text to lower case and then use String.contains() which is going to be much faster. > RAT runs very slowly on some input > ---------------------------------- > > Key: RAT-138 > URL: https://issues.apache.org/jira/browse/RAT-138 > Project: Apache Rat > Issue Type: Bug > Components: engine > Affects Versions: 0.9 > Reporter: Sebb > > Commons IO discovered that mvn site was spending a lot of time running RAT > 0.9. Reverting to 0.8 fixes the problem. > Turns out that certain files seem to cause RAT to chew CPU in the > Pattern.matcher; here is a sample stack trace from a thread dump: > "main" prio=6 tid=0x003c8c00 nid=0xa4c runnable [0x00a5e000] > java.lang.Thread.State: RUNNABLE > at java.util.regex.Pattern$Curly.match0(Pattern.java:4166) > at java.util.regex.Pattern$Curly.match(Pattern.java:4132) > at java.util.regex.Matcher.match(Matcher.java:1221) > at java.util.regex.Matcher.matches(Matcher.java:559) > at > org.apache.rat.analysis.license.FullTextMatchingLicense.match(FullTextMatchingLicense.java:79) > at > org.apache.rat.analysis.util.HeaderMatcherMultiplexer.match(HeaderMatcherMultiplexer.java:42) > at > org.apache.rat.analysis.HeaderCheckWorker.readLine(HeaderCheckWorker.java:113) > at > org.apache.rat.analysis.HeaderCheckWorker.read(HeaderCheckWorker.java:84) > at > org.apache.rat.analysis.DocumentHeaderAnalyser.analyse(DocumentHeaderAnalyser.java:43) > at > org.apache.rat.analysis.DefaultAnalyserFactory$DefaultAnalyser.analyse(DefaultAnalyserFactory.java:60) > at > org.apache.rat.document.impl.util.DocumentAnalyserMultiplexer.analyse(DocumentAnalyserMultiplexer.java:37) > at > org.apache.rat.report.claim.util.ClaimReporterMultiplexer.report(ClaimReporterMultiplexer.java:42) > at org.apache.rat.mp.FilesReportable.run(FilesReportable.java:68) > at org.apache.rat.Report.report(Report.java:393) > at org.apache.rat.Report.report(Report.java:373) > at > org.apache.rat.mp.AbstractRatMojo.createReport(AbstractRatMojo.java:462) > at > org.apache.rat.mp.RatReportMojo.createReport(RatReportMojo.java:148) > at org.apache.rat.mp.RatReportMojo.generate(RatReportMojo.java:310) > at org.apache.rat.mp.RatReportMojo.execute(RatReportMojo.java:210) > I assume there must be a problem with one of the REs which is triggering lots > of backtracking when applied to files under site-content/, which is a working > copy of: > https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-io > Last Changed Rev: 861378 > This directory should not have been included in the RAT scan, but the files > don't cause problems for RAT 0.8. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira