Details
Description
Gendarme plugin fails to load report XML if .NET code violates rule and suggestion has null character (I have to skip Gendarme to make the build):
Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxParsingException: Invalid character
reference: null character not allowed in XML content.
at [row,col {unknown-source}]: [354,279]
at org.sonar.runner.Runner.delegateExecution(Runner.java:155)
at org.sonar.runner.Runner.execute(Runner.java:58)
at org.sonar.runner.Main.main(Main.java:52)
Caused by: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxParsingException: Invalid character reference: null character not allowed in XML content.
at [row,col {unknown-source}]: [354,279]
at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:43)
at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:693)
at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3617)
at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:845)
at org.codehaus.staxmate.in.SMInputCursor.getText(SMInputCursor.java:457)
at org.codehaus.staxmate.in.SMInputCursor.collectDescendantText(SMInputCursor.java:491)
at org.codehaus.staxmate.in.SMInputCursor.collectDescendantText(SMInputCursor.java:522)
at org.sonar.plugins.csharp.gendarme.results.GendarmeResultParser.parseTargetBloc(GendarmeResultParser.java:130)
at org.sonar.plugins.csharp.gendarme.results.GendarmeResultParser.parseRuleDefects(GendarmeResultParser.java:116)
at org.sonar.plugins.csharp.gendarme.results.GendarmeResultParser.parseRuleBlocs(GendarmeResultParser.java:99)
at org.sonar.plugins.csharp.gendarme.results.GendarmeResultParser.parse(GendarmeResultParser.java:79)
at org.sonar.plugins.csharp.gendarme.GendarmeSensor.analyseResults(GendarmeSensor.java:159)
at org.sonar.plugins.csharp.gendarme.GendarmeSensor.analyse(GendarmeSensor.java:115)
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:64)
at org.sonar.batch.phases.Phases.execute(Phases.java:93)
at org.sonar.batch.bootstrap.ProjectModule.doStart(ProjectModule.java:143)
at org.sonar.batch.bootstrap.Module.start(Module.java:89)
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:110)
at org.sonar.batch.bootstrap.BatchModule.analyze(BatchModule.java:105)
at org.sonar.batch.bootstrap.BatchModule.doStart(BatchModule.java:100)
at org.sonar.batch.bootstrap.Module.start(Module.java:89)
at org.sonar.batch.bootstrap.BootstrapModule.doStart(BootstrapModule.java:96)
at org.sonar.batch.bootstrap.Module.start(Module.java:89)
at org.sonar.batch.Batch.execute(Batch.java:74)
at org.sonar.runner.Launcher.executeBatch(Launcher.java:60)
at org.sonar.runner.Launcher.execute(Launcher.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.sonar.runner.Runner.delegateExecution(Runner.java:152)
... 2 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Invalid character reference: null character not allowed in XML content.
at [row,col {unknown-source}]: [354,279]
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.StreamScanner.checkAndExpandChar(StreamScanner.java:2303)
at com.ctc.wstx.sr.StreamScanner.resolveSimpleEntity(StreamScanner.java:1185)
at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4633)
at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4084)
at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3659)
at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3615)
I was using Gendarme 2.8. Problem solved with Gendarme 2.10