2016-02-04 5 views
2

Я пытаюсь перейти от версии SonarQube с 5.1 до 5.3. SonarQube плагинов:SonarQube 5.3: IllegalArgumentException: Нет строки изменений в строке 1352

  • Cobertura 1.6.3 (Cobertura)
  • C# 4.4 (CSharp)
  • Java 3.9 (Java)
  • XML-1.4 (XML)
  • Гит 1.0 (scmgit)
  • СВН 1.2 (scmsvn)
  • JavaScript, 2.10 (JavaScript)

Мой проект использует покрытие кода Java, XML, JavaScript и jaCoCo.

Клиентская анализ работает хорошо, но у меня есть стек-следа в журналах в процессе интеграции на стороне сервера:

(end of logs) 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Log scanner context | time=11ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load analysis metadata | time=1ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Build tree of components | time=236ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Validate project | time=25ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load debt model | time=1ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load quality profiles | time=63ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load Quality gate | time=2ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load differential periods | time=74ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Load inner file and in project duplications | time=76ms 
2016.02.04 10:45:17 INFO [o.s.s.c.d.CrossProjectDuplicationStatusHolderImpl] Cross project duplication is disabled because it's disabled in the analysis report 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Compute cross project duplications | time=0ms 
2016.02.04 10:45:17 INFO [o.s.s.c.s.ComputationStepExecutor] Compute size measures | time=309ms 
2016.02.03 16:22:20 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVKn8PiS4ITZfzVrMvMq 
org.sonar.server.computation.component.VisitException: Visit failed for Component {key=XXXX:XXXX-commons-client:src/main/java/com/XXXX/instrument/InstrumentFrame.java,type=FILE} located XXXX:XXXX-commons-client:src/main/java/com/XXXX/instrument(type=DIRECTORY)->XXXX:XXXX-commons-client(type=MODULE)->XXXX:XXXX(type=PROJECT) 
    at org.sonar.server.computation.component.VisitException.rethrowOrWrap(VisitException.java:44) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:52) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitChildren(PathAwareCrawler.java:87) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:70) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.step.NewCoverageMeasuresStep.execute(NewCoverageMeasuresStep.java:113) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:39) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.taskprocessor.report.ReportTaskProcessor.process(ReportTaskProcessor.java:72) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.executeTask(CeWorkerCallableImpl.java:81) [sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:56) [sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.taskprocessor.CeWorkerCallableImpl.call(CeWorkerCallableImpl.java:35) [sonar-server-5.3.jar:na] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_60] 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_60] 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_60] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_60] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60] 
Caused by: java.lang.IllegalArgumentException: There's no changeset on line 1352 
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125) ~[guava-17.0.jar:na] 
    at org.sonar.server.computation.scm.ScmInfoImpl.getChangesetForLine(ScmInfoImpl.java:64) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.scm.ReportScmInfo.getChangesetForLine(ReportScmInfo.java:71) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.step.NewCoverageMeasuresStep$NewCoverageCounter.initialize(NewCoverageMeasuresStep.java:391) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.formula.FormulaExecutorComponentVisitor.processLeaf(FormulaExecutorComponentVisitor.java:165) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.formula.FormulaExecutorComponentVisitor.process(FormulaExecutorComponentVisitor.java:142) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.formula.FormulaExecutorComponentVisitor.visitFile(FormulaExecutorComponentVisitor.java:122) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitNode(PathAwareCrawler.java:105) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visitImpl(PathAwareCrawler.java:73) ~[sonar-server-5.3.jar:na] 
    at org.sonar.server.computation.component.PathAwareCrawler.visit(PathAwareCrawler.java:50) ~[sonar-server-5.3.jar:na] 
    ... 23 common frames omitted 
2016.02.03 16:22:20 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=XXXX:XXXX | id=AVKn8PiS4ITZfzVrMvMq | time=5138ms 

Примечание:

  • В предыдущем анализе, файл InstrumentFrame.java имеет 1355, и у нас есть данные покрытия JaCoCo для блока 1349-1352.
  • В текущем анализе, файл InstrumentFrame.java теперь 1351 линий (то 1352 выходит из файла)
  • Если добавить файл в source file exclusions, анализ будет успешным
  • После Преуспевающий анализа, я могу безопасно удалить файл из списка исключений, следующий анализировать будет продолжать работать
+0

Попробуйте остановить сервер SonarQube, удалите каталог 'data/es', запустите сервер SonarQube и проанализируйте его снова – agabrys

+0

QA, было ли решение выше решить вашу проблему? У нас есть отчет об ошибке в проекте SonarQubes? –

+0

Действительно, удаление данных/es должно решить вашу проблему. –

ответ

0

чтобы сделать его более ясным, как ответ вместо комментария:

Вы должны остановить SonarQube и удалить каталог data/es.

0

Исключить src/main/java/com/XXXX/instrument/InstrumentFrame.java файл и запустить анализ. Он будет успешным. Теперь снова положите этот файл обратно src/main/java/com/XXXX/instrument/InstrumentFrame.java и запустите анализ еще раз, и он добьется успеха с файлом src/main/java/com/XXXX/instrument/InstrumentFrame.java. Не знаю, почему, но это происходит в любом случае. Это решило мою проблему.

Приветствия!

+0

Действительно, когда исключение добавляется для файла с отказом, анализ сонара преуспевает, но он снова не удался в моем случае, когда я удалил исключения ... – Antot

+0

См. Другие комментарии и мои ответ, вы должны удалить каталог 'data/es'. – CSchulz