acc-export icon indicating copy to clipboard operation
acc-export copied to clipboard

Обработка sonar-scanner отчетов, сгенерированных обработкой, падает с ошибкой

Open ghost opened this issue 3 years ago • 1 comments

sonar-application-8.4.1.35646 sonar-scanner-cli-4.4.0.2170 bsl-language-server-0.15.2 acc-export 1.3.0 АПК 1.25.37, потом 1.2.3.20 (как в описании) Пробовал с обоими форматами выгрузки: reportjson и genericissue через reportPaths и externalIssuesReportPaths Несмотря на все пляски с бубном, как только сканер доходит до сгененированного обработкой файла - тут же падает с ошибкой примерно такого вида:

INFO: Sensor BSL Core Sensor [communitybsl] (done) | time=126398ms INFO: Sensor BSL Language Server diagnostics loader [communitybsl] INFO: Parsing 'BSL Language Server' analysis results: INFO: C:\Pilon_sonarqubepr\project1c\acc-json.json INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 2:39.622s INFO: Final Memory: 100M/340M INFO: ------------------------------------------------------------------------ ERROR: Error during SonarScanner execution java.lang.IllegalArgumentException: Start pointer [line=50, lineOffset=0] should be before end pointer [line=50, lineOffset=0] at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43) at org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:348) at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:289) at com.github._1c_syntax.bsl.sonar.IssuesLoader.getTextRange(IssuesLoader.java:226) at com.github._1c_syntax.bsl.sonar.IssuesLoader.getNewIssueLocation(IssuesLoader.java:197) at com.github._1c_syntax.bsl.sonar.IssuesLoader.createExternalIssue(IssuesLoader.java:148) at com.github._1c_syntax.bsl.sonar.IssuesLoader.createIssue(IssuesLoader.java:93) at com.github._1c_syntax.bsl.sonar.LanguageServerDiagnosticsLoaderSensor.processDiagnostic(LanguageServerDiagnosticsLoaderSensor.java:108) at com.github._1c_syntax.bsl.sonar.LanguageServerDiagnosticsLoaderSensor.lambda$processFileInfo$0(LanguageServerDiagnosticsLoaderSensor.java:104) at java.base/java.util.ArrayList.forEach(Unknown Source) at com.github._1c_syntax.bsl.sonar.LanguageServerDiagnosticsLoaderSensor.processFileInfo(LanguageServerDiagnosticsLoaderSensor.java:104) at com.github._1c_syntax.bsl.sonar.LanguageServerDiagnosticsLoaderSensor.parseAndSaveResults(LanguageServerDiagnosticsLoaderSensor.java:88) at java.base/java.util.ArrayList.forEach(Unknown Source) at com.github._1c_syntax.bsl.sonar.LanguageServerDiagnosticsLoaderSensor.execute(LanguageServerDiagnosticsLoaderSensor.java:74) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:388) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:384) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:353) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:144) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy0.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) at org.sonarsource.scanner.cli.Main.execute(Main.java:112) at org.sonarsource.scanner.cli.Main.execute(Main.java:75) at org.sonarsource.scanner.cli.Main.main(Main.java:61) ERROR: ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.

ghost avatar Aug 03 '20 14:08 ghost

Тоже столкнулся. Платформенная выгрузка в файлы (с какой версии не знаю) добавляет в начале файлов символы CR LF, в самой 1С или том же Блокноте их не видно, но в Notepad++ с включенным отображением системных символов они есть. В итоге обработка выгружает acc.json и там ошибка например в 10 строке, а по факту, при чтении Сонаром, начало в 11 строке. Исправлял я ее так. В модуле обработки acc-export менял:

Если Существует Тогда ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя, КодировкаТекста.UTF8); Иначе Лог_Отладка("Файл не существует: " + Файл.ПолноеИмя); КонецЕсли;

на

	Если Существует Тогда
		ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя, КодировкаТекста.UTF8, Символы.ПС);
	Иначе
		Лог_Отладка("Файл не существует: " + Файл.ПолноеИмя);
	КонецЕсли;

foxxof06 avatar Sep 17 '20 18:09 foxxof06