SonarQube анализирует проблему Линия вне диапазона

Я запускаю локальный экземпляр SonarQube и выполнил проект Xamarin.Forms, используя плагин SonarC # по умолчанию, проанализированный с помощью SonarQube Scanner для MSBuild. Ниже я получаю ошибку:

ОШИБКА: ошибка при выполнении сканера SonarQube.

ОШИБКА: строка 736 находится вне диапазона для файла /xxxx.cs. В файле 735 строк.

ОШИБКА: Сканер SonarQube не завершился успешно.

09: 26: 04.772 Создание файла итоговой разметки ...

09: 26: 04.78 Ошибка постобработки. Код выхода: 1

У меня такая же проблема при выполнении в SonarCloud.

Сведения об Env:

SonarQube: 7,4

SonarScanner для MSBuild 4.4.2

Сканер SonarQube 3.2.0.1227

Java 1.8.0_131 Oracle Corporation (64-разрядная версия)

Mac OS X 10.13.6 x86_64

Команды сканера сонара:

  1. mono /SonarScanner.MSBuild.exe begin / k: "ProjectKey" /d:sonar.host.url="url "/d:sonar.login="token"

  2. MSbuild / t: перестроить

  3. mono /SonarScanner.MSBuild.exe end /d:sonar.login="token »

Журналы:

SonarScanner for MSBuild 4.4.2
Using the .NET Framework version of the Scanner for MSBuild
Default properties file was found at <SonarScanner Path>/SonarQube.Analysis.xml
Loading analysis properties from <SonarScanner Path>/SonarQube.Analysis.xml
Post-processing started.
SONAR_SCANNER_OPTS is not configured. Setting it to the default value of -Xmx1024m
Calling the SonarQube Scanner...
INFO: Scanner configuration file: <Path>sonar-scanner.properties
INFO: Project root configuration file: <Path>/.sonarqube/out/sonar-project.properties
INFO: SonarQube Scanner 3.2.0.1227
INFO: Java 1.8.0_131 Oracle Corporation (64-bit)
INFO: Mac OS X 10.13.6 x86_64
INFO: SONAR_SCANNER_OPTS=-Xmx1024m
INFO: User cache: xxxx
INFO: SonarQube server 7.4.0
INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent)
INFO: Publish mode
INFO: Load global settings
INFO: Load global settings (done) | time=53ms
INFO: Server id: xxxxx
INFO: User cache: xxxxx
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=32ms
INFO: Load/download plugins (done) | time=51ms
INFO: Loaded core extensions: 
INFO: Process project properties
INFO: Load project repositories
INFO: Load project repositories (done) | time=89ms
INFO: Load quality profiles
INFO: Load quality profiles (done) | time=52ms
INFO: Load active rules
INFO: Load active rules (done) | time=811ms
INFO: Load metrics repository
INFO: Load metrics repository (done) | time=15ms
INFO: Project key: xxxxx
INFO: Project base dir: ….
INFO: -------------  Scan xxxx
INFO: Base dir: …
INFO: Working dir: ……
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Load server rules
INFO: Load server rules (done) | time=227ms
INFO: Index files
INFO: 160 files indexed
INFO: Quality profile for cs: Sonar way
INFO: Quality profile for xml: Sonar way
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=6ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=1ms
INFO: Sensor SonarJavaXmlFileSensor [java]
INFO: 29 source files to be analyzed
INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=107ms
INFO: 29/29 source files have been analyzed
INFO: Sensor XML Sensor [xml]
WARNING: WARN: Metric 'comment_lines_data' is deprecated. Provided value is ignored.
INFO: Sensor XML Sensor [xml] (done) | time=277ms
INFO: SCM Publisher is disabled
INFO: -------------  Scan xxxxx
INFO: Base dir: <Path>
INFO: Working dir: <Path>
INFO: Source paths: ……
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
INFO: 291 files indexed
INFO: Quality profile for cs: Sonar way
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=1ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=0ms
INFO: Sensor SonarJavaXmlFileSensor [java]
INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=1ms
INFO: SCM Publisher is disabled
INFO: -------------  Scan xxxxx
INFO: Base dir: <Path>
INFO: Working dir: <Path>
INFO: Source paths: …….
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
INFO: 112 files indexed
INFO: Quality profile for cs: Sonar way
INFO: Quality profile for xml: Sonar way
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=1ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=0ms
INFO: Sensor SonarJavaXmlFileSensor [java]
INFO: 4 source files to be analyzed
INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=14ms
INFO: 4/4 source files have been analyzed
INFO: Sensor XML Sensor [xml]
WARNING: WARN: Metric 'comment_lines_data' is deprecated. Provided value is ignored.
INFO: Sensor XML Sensor [xml] (done) | time=24ms
INFO: SCM Publisher is disabled
INFO: -------------  Scan xxxxx
INFO: Base dir: <Path>
INFO: Working dir: <Path>
INFO: Source paths: …..
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
INFO: 42 files indexed
INFO: Quality profile for cs: Sonar way
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=0ms
INFO: Sensor C# Properties [csharp]
INFO: Sensor C# Properties [csharp] (done) | time=1ms
INFO: Sensor SonarJavaXmlFileSensor [java]
INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=0ms
INFO: SCM Publisher is disabled
INFO: -------------  Scan xxxxx
INFO: Base dir: <Path>
INFO: Working dir: <Path>
INFO: Source encoding: UTF-8, default locale: en_US
INFO: Index files
INFO: 0 files indexed
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=0ms
INFO: Sensor SonarJavaXmlFileSensor [java]
INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=1ms
INFO: Sensor C# [csharp]
INFO: Importing results from 6 proto files in ‘<Path>/.sonarqube/out/0/output-cs'
INFO: Importing results from 6 proto files in ‘<Path>/.sonarqube/out/1/output-cs'
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 4.903s
INFO: Final Memory: 23M/646M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: Line 736 is out of range for file <Path>/xxxxx.cs. File has 735 lines.
ERROR: 
The SonarQube Scanner did not complete successfully
10:03:23.755  Creating a summary markdown file...
10:03:23.763  Post-processing failed. Exit code: 1

person Arun Gupta    schedule 27.11.2018    source источник
comment
Можно ли закомментировать часть этого файла? Возможно, вы можете ограничить задачу несколькими строками. Также посмотрите кодировку файла.   -  person Jeroen Heier    schedule 27.11.2018


Ответы (1)


В моем случае это произошло из-за того, что Sonarqube не смог обработать кодировку файла. Изучив файл с помощью шестнадцатеричного редактора, я увидел, что файл заканчивается на 00 0d 00 0a 00. После изменения кодировки на UTF-8 теперь она заканчивается на 0d 0a, и Sonarqube снова работает.

person Turysaz    schedule 04.01.2019
comment
Мой файл .cs заканчивается на 7D 0A, а файл .xaml заканчивается на 3E 0A. Это что-нибудь значит? - person Arun Gupta; 06.01.2019
comment
Это означает, что перед последним символом перевода строки (LF 0x0a) нет символа возврата каретки (CR, 0x0d). Возможно, SQ требует окончания строки CRLF .. - person Turysaz; 06.01.2019
comment
Дополнительная информация об этом: en.wikipedia.org/wiki/Newline?wprov=sfla1 - person Turysaz; 06.01.2019