Jenkins vs SonarQube: issue connected with Sonar Runner and sonar.sources parameter - c#

I received the following information when i was try to build Jenkins C# project:
[Project_Name] $ O:\sonar-runner-2.4\bin\sonar-runner.bat -e -Dsonar.jdbc.url=jdbc:jtds:sqlserver://database.net/sonar;SelectMethod=Cursor ******** ******** -Dsonar.host.url=http://sonar.net:9000 ******** ******** -Dsonar.projectBaseDir=o:\jenkins\workspace\Project_Name -Dsonar.jdbc.password=******* -Dsonar.jdbc.username=sonar
O:/sonar-runner-2.4/
SonarQube Runner 2.4
Java 1.8.0_45 Oracle Corporation (64-bit)
Windows Server 2008 R2 6.1 amd64
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: O:\sonar-runner-2.4\conf\sonar-runner.properties
INFO: Project configuration file: o:\jenkins\workspace\Project_Name\sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: o:\jenkins\workspace\Project_Name\.sonar
INFO: SonarQube Server 5.1
15:44:26.946 INFO - Load global repositories
15:44:27.433 INFO - Load global repositories (done) | time=490ms
15:44:27.438 INFO - Server id: ************
15:44:27.445 INFO - User cache: C:\Users\19231\.sonar\cache
15:44:27.465 INFO - Install plugins
15:44:27.787 INFO - Install JDBC driver
15:44:27.797 INFO - Create JDBC datasource for jdbc:jtds:sqlserver://sonar.net/sonar;SelectMethod=Cursor
15:44:29.808 INFO - Initializing Hibernate
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 6.230s
Final Memory: 15M/451M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalStateException: You must define the following mandatory properties for 'my:AllocationAssistant': sonar.sources
at org.sonar.batch.scan.ProjectReactorBuilder.checkMandatoryProperties(ProjectReactorBuilder.java:315)
at org.sonar.batch.scan.ProjectReactorBuilder.defineRootProject(ProjectReactorBuilder.java:157)
at org.sonar.batch.scan.ProjectReactorBuilder.execute(ProjectReactorBuilder.java:116)
at org.sonar.batch.scan.ProjectScanContainer.projectBootstrap(ProjectScanContainer.java:110)
at org.sonar.batch.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:86)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:90)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)
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.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
... 9 more
ERROR:
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
Build step 'Invoke Standalone Sonar Analysis' marked build as failure
Finished: FAILURE
sonar-project.properties file looks like:
sonar.projectKey=my:AllocationAssistant
sonar.projectName=AllocationAssistant
sonar.projectVersion=prd
sonar.source=.
sonar.language=cs
sonar.dotnet.visualstudio.solution.file=AllocationAssistant.sln
sonar.dotnet.excludeGeneratedCode=true
sonar.dotnet.4.0.sdk.directory=C:/Windows/Microsoft.NET/Framework/v4.0.30319
sonar.dotnet.version=4.0
Anybody have an idea what could be wrong with sonar-project.properties?
I assume that there could be problem.
Sonar-project.properties is in the same folder where .sln is located.
I will be grateful for your opinion and help.

There is a typo in your sonar-project.properties configuration file. 'sonar.source' instead of 'sonar.sources'

Related

Analyzing c# project using travis and sonarcloud gives "no lines of code"

I've been struggling with this issue for a few days now and I can't seem to pinpoint what I'm doing wrong.
I've been trying to analyze a c# project that is build with travis CI and analyzed in sonarcloud.
I've set up travis (see: https://travis-ci.org/ShiveringSquirrel/heroes-app-webapi) to build and it seems to work fine.
Configuration
See .travis.yml
language: csharp
solution: heroes-app-webapi.sln
dist: trusty
sudo: required
mono:
- latest
install:
- nuget restore heroes-app-webapi.sln
- nuget install NUnit.Console -Version 3.9.0 -OutputDirectory testrunner
addons:
sonarcloud:
organization: "shiveringsquirrel-github"
token:
secure: $SONAR_TOKEN
script:
- msbuild /p:Configuration=Release /target:rebuild heroes-app-webapi.sln
- mono ./testrunner/NUnit.ConsoleRunner.3.9.0/tools/nunit3-console.exe ./heroes-app-webapi.Tests/bin/Release/heroes-app-webapi.Tests.dll
- sonar-scanner -Dsonar.projectVersion=1.$TRAVIS_BUILD_NUMBER
cache:
directories:
- '$HOME/.sonar/cache'
git:
clone: true
quiet: false
depth: false
submodules: true
# blocklist
branches:
except:
- legacy
- experimental
# safelist
branches:
only:
- master
- stable
See sonar-project.properties
sonar.projectKey=ShiveringSquirrel_heroes-app-webapi
sonar.projectName=heroes-app-webapi
#sonar.projectVersion=1.0
sonar.projectDescription=The backend API for the Heroes test application
sonar.links.homepage=https://github.com/ShiveringSquirrel/heroes-app-webapi
sonar.links.ci=https://travis-ci.org/ShiveringSquirrel/heroes-app-webapi
sonar.links.scm=https://github.com/ShiveringSquirrel/heroes-app-webapi
sonar.links.issue=https://github.com/ShiveringSquirrel/heroes-app-webapi/issues
#sonar.sources=.
#sonar.sources=src/main
#sonar.tests=src/test
sonar.sources=heroes-app-webapi
sonar.tests=heroes-app-webapi.Tests
sonar.scm.provider=git
sonar.scm.forceReloadAll=true
sonar.dotnet.visualstudio.testProjectPattern=*.Test
sonar.language=cs
sonar.sourceEncoding=UTF-8
sonar.verbose=true
sonar.exclusions=**/*.xml
sonar.inclusions=**/*.cs
sonar.cs.nunit.reportsPaths=TestResult.xml
Building
The full build log for travis: See full build log
Some relevant snippets form the log:
$ mono --version
Mono JIT compiler version 5.20.1.19 (tarball Thu Apr 11 09:05:42 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(600)
Suspend: hybrid
GC: sgen (concurrent by default)
$ msbuild /version
Microsoft (R) Build Engine version 16.0.0.0 for Mono
Copyright (C) Microsoft Corporation. All rights reserved.
Building with msbuild
$ msbuild /p:Configuration=Release /target:rebuild heroes-app-webapi.sln
....
302 Warning(s)
0 Error(s)
Time Elapsed 00:00:06.94
The command "msbuild /p:Configuration=Release /target:rebuild heroes-app-webapi.sln" exited with 0.
Unit testing
$ mono ./testrunner/NUnit.ConsoleRunner.3.9.0/tools/nunit3-console.exe ./heroes-app-webapi.Tests/bin/Release/heroes-app-webapi.Tests.dll
....
Test Run Summary
Overall result: Passed
Test Count: 25, Passed: 25, Failed: 0, Warnings: 0, Inconclusive: 0, Skipped: 0
Start time: 2019-07-14 21:00:34Z
End time: 2019-07-14 21:00:36Z
Duration: 2.559 seconds
Results (nunit3) saved as TestResult.xml
The command "mono ./testrunner/NUnit.ConsoleRunner.3.9.0/tools/nunit3-console.exe ./heroes-app-webapi.Tests/bin/Release/heroes-app-webapi.Tests.dll" exited with 0.
Sonar-scanner
$ sonar-scanner -Dsonar.projectVersion=1.$TRAVIS_BUILD_NUMBER
...
21:00:40.716 DEBUG: Plugins:
...
21:00:40.717 DEBUG: * SonarC# 7.15.0.8572 (csharp)
...
21:00:46.518 DEBUG: 77 non excluded files in this Git repository
21:00:46.541 DEBUG: 'heroes-app-webapi/Global.asax.cs' indexed with language 'cs'
21:00:46.549 DEBUG: 'heroes-app-webapi/Attributes/JwtAuthenticationAttribute.cs' indexed with language 'cs'
...
21:00:46.802 INFO: 30 files indexed
21:00:46.803 INFO: 0 files ignored because of inclusion/exclusion patterns
21:00:46.804 INFO: 0 files ignored because of scm ignore settings
21:00:46.805 INFO: Quality profile for cs: Sonar way
21:00:46.806 INFO: ------------- Run sensors on module heroes-app-webapi
...
21:00:51.019 INFO: Sensor C# Properties [csharp]
21:00:51.021 WARN: No Roslyn issues report found for this project.
...
21:00:51.052 INFO: Sensor C# Unit Test Results Import [csharp]
21:00:51.054 INFO: Parsing the NUnit Test Results file /home/travis/build/ShiveringSquirrel/heroes-app-webapi/./TestResult.xml
...
21:00:51.713 INFO: SCM provider for this project is: git
21:00:51.715 INFO: 27 files to be analyzed
...
21:00:52.065 INFO: 27/27 files analyzed
21:00:52.068 INFO: Calculating CPD for 0 files
21:00:52.078 INFO: CPD calculation finished
21:00:52.235 INFO: Analysis report generated in 151ms, dir size=190 KB
21:00:52.288 INFO: Analysis report compressed in 51ms, zip size=56 KB
21:00:52.289 INFO: Analysis report generated in /home/travis/build/ShiveringSquirrel/heroes-app-webapi/.scannerwork/scanner-report
21:00:52.290 DEBUG: Upload report
21:00:52.630 DEBUG: POST 200 https://sonarcloud.io/api/ce/submit?organization=shiveringsquirrel-github&projectKey=ShiveringSquirrel_heroes-app-webapi&projectName=heroes-app-webapi | time=338ms
21:00:52.633 INFO: Analysis report uploaded in 343ms
21:00:52.637 INFO: ANALYSIS SUCCESSFUL, you can browse https://sonarcloud.io/dashboard?id=ShiveringSquirrel_heroes-app-webapi
21:00:52.637 INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
21:00:52.639 INFO: More about the report processing at https://sonarcloud.io/api/ce/task?id=AWvySdH4BABcSdLoSktk
21:00:52.640 DEBUG: Report metadata written to /home/travis/build/ShiveringSquirrel/heroes-app-webapi/.scannerwork/report-task.txt
21:00:52.646 DEBUG: Post-jobs :
21:00:52.650 INFO: Analysis total time: 11.885 s
21:00:52.652 INFO: ------------------------------------------------------------------------
21:00:52.656 INFO: EXECUTION SUCCESS
21:00:52.658 INFO: ------------------------------------------------------------------------
21:00:52.662 INFO: Total time: 15.232s
21:00:52.860 INFO: Final Memory: 34M/349M
21:00:52.860 INFO: ------------------------------------------------------------------------
21:00:52.860 DEBUG: Execution getVersion
21:00:52.860 DEBUG: Execution stop
The command "sonar-scanner -Dsonar.projectVersion=1.$TRAVIS_BUILD_NUMBER" exited with 0.
So to me it all looks pretty good, only in sonarcloud.io (https://sonarcloud.io/dashboard?id=ShiveringSquirrel_heroes-app-webapi) I see nothing is analyzed.
Not even lines of code, it did update my build number and other settings. But no report or analysis. If I look at the background task:
21:00:52.639 INFO: More about the report processing at https://sonarcloud.io/api/ce/task?id=AWvySdH4BABcSdLoSktk
It says "success". The other thing I've tried to investigate is the one warning I have:
21:00:51.021 WARN: No Roslyn issues report found for this project.
But it seems to me from the log that everything is analyzed properly...
Any ideas?

SonarQube - C# Code not being displayed on Dashboard

I am having an issue with SonarQube 6.7 where it is not displaying any C# code issues or bugs, during the analysis I can see C# is being analysed and the build is successful but when I check the SonarQube Dashboard it is only showing Typescript and XML.
I am using Jenkins to build the project using Mono as all our building is done on Ubuntu 16.04.
Setup as follows:
Jenkins 2.89.2 on Ubuntu 16.04
SonarQube Version 6.7 (build 33306) on Ubuntu 16.04 (Separate server)
Sonar C# 6.8.1
SonarQube Scanner for MSBuild 4.0.1
Mono 5.10.0 Stable
Using a Pipeline In Jenkins I am doing the following:
node {
sh 'mono ~/tools/hudson.plugins.sonar.MsBuildSQRunnerInstallation/MSBuild/SonarQube.Scanner.MSBuild.exe begin /key:12345678FAKEKEY9l02998745'
sh 'dotnet restore WSP1.sln'
sh 'dotnet msbuild WSP1.sln'
sh 'mono ~/tools/hudson.plugins.sonar.MsBuildSQRunnerInstallation/MSBuild/SonarQube.Scanner.MSBuild.exe end' } }
The above pipeline script works without any issues.
When I run this pipeline I can see that the C# code is being Analysed, this is just a snippet of code being analysed:
Services/Project1/Services/Project1EventsShould.cs(130,21): warning S1186: Add a nested comment explaining why this method is empty, throw a 'NotSupportedException' or complete the implementation. [/var/lib/jenkins/workspace/CSharpAnalysis/WSP1/test/Unit/Unit.csproj]
Services/Project1/Services/Project1EventsShould.cs(137,21): warning S1186: Add a nested comment explaining why this method is empty, throw a 'NotSupportedException' or complete the implementation. [/var/lib/jenkins/workspace/CSharpAnalysis/WSP1/test/Unit/Unit.csproj]
Services/Project1/Models/ZenEventShould.cs(24,17): warning S1481: Remove this unused 'date' local variable. [/var/lib/jenkins/workspace/CSharpAnalysis/WSP1/test/Unit/Unit.csproj]
Services/Project1/Models/CollaborationUserShould.cs(16,17): warning S1481: Remove this unused 'sut' local variable. [/var/lib/jenkins/workspace/CSharpAnalysis/WSP1/test/Unit/Unit.csproj]
At the end I get a SUCCESS, everything looks good but when I check SonarQube I can see that the uploaded code is being analysed for display in SonarQube, this usually takes a minute or so but when this is completed I can see that only TypeScript and XML is displayed.
In amongst the output I get some warnings, info and errors but nothing looks sinister, at the end of the output I get the success message
INFO: 68 files had no CPD blocks
INFO: Calculating CPD for 281 files
INFO: CPD calculation finished
INFO: Analysis report generated in 1771ms, dir size=5 MB
INFO: Analysis reports compressed in 3908ms, zip size=2 MB
INFO: Analysis report uploaded in 5866ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://sonar.serverdomain.com:9000/dashboard/index/12345678FAKEKEY9l02998745
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://sonar.serverdomain.com:9000/api/ce/task?id=AKsdHc7FAKEIDVOeCzBYv
INFO: Task total time: 1:32.107 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 1:42.735s
INFO: Final Memory: 54M/397M
INFO: ------------------------------------------------------------------------
The SonarQube Scanner has finished
14:59:57.577 Creating a summary markdown file...
14:59:57.59 Analysis results: http://sonar.serverdomain.com:9000/dashboard/index/12345678FAKEKEY9l02998745
14:59:57.591 Post-processing succeeded.
Finished: SUCCESS
I have the full output handy, I just need to sanitize this to remove anything that may be sensitive, if you would like a look just let me know and I will post this.
I am pretty new to SonarQube so the issue I am having could be something silly but I have been ripping my hair out trying to figure this out.
EDIT : I was digging through the output again and noticed 2 warning in the following:
INFO: Quality profile for cs: Sonar way
INFO: Quality profile for ts: Sonar way
INFO: Quality profile for xml: Sonar way
INFO: Sensor C# Properties [csharp]
WARNING: WARN: Property missing: 'sonar.cs.analyzer.projectOutPaths'. No protobuf files will be loaded for this project.
WARNING: WARN: No roslyn issues report not found for this project.
INFO: Sensor C# Properties [csharp] (done) | time=1ms
I just ran into the same issue on Sonarqube 6.7.4 (build 38452).
Solved by two steps:
After updating the built-in SonarC# plugin to version 7.2 (build 5463) (Uninstall-Restart-Install-Restart), and re-scanning, code issues (vulnerabilities, code smells, etc) showed up.
Introduced package coverlet.msbuild into test projects to generate coverage data, configured Project - Administration - C# - OpenCover Unit Tests Reports Paths to use path/to/coverage.opencover.xml. After re-scanning, test coverage data showed up.
Here are all the commands executed after above configurations:
dotnet path/to/SonarScanner.MSBuild.dll begin /k:"project-key"
dotnet build
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
dotnet path/to/SonarScanner.MSBuild.dll end

Sonarqube C# v5.5.2 still has “java.lang.IllegalArgumentException: is not a valid line offset for pointer”

This is related to Sonarqube C# scanner exception: "java.lang.IllegalArgumentException: is not a valid line offset for pointer"
Using Sonarqube v5.6.4 on a windows server, c# scanner v5.5.2.537.
MSBuild version is: Microsoft (R) Build Engine version 14.0.25420.1
I'm just using the non-service mode, StartSonar.bat while trying to get it working on this codebase, if that makes any difference.
The GlobalSuppressions.cs file in question is UTF-16. You can view it in an online hex editor.
INFO: Importing analysis results from X:\tfs\Sonar2016\.sonarqube\out\PROJECTNAME\output-cs
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 2:49.355s
INFO: Final Memory: 61M/2305M
ERROR: Error during SonarQube Scanner execution
INFO: ------------------------------------------------------------------------
java.lang.IllegalArgumentException: 47 is not a valid line offset for pointer. File [moduleKey=no_AfterCompile_NormalBuild:no_AfterCompile_NormalBuild:DB96E47F-8CF8-487B-A19C-69BE6EC13F0F, relative=GlobalSuppressions.cs, basedir=X:\tfs\Sonar2016\PROJECTLOCATION] has 1 character(s) at line 2
at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:218)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:209)
at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:240)
at org.sonarsource.dotnet.shared.plugins.SensorContextUtils.toTextRange(SensorContextUtils.java:41)
at org.sonarsource.dotnet.shared.plugins.protobuf.HighlightImporter.consumeFor(HighlightImporter.java:51)
at org.sonarsource.dotnet.shared.plugins.protobuf.HighlightImporter.consumeFor(HighlightImporter.java:33)
at org.sonarsource.dotnet.shared.plugins.protobuf.ProtobufImporter.consume(ProtobufImporter.java:49)
at org.sonarsource.dotnet.shared.plugins.protobuf.RawProtobufImporter.accept(RawProtobufImporter.java:43)
at org.sonarsource.dotnet.shared.plugins.AbstractSensor.parseProtobuf(AbstractSensor.java:95)
at org.sonarsource.dotnet.shared.plugins.AbstractSensor.importResults(AbstractSensor.java:87)
at org.sonar.plugins.csharp.CSharpSensor.executeInternal(CSharpSensor.java:111)
at org.sonar.plugins.csharp.CSharpSensor.execute(CSharpSensor.java:82)
at org.sonar.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57)
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
at org.sonar.batch.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:234)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
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.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:233)
at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
The SonarQube Scanner did not complete successfully
14:27:41.669 Creating a summary markdown file...
14:27:41.694 Post-processing failed. Exit code: 1

SonarRunner works with Sonar 3.2, but not with SonarQube 4.4

Environment: Windows 7 | SonarQube 4.4 | SonarRunner 2.4 | .NET (C#)
I have been using Sonar 3.2 & SonarRunner 2.0. Projects are being displayed in Sonar dashboard upon typing "sonar-runner" in command prompt, where project base directory is there.
With the same set of configurations, when I upgrade to SonarQube 4.4 & SonarRunner 2.4, following exceptions are thrown upon typing "sonar-runner" in command prompt, where project base directory is there:
C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKTest>sonar-runner
C:\Users\kprasad\Downloads\sonar-runner-2.4
SonarQube Runner 2.4
Java 1.6.0_38-ea Sun Microsystems Inc. (32-bit)
Windows 7 6.1 x86
INFO: Runner configuration file: C:\Users\kprasad\Downloads\sonar-runner-2.4\con
f\sonar-runner.properties
INFO: Project configuration file: C:\Users\kprasad\Documents\Visual Studio 2013\
Projects\LKTest\sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKT
est\.\.sonar
INFO: SonarQube Server 4.4.1
18:49:01.343 INFO - Load global settings
18:49:01.436 INFO - User cache: C:\Users\kprasad\.sonar\cache
18:49:01.447 INFO - Install plugins
18:49:02.087 INFO - Install JDBC driver
18:49:02.094 WARN - H2 database should be used for evaluation purpose only
18:49:02.094 INFO - Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
18:49:02.164 INFO - Initializing Hibernate
18:49:05.018 INFO - Loading technical debt model...
18:49:05.042 INFO - Loading technical debt model done: 24 ms
18:49:05.047 INFO - Load project settings
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 4.283s
Final Memory: 37M/89M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with t
he -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKTest>
sonar project properties:
sonar.projectKey=LKTest Sonar Report
sonar.projectVersion=1.0
sonar.projectName=LKTest
sonar.sources=.
sonar.language=cs
sonar.sourceEncoding=UTF-8
sonar.visualstudio.enable=true
sonar.cs.opencover.reportPaths=results.xml
sonar.dotnet.visualstudio.solution.file=LKTest.sln
sonar.silverlight.4.mscorlib.location=C:/Program Files/Reference Assemblies/Microsoft/Framework/Silverlight/v4.0
sonar.dotnet.excludeGeneratedCode=true
sonar.dotnet.4.0.sdk.directory=C:/Windows/Microsoft.NET/Framework/v4.0.30319
sonar.dotnet.version=4.0
sonar.gendarme.mode=
sonar.gallio.mode=
sonar.gallio.coverage.tool=OpenCover
sonar.gallio.runner=Local
sonar.dotnet.visualstudio.testProjectPattern=*.Test*
sonar.gallio.reports.path=gallio-report.xml
sonar.gallio.coverage.reports.path=coverage-report.xml
sonar.opencover.installDirectory=C:/Program Files/OpenCover/
sonar.dotnet.test.assemblies=C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKTest\LKTest.Tests\bin\Debug\LKTest.Tests.dll
sonar.fxcop.mode=reusereport
sonar.stylecop.mode=reusereport
sonar.ndeps.mode=reusereport
PFB the output when I re-run "sonar-runner -e" in command prompt, where the project base directory is there:
C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKTest>sonar-runner -e
C:\Users\kprasad\Downloads\sonar-runner-2.4
SonarQube Runner 2.4
Java 1.6.0_38-ea Sun Microsystems Inc. (32-bit)
Windows 7 6.1 x86
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\Users\kprasad\Downloads\sonar-runner-2.4\con
f\sonar-runner.properties
INFO: Project configuration file: C:\Users\kprasad\Documents\Visual Studio 2013\
Projects\LKTest\sonar-project.properties
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKT
est\.\.sonar
INFO: SonarQube Server 4.4.1
12:39:51.109 INFO - Load global settings
12:39:51.324 INFO - User cache: C:\Users\kprasad\.sonar\cache
12:39:51.344 INFO - Install plugins
12:39:51.791 INFO - Install JDBC driver
12:39:51.810 WARN - H2 database should be used for evaluation purpose only
12:39:51.811 INFO - Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
12:39:51.984 INFO - Initializing Hibernate
12:39:55.507 INFO - Loading technical debt model...
12:39:55.540 INFO - Loading technical debt model done: 33 ms
12:39:55.544 INFO - Load project settings
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 6.759s
Final Memory: 37M/89M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher
.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102
)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalArgumentException
at java.net.URI.create(URI.java:841)
at org.sonar.batch.bootstrap.ServerClient.doRequest(ServerClient.java:99
)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:85)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:81)
at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:77)
at org.sonar.batch.settings.DefaultSettingsReferential.downloadSettings(
DefaultSettingsReferential.java:65)
at org.sonar.batch.settings.DefaultSettingsReferential.projectSettings(D
efaultSettingsReferential.java:56)
at org.sonar.batch.bootstrap.BatchSettings.downloadSettings(BatchSetting
s.java:92)
at org.sonar.batch.bootstrap.BatchSettings.init(BatchSettings.java:71)
at org.sonar.batch.scan.ProjectSettingsReady.start(ProjectSettingsReady.
java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(
ReflectionLifecycleStrategy.java:110)
at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(Reflect
ionLifecycleStrategy.java:89)
at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter
.start(AbstractInjectionFactory.java:84)
at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.j
ava:169)
at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Store
d.java:132)
at org.picocontainer.behaviors.Stored.start(Stored.java:110)
at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(Defaul
tPicoContainer.java:1015)
at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoConta
iner.java:1008)
at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.jav
a:766)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentCo
ntainer.java:91)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.
java:77)
at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:64)
at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:51)
at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.ja
va:110)
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentCo
ntainer.java:92)
at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.
java:77)
at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapCon
tainer.java:185)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java
:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher
.java:87)
... 9 more
Caused by: java.net.URISyntaxException: Illegal character in query at index 80:
http://localhost:9025/batch_bootstrap/properties?dryRun=false&project=LKTest
Sonar Report
at java.net.URI$Parser.fail(URI.java:2810)
at java.net.URI$Parser.checkChars(URI.java:2983)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3015)
at java.net.URI.<init>(URI.java:577)
at java.net.URI.create(URI.java:839)
... 47 more
ERROR:
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
C:\Users\kprasad\Documents\Visual Studio 2013\Projects\LKTest>
Please help in sorting out these exceptions & let me know if any additional details are required, thanks.
Regards,
KP
The problem is that your "sonar.projectKey" contains space characters.
In recent versions of SonarQube, we enforced the kind of characters that are allowed in project keys: only letters, digits, '_', '.' and ':'. See SONAR-4188 for reference.

How to set FxCop installation path using SonarQube's C# plugin

I'm trying to analyze .NET C# project using SonarQube C# plugin.
From C# Plugin 3.0, FxCop is automatically executed even thogh "sonar.fxcop.mode=skip" in sonar-project.properties, so I installed FxCop to following directory.
C:\Program Files (x86)\Microsoft FxCop 1.35
When I ran SonarQube Runner from Jenkins's sonar plugin, then I got following error.
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: The property "sonar.cs.fxcop.assembly" must be set.
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
Build step 'Invoke Standalone Sonar Analysis' marked build as failure
Finished: FAILUR
I enabled Visual Studio Bootstrapper on SonarQube, and I ran SonarQube Runner again, then I got following error.
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: java.io.IOException: Cannot run program "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe": CreateProcess error=2, ?w?????t?#?
ERROR: Caused by: Cannot run program "C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe": CreateProcess error=2, ?w?????t?#?
ERROR: Caused by: CreateProcess error=2, ?w?????t?#?
ERROR:
ERROR: To see the full stack trace of the errors, re-run SonarQube Runner with the -e switch.
ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging.
I add "sonar.fxcop.installDirector=C:/Program Files (x86)/Microsoft FxCop 1.35" to sonar-project.properties, and ran SonarQube Runner again however same error occured.
I guess if Visual Studio Bootstrapper disabled and sonar-project.properties specify "sonar.cs.fxcop.assembly" and "sonar.fxcop.installDirector" correctly, It's work fine, but I don't want to specify many properties in sonar-project.properties.
How can I set FxCop execution path with enabling Visual Studio Bootstrapper?
Environment:
SonarQube4.2
SonarQube's C# plugin 3.0
SonarQube Runner 2.4
sonar-project.properties
sonar.projectKey=xxxxx
sonar.projectVersion=1.0
sonar.projectName=Project Name
sonar.language=cs
sonar.dotnet.key.generation.strategy=safe
sonar.sourceEncoding=UTF-8
# This property is set because it is required by the SonarQube Runner.
# But it is not taken into account because the location of the source
# code is retrieved from the .sln and .csproj files.
sonar.sources=.
sonar.fxcop.mode=skip
sonar.gendarme.mode=skip
sonar.gallio.mode=skip
sonar.ndeps.mode=skip
sonar.stylecop.mode=skip
sonar.fxcop.installDirector=C:/Program Files (x86)/Microsoft FxCop 1.35
Regards
I found the solution for this issue , Login as an administration on sonar qube and then go to setting , under general setting you find Category, select C# then Click on Code Analysis/FxCop tab , then find "Path to FxCopCMD.Exe" and add the full path of FXCopCMD.exe as suggested in example
click on this to see image and process
Same problem here. I think after you installed Visual Studio Bootstrapper you'll need to setup the following key to match the path to FxCop executable:
sonar.cs.fxcop.fxCopCmdPath
which by default has the value you mentioned in the second error log.

Categories