【问题标题】:SonarQube Rules appear to break analysisSonarQube 规则似乎破坏了分析
【发布时间】:2017-04-22 13:39:31
【问题描述】:

我已经安装了带有基本设置的 SonarQube,并启用了 C# Plugin(当前版本 5.5.0.479)中的所有规则,这样做时,我的一些项目的分析中断了(一些运行良好)。我找不到找出哪些规则被破坏的方法,所以我相当费力地完成了,以二进制印章样式启用规则以定位违规规则。我找到了 2:

和:

当我启用这些规则并运行分析时,我收到错误:

14:38:58.008 ERROR: Error during SonarQube Scanner execution
14:38:58.008 java.lang.IllegalArgumentException: Start pointer [line=65, lineOffset=0] should be before end pointer [line=65, lineOffset=0]
14:38:58.008    at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
14:38:58.008    at org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:254)
14:38:58.008    at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:238)
14:38:58.008    at org.sonarsource.dotnet.shared.plugins.SensorContextUtils.toTextRange(SensorContextUtils.java:41)
14:38:58.008    at org.sonarsource.dotnet.shared.plugins.protobuf.IssuesImporter.importMessage(IssuesImporter.java:54)
14:38:58.008    at org.sonarsource.dotnet.shared.plugins.protobuf.IssuesImporter.importMessage(IssuesImporter.java:31)
14:38:58.008    at org.sonarsource.dotnet.shared.plugins.protobuf.AbstractProtobufImporter.accept(AbstractProtobufImporter.java:49)
14:38:58.008    at org.sonarsource.dotnet.shared.plugins.AbstractSensor.parseProtobuf(AbstractSensor.java:80)
14:38:58.009    at org.sonarsource.dotnet.shared.plugins.AbstractSensor.importResults(AbstractSensor.java:70)
14:38:58.009    at org.sonar.plugins.csharp.CSharpSensor.executeInternal(CSharpSensor.java:114)
14:38:58.009    at org.sonar.plugins.csharp.CSharpSensor.execute(CSharpSensor.java:85)
14:38:58.009    at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
14:38:58.009    at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
14:38:58.009    at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
14:38:58.009    at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
14:38:58.009    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
14:38:58.009    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
14:38:58.009    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
14:38:58.009    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247)
14:38:58.009    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242)
14:38:58.009    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:240)
14:38:58.009    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232)
14:38:58.009    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
14:38:58.009    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
14:38:58.010    at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
14:38:58.010    at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
14:38:58.010    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
14:38:58.010    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
14:38:58.010    at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
14:38:58.010    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118)
14:38:58.010    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
14:38:58.010    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:38:58.010    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
14:38:58.010    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
14:38:58.010    at java.lang.reflect.Method.invoke(Unknown Source)
14:38:58.010    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
14:38:58.010    at com.sun.proxy.$Proxy0.execute(Unknown Source)
14:38:58.010    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
14:38:58.010    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
14:38:58.010    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
14:38:58.011    at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
14:38:58.011    at org.sonarsource.scanner.cli.Main.main(Main.java:61)
14:38:58.011 ERROR: 
14:38:58.011 ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

以-X 运行没有提供更多信息。

这是插件或声纳扫描仪的错误还是我错过了什么?

我正在使用sonar-scanner 2.8

【问题讨论】:

  • 您能告诉我您用于构建项目的 MsBuild 版本是什么吗?

标签: c# sonarqube


【解决方案1】:

这是 C# 插件 5.4 中的一个错误。 5.5 应该通过这张票修复它:https://jira.sonarsource.com/browse/SONARCS-629,但它只发生在某些版本的 MsBuilds 上(请参阅https://jira.sonarsource.com/browse/DOTNETLIB-10)。

一个新的修复程序正在进行中。

【讨论】:

  • 好的,太好了。在再次启用这些规则之前,我将等待新版本。谢谢:)
  • 此问题也影响使用 SonarQube-Roslyn-SDK 打包为插件的 Roslyn 分析器...
  • FxCop 插件是否存在类似问题?
  • @Rodders 据我所知,FxCop 插件不受影响。
  • @Tamas-SonarSourceTeam,我刚刚通过并调试了哪些规则受到影响。它们来自 Stylecop.Analyzers 版本 1.0.0:SA1652(启用 XML 文档)、SA1633(文件必须有标题)、SA1412(将文件存储为带有字节顺序标记的 UTF-8)和 SA1027(不得使用制表符)。
猜你喜欢
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2021-03-22
  • 2019-08-07
相关资源
最近更新 更多