Details
Description
The following exception is thrown by the Sonar Findbugs collector when analysing the Apache commons VFS project :
[INFO] Can not execute Sonar
Embedded error: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </AnalysisError>; expected </init>.
at [row,col {unknown-source}]: [1,1287]
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:227)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:87)
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65)
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:117)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
... 16 more
Caused by: org.sonar.plugins.api.maven.xml.XmlParserException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </AnalysisError>; expected </init>.
at [row,col {unknown-source}]: [1,1287]
at org.sonar.plugins.api.maven.AbstractViolationsCollector.collect(AbstractViolationsCollector.java:49)
at org.sonar.mojo.InternalMojo.executeCollectors(InternalMojo.java:295)
at org.sonar.mojo.InternalMojo.processModules(InternalMojo.java:177)
at org.sonar.mojo.InternalMojo.execute(InternalMojo.java:156)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:82)
... 20 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </AnalysisError>; expected </init>.
at [row,col {unknown-source}]: [1,1287]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:580)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:453)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:438)
at com.ctc.wstx.sr.BasicStreamReader.reportWrongEndElem(BasicStreamReader.java:3234)
at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3161)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2778)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1054)
at org.codehaus.staxmate.in.SMFlatteningCursor.getNext(SMFlatteningCursor.java:115)
at org.sonar.plugins.api.maven.AbstractViolationsStaxParser.parseResources(AbstractViolationsStaxParser.java:103)
at org.sonar.plugins.api.maven.AbstractViolationsStaxParser.access$000(AbstractViolationsStaxParser.java:40)
at org.sonar.plugins.api.maven.AbstractViolationsStaxParser$1.stream(AbstractViolationsStaxParser.java:93)
at org.sonar.plugins.api.maven.xml.StaxParser.parse(StaxParser.java:102)
at org.sonar.plugins.api.maven.xml.StaxParser.parse(StaxParser.java:84)
at org.sonar.plugins.api.maven.xml.StaxParser.parse(StaxParser.java:76)
at org.sonar.plugins.api.maven.AbstractViolationsStaxParser.collect(AbstractViolationsStaxParser.java:96)
at org.sonar.plugins.api.maven.AbstractViolationsCollector.collect(AbstractViolationsCollector.java:46)
... 25 more
Here is an extract of the findbugs.xml file to quickly understand what happens :
<Errors> <AnalysisError>Error analyzing public static org.apache.commons.httpclient.HttpClient createConnection(org.apache.commons.vfs.provider.http.HttpFileSystemConfigBuilder builder, String scheme, String hostname, int port, String username, String password, org.apache.commons.vfs.FileSystemOptions fileSystemOptions) throws org.apache.commons.vfs.FileSystemException for unconditional deref training </AnalysisError> <AnalysisError>Error analyzing public void <init>(org.apache.commons.httpclient.methods.GetMethod method) throws java.io.IOException for unconditional deref training </AnalysisError>
So when errors are reported on code with java generics, the XML is obviously corrupted.
Issue Links
- depends upon
-
MFINDBUGS-93
Unable to parse XML Findbugs report when errors are reported on java code using generics
-
-
SONAR-1116
Upgrade to Findbugs 1.3.9
-
- is related to
-
SONAR-904
Error when collecting Findbugs results on JBoss Microcontainer Kernel project
-
This bug should be fixed with upcoming Maven Findbugs plugin version 2.2.