NullPointerException when running scan

Must-share information (formatted with Markdown):

  • which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
    Scanner v 4.0
  • what are you trying to achieve
    scan my local repo
  • what have you tried so far to achieve this
    I’ve run the following command:
sonar-scanner \
  -Dsonar.projectKey=lofocats_2 \
  -Dsonar.sources=. \
  -Dsonar.host.url=https://sonarqube01.dev.bo1.csnzoo.com \
  -Dsonar.login=ecf51e266a90f3a68c3e5840d9a54ff61a9d626a \
  -Dsonar.scm.provider=git \
  -Dsonar.projectBaseDir=/csnzoo/ra222c/lofo/lofocats_api-master

here is my stack trace:

ERROR: Error during SonarQube Scanner execution
java.lang.NullPointerException
	at org.sonarsource.scm.git.GitScmProviderBefore77.revisionId(GitScmProviderBefore77.java:173)
	at org.sonar.scanner.scm.ScmRevisionImpl.get(ScmRevisionImpl.java:62)
	at org.sonar.scanner.report.MetadataPublisher.addScmInformation(MetadataPublisher.java:153)
	at org.sonar.scanner.report.MetadataPublisher.publish(MetadataPublisher.java:105)
	at org.sonar.scanner.report.ReportPublisher.generateReportFile(ReportPublisher.java:152)
	at org.sonar.scanner.report.ReportPublisher.execute(ReportPublisher.java:138)
	at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:366)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
	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:185)
	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
	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 SonarQube Scanner using the -X switch to enable full debug logging.

Could you please let us know what is the version of SonarQube and also the version of the SCM Git plugin that is installed?

Hello
I have the same issue.

  1. I create a new dotnet project:
mkdir TESTSONARSCANNER
cd TESTSONARSCANNER
dotnet new web
dotnet new sln
dotnet sln TESTSONARSCANNER.sln add TESTSONARSCANNER.csproj
  1. Run the analysis:
dotnet sonarscanner begin /k:"testcsharp"
dotnet build 
dotnet sonarscanner end 

Everything is working as expected:

INFO: ------------------------------------------------------------------------                                                                                                                        
INFO: EXECUTION SUCCESS                                                                                                                                                                               
INFO: ------------------------------------------------------------------------                                                                                                                        
INFO: Total time: 9.652s                                                                                                                                                                              
INFO: Final Memory: 22M/80M                                                                                                                                                                           
INFO: ------------------------------------------------------------------------   
  1. I create a git repository:
git init
  1. Re-run the analysis:
dotnet sonarscanner begin /k:"testcsharp"
dotnet build 
dotnet sonarscanner end 

And I have this error:

INFO: ------------------------------------------------------------------------                                                                                                                        
INFO: EXECUTION FAILURE                                                                                                                                                                               
INFO: ------------------------------------------------------------------------                                                                                                                        
INFO: Total time: 10.900s                                                                                                                                                                             
INFO: Final Memory: 22M/77M                                                                                                                                                                           
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
java.lang.NullPointerException
        at org.sonarsource.scm.git.GitScmProviderBefore77.revisionId(GitScmProviderBefore77.java:173)
        at org.sonar.scanner.scm.ScmRevisionImpl.get(ScmRevisionImpl.java:62)
        at org.sonar.scanner.report.MetadataPublisher.addScmInformation(MetadataPublisher.java:153)
        at org.sonar.scanner.report.MetadataPublisher.publish(MetadataPublisher.java:105)
        at org.sonar.scanner.report.ReportPublisher.generateReportFile(ReportPublisher.java:152)
        at org.sonar.scanner.report.ReportPublisher.execute(ReportPublisher.java:138)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:366)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
        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(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        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:185)
        at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
        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: 
The SonarQube Scanner did not complete successfully
09:19:19.174  Post-processing failed. Exit code: 1

My environment:

  • git version 2.16.4
  • dotnet-sonarscanner version ‘4.8.0’
  • sonarqube-developer-7.9.1

Eric

This can be because you don’t have a commit yet. If you run “git commit”, then there will be a commit id/revision id created. After which it should work.

Thanks for the details.
The scanner fails if it can’t find a HEAD reference when running a scan with git.
I created a ticket so that we can fix the problem: https://jira.sonarsource.com/browse/SONAR-13452

Workaround is to make sure there is a HEAD reference. In your case, you need to commit something before running the scanner.
Alternatively, if there is no HEAD, just specify -Dsonar.scm.disabled=true.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.