GoogleCloudPlatform / GoogleCloudPlatform/cloud-builders-community
Error with SonarQube Scanner
- Dominant language
- Go
- Stars
- 1.3k
- Forks
- 848
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I have a GAE Std project which I run with Maven as:
`mvn clean verify sonar:sonar appengine:deploy -Pdevelopment`
and from my machine is working fine, both Sonar analysis and GAE deployment.
I reproduced the behaviour inside a Cloud Build configuration:
```
steps:
- id: 'Deploy with mvn'
name: 'gcr.io/cloud-builders/mvn'
args:
- 'clean'
- 'verify'
- 'sonar:sonar'
- 'package'
- 'appengine:deploy'
- '-Pdevelopment'
- '-Dgit.branch=$BRANCH_NAME'
- '-Dsonar.host.url=https://xxxxxx'
- '-Dsonar.login=xxxxxxx'
dir: 'project'
```
The GAE deployment works fine, but the SonarQube analysis is failing on every Java file:
(note that this log is replicated for every Java file)
```
INFO] 91 source files to be analyzed
[ERROR] Unable to create symbol table for : /workspace/project/src/main/java/xx/xx/xx.java
java.lang.IllegalArgumentException: null
at org.objectweb.asm.ClassReader.(ClassReader.java:160)
at org.objectweb.asm.ClassReader.(ClassReader.java:143)
at org.sonar.java.resolve.BytecodeCompleter.loadClass(BytecodeCompleter.java:204)
at org.sonar.java.resolve.Symbols.(Symbols.java:176)
at org.sonar.java.resolve.SemanticModel.createFor(SemanticModel.java:59)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:110)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:96)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:68)
at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:120)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:114)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:91)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:88)
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 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.$Proxy43.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.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:65)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:104)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
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:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
```
The analysis is successfully submitted to SonarQube server (so configuration and authentication is correct), but the analysis shows that 0 files has been processed
After that I tried to use the SonarScanner image, as suggested in this example:
https://github.com/GoogleCloudPlatform/cloud-builders-community/blob/master/sonarqube/examples/cloudbuild.yaml
But I'm getting a different kind of error:
```
HEAD is now at 47c595c no message
BUILD
Pulling image: gcr.io/my-project-id/sonar-scanner:latest
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
Error response from daemon: manifest for gcr.io/my-project-id/sonar-scanner:latest not found
ERROR: failed to pull because we ran out of retries.
ERROR
ERROR: build step 0 "gcr.io/my-project-id/sonar-scanner:latest" failed: error pulling build step 0 "gcr.io/my-project-id/sonar-scanner:latest": exit status 1
```
Both solutions are not working, do you have any suggest?
Contributor guide
Assessment
This issue has not been assessed yet.