gabrie-allaigre / sonar-gitlab-plugin

Add to each commit GitLab in a global commentary on the new anomalies added by this commit and add comment lines of modified files
GNU Lesser General Public License v3.0
713 stars 207 forks source link

[ERROR] SonarQube failed to complete the review of this commit java.lang.ArrayIndexOutOfBoundsException #125

Closed gogengo closed 6 years ago

gogengo commented 6 years ago

Hello,

I hope someone can help me regarding the problem I am facing with.

I have lab environment: GitLab: GitLab Community Edition 10.6.0 SonarQube: Version 7.0 (build 36138) SonarQube GitLab plugin: GitLab Plugin for Reporting 2.1.0 installed

I have setup basic pipeline in GitLab to build, test and analyze some java code.

image: maven:latest

stages:
  - build
  - test
  - analyze

job1:
  stage: build
  script:
    - mvn compile

job2:
  stage: test
  script:
    - mvn test

job3:
  stage: analyze
  only:
    - /^feature\/*/
  script:
    - mvn -X --batch-mode verify sonar:sonar -Dsonar.host.url=$SONAR_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.analysis.mode=preview -Dsonar.gitlab.project_id=$CI_PROJECT_PATH -Dsonar.gitlab.commit_sha=$CI_COMMIT_REF -Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -Dsonar.gitlab.project_id=$CI_PROJECT_PATH

On SonarQube Instance I configured: Administration > Configuration > Global Settings > GitLab sonar.gitlab.url: http://192.168.100.219/ sonar.gitlab.user_token: **** (Developer permission)

Projects > Administration > Global Settings > GitLab sonar.gitlab.project_id: http://192.168.100.219/tgengo/sonarqube.git

When I run pipeline, SonarQube analysis is executed and I can see results on SonarQube instance, but nothing on GitLab. The console log output with error message:

[DEBUG] 08:13:17.745 Post-jobs : Display issues (wrapped) -> GitLab Commit Issue Publisher (wrapped)
[INFO] 08:13:17.745 Executing post-job Display issues (wrapped)
[INFO] 08:13:17.749 OPEN squid:S2160 : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/languages/FooLanguage.java(32)
[INFO] 08:13:17.750 OPEN squid:CallToDeprecatedMethod : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/measures/SetSizeOnFilesSensor.java(49)
[INFO] 08:13:17.750 OPEN squid:RedundantThrowsDeclarationCheck : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/rules/FooLintIssuesLoaderSensor.java(194)
[INFO] 08:13:17.751 OPEN squid:S2259 : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/rules/FooLintIssuesLoaderSensor.java(122)
[INFO] 08:13:17.752 OPEN squid:S1075 : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/rules/FooLintRulesDefinition.java(30)
[INFO] 08:13:17.753 OPEN squid:CallToDeprecatedMethod : org.sonarsource.plugins.example:sonar-example-plugin:src/main/java/org/sonarsource/plugins/example/settings/SayHelloFromScanner.java(36)
[INFO] 08:13:17.755 Executing post-job GitLab Commit Issue Publisher (wrapped)
[DEBUG] 08:13:17.761 getRevisionForLine src/main/java/org/sonarsource/plugins/example/rules/FooLintIssuesLoaderSensor.java Line{number=122, content='    RuleKey ruleKey = RuleKey.of(getRepositoryKeyForLanguage(inputFile.language()), externalRuleKey);'}
[DEBUG] 08:13:17.762 getRevisionForLine notfound
[DEBUG] 08:13:17.763 Revision for issue org.sonar.scanner.postjob.DefaultPostJobContext$DefaultIssueWrapper@47596e9 null false
[DEBUG] 08:13:17.763 inputComponent src/main/java/org/sonarsource/plugins/example/rules/FooLintIssuesLoaderSensor.java 122
[ERROR] 08:13:17.764 SonarQube failed to complete the review of this commit
java.lang.ArrayIndexOutOfBoundsException: 0
    at java.util.Arrays$ArrayList.get(Arrays.java:3841)
    at com.talanlabs.sonar.plugins.gitlab.Reporter.process(Reporter.java:49)
    at com.talanlabs.sonar.plugins.gitlab.CommitIssuePostJob.processIssue(CommitIssuePostJob.java:144)
    at com.talanlabs.sonar.plugins.gitlab.CommitIssuePostJob.lambda$processIssues$0(CommitIssuePostJob.java:114)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:390)
    at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
    at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    at com.talanlabs.sonar.plugins.gitlab.CommitIssuePostJob.processIssues(CommitIssuePostJob.java:114)
    at com.talanlabs.sonar.plugins.gitlab.CommitIssuePostJob.execute(CommitIssuePostJob.java:68)
    at org.sonar.scanner.postjob.PostJobWrapper.executeOn(PostJobWrapper.java:58)
    at org.sonar.scanner.phases.PostJobsExecutor.execute(PostJobsExecutor.java:66)
    at org.sonar.scanner.phases.PostJobsExecutor.execute(PostJobsExecutor.java:55)
    at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:94)
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:180)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:288)
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:283)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:261)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48)
    at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121)
    at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:71)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy24.execute(Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:171)
    at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:128)
    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:63)
    at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:108)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

[ERROR] 08:13:17.805 Unable to update commit status
java.io.FileNotFoundException: http://192.168.100.219/api/v4/projects/4/statuses/null
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1890)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
    at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.parse(GitLabHTTPRequestor.java:336)
    at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.to(GitLabHTTPRequestor.java:123)
    at com.talanlabs.gitlab.api.v4.http.GitLabHTTPRequestor.to(GitLabHTTPRequestor.java:95)
    at com.talanlabs.gitlab.api.v4.services.GitLabAPICommits.postCommitStatus(GitLabAPICommits.java:181)
    at com.talanlabs.sonar.plugins.gitlab.GitLabApiV4Wrapper.createOrUpdateSonarQubeStatus(GitLabApiV4Wrapper.java:211)
    at com.talanlabs.sonar.plugins.gitlab.CommitFacade.createOrUpdateSonarQubeStatus(CommitFacade.java:103)
    at com.talanlabs.sonar.plugins.gitlab.CommitIssuePostJob.execute(CommitIssuePostJob.java:103)
    at org.sonar.scanner.postjob.PostJobWrapper.executeOn(PostJobWrapper.java:58)
    at org.sonar.scanner.phases.PostJobsExecutor.execute(PostJobsExecutor.java:66)
    at org.sonar.scanner.phases.PostJobsExecutor.execute(PostJobsExecutor.java:55)
    at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:94)
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:180)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:288)
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:283)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:261)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48)
    at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
    at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121)
    at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116)
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:71)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy24.execute(Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:171)
    at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:128)
    at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:63)
    at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:108)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

[INFO] 08:13:17.826 Task total time: 4.410 s
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:08 min
[INFO] Finished at: 2018-04-05T08:13:17Z
[INFO] ------------------------------------------------------------------------

Thank you.

BR, Tamara

iceycake commented 6 years ago

I ran into this problem. This issue was closed by original poster without explains how to resolve it. Any insight?

gogengo commented 6 years ago

Hello,

I have closed the issue, after I had resolved it. I have used -Dsonar.gitlab.commit_sha=$CI_COMMIT_REF instead of -Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA as GitLab version is GitLab Community Edition 10.6.0.

BR, Tamara