You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@creadur.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2013/05/19 04:29:16 UTC

[jira] [Resolved] (RAT-138) RAT runs very slowly on some input

     [ https://issues.apache.org/jira/browse/RAT-138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebb resolved RAT-138.
----------------------

       Resolution: Fixed
    Fix Version/s: 0.10

URL: http://svn.apache.org/r1484209
Log:
RAT-138 RAT runs very slowly on some input
Ensure buffer only grows sufficiently large to allow a match
Speeds up processing considerably

Modified:
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/FullTextMatchingLicense.java

                
> 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
>              Labels: perfomance, regression
>             Fix For: 0.10
>
>
> 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