Uploaded image for project: 'Apache Rat'
  1. Apache Rat
  2. RAT-138

RAT runs very slowly on some input

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.8, 0.9
    • Fix Version/s: 0.10
    • Component/s: engine

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              sebb Sebb
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: