[
https://issues.apache.org/jira/browse/RAT-238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210041#comment-16210041
]
Philipp Ottlinger commented on RAT-238:
---------------------------------------
Thanks for your bug report .... the exception is thrown in a very low level
part of RAT.
Would you mind skipping the error such as with the help of:
{code}
Index:
apache-rat-core/src/main/java/org/apache/rat/analysis/DocumentHeaderAnalyser.java
===================================================================
---
apache-rat-core/src/main/java/org/apache/rat/analysis/DocumentHeaderAnalyser.java
(Revision 1812235)
+++
apache-rat-core/src/main/java/org/apache/rat/analysis/DocumentHeaderAnalyser.java
(Arbeitskopie)
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the *
* specific language governing permissions and limitations *
* under the License. *
- */
+ */
package org.apache.rat.analysis;
import org.apache.commons.io.IOUtils;
@@ -23,6 +23,7 @@
import org.apache.rat.document.IDocumentAnalyser;
import org.apache.rat.document.RatDocumentAnalysisException;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
@@ -29,7 +30,7 @@
public class DocumentHeaderAnalyser implements IDocumentAnalyser {
private final IHeaderMatcher matcher;
-
+
public DocumentHeaderAnalyser(final IHeaderMatcher matcher) {
super();
this.matcher = matcher;
@@ -42,6 +43,9 @@
// TODO: worker function should be moved into this class
HeaderCheckWorker worker = new HeaderCheckWorker(reader, matcher,
document);
worker.read();
+ } catch (FileNotFoundException e) {
+ // silently ignore FileNotFound as that indicates problems with
the file system such as broken links
+ System.err.println("Skipping current file due to " + e + " with
message " + e.getMessage());
} catch (IOException e) {
throw new RatDocumentAnalysisException("Cannot read header", e);
} catch (RatHeaderAnalysisException e) {
@@ -49,6 +53,6 @@
} finally {
IOUtils.closeQuietly(reader);
}
- }
+ }
}
{code}
as we do not have a way (yet) to transfer analysis statistics through all parts
of RAT.
Would this help for your case?
> Broken symlinks result in crash
> -------------------------------
>
> Key: RAT-238
> URL: https://issues.apache.org/jira/browse/RAT-238
> Project: Apache Rat
> Issue Type: Bug
> Affects Versions: 0.12
> Reporter: Kim van der Riet
>
> When scanning a project directory containing a broken symlink, rat fails as
> follows:
> {noformat}
> $ java -jar apache-rat-0.13-SNAPSHOT.jar test-dir/
> Exception in thread "main" org.apache.rat.api.RatException: Cannot read header
> at
> org.apache.rat.report.claim.util.ClaimReporterMultiplexer.report(ClaimReporterMultiplexer.java:44)
> at
> org.apache.rat.walker.DirectoryWalker.report(DirectoryWalker.java:144)
> at
> org.apache.rat.walker.DirectoryWalker.processNonDirectories(DirectoryWalker.java:128)
> at
> org.apache.rat.walker.DirectoryWalker.process(DirectoryWalker.java:98)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectory(DirectoryWalker.java:72)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectories(DirectoryWalker.java:113)
> at
> org.apache.rat.walker.DirectoryWalker.process(DirectoryWalker.java:99)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectory(DirectoryWalker.java:72)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectories(DirectoryWalker.java:113)
> at
> org.apache.rat.walker.DirectoryWalker.process(DirectoryWalker.java:99)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectory(DirectoryWalker.java:72)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectories(DirectoryWalker.java:113)
> at
> org.apache.rat.walker.DirectoryWalker.process(DirectoryWalker.java:99)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectory(DirectoryWalker.java:72)
> at
> org.apache.rat.walker.DirectoryWalker.processDirectories(DirectoryWalker.java:113)
> at
> org.apache.rat.walker.DirectoryWalker.process(DirectoryWalker.java:99)
> at org.apache.rat.walker.DirectoryWalker.run(DirectoryWalker.java:83)
> at org.apache.rat.Report.report(Report.java:423)
> at org.apache.rat.Report.report(Report.java:402)
> at org.apache.rat.Report.report(Report.java:378)
> at org.apache.rat.Report.styleReport(Report.java:359)
> at org.apache.rat.Report.main(Report.java:119)
> Caused by: org.apache.rat.document.RatDocumentAnalysisException: Cannot read
> header
> at
> org.apache.rat.analysis.DocumentHeaderAnalyser.analyse(DocumentHeaderAnalyser.java:46)
> at
> org.apache.rat.analysis.DefaultAnalyserFactory$DefaultAnalyser.analyse(DefaultAnalyserFactory.java:60)
> at
> org.apache.rat.document.impl.util.DocumentAnalyserMultiplexer.analyse(DocumentAnalyserMultiplexer.java:36)
> at
> org.apache.rat.report.claim.util.ClaimReporterMultiplexer.report(ClaimReporterMultiplexer.java:42)
> ... 21 more
> Caused by: java.io.FileNotFoundException: test-dir/dirA/dirB/broken-symlink
> (No such file or directory)
> at java.io.FileInputStream.open0(Native Method)
> at java.io.FileInputStream.open(FileInputStream.java:195)
> at java.io.FileInputStream.<init>(FileInputStream.java:138)
> at java.io.FileReader.<init>(FileReader.java:72)
> at
> org.apache.rat.document.impl.FileDocument.reader(FileDocument.java:52)
> at
> org.apache.rat.analysis.DocumentHeaderAnalyser.analyse(DocumentHeaderAnalyser.java:41)
> ... 24 more
> {noformat}
> Perhaps broken symlinks should be reported and/or ignored.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)