All our PHP files are being indexed, however whenever it tries to analyse them we get a error:
ERROR: Could not analyse <filename>
java.lang.NullPointerException: null
Using SonarCloud, CircleCI, and Bitbucket.
We have a monorepo and have configured the multiple services as SonarCloud modules.
The indexing logs:
INFO: Indexing files...
INFO: Project configuration:
INFO: Indexing files of module 'frontend'
INFO: Base dir: /home/circleci/project/frontend
INFO: Source paths: src
INFO: Indexing files of module 'api-gateway'
INFO: Base dir: /home/circleci/project/services/api-gateway
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'module1'
INFO: Base dir: /home/circleci/project/services/module1
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'module2'
INFO: Base dir: /home/circleci/project/services/module2
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'module3'
INFO: Base dir: /home/circleci/project/services/module3
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'module4'
INFO: Base dir: /home/circleci/project/services/module4
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'module5'
INFO: Base dir: /home/circleci/project/services/module5
INFO: Source paths: app
INFO: Test paths: tests
INFO: Indexing files of module 'app'
INFO: Base dir: /home/circleci/project
INFO: 501 files indexed
INFO: 113 files ignored because of scm ignore settings
INFO: Quality profile for css: Sonar way
INFO: Quality profile for js: Sonar way
INFO: Quality profile for json: Sonar way
INFO: Quality profile for php: Sonar way
INFO: Quality profile for ts: Sonar way
Then when analysing the PHP modules, there’s the same error for every single PHP file.
Example errors:
ERROR: Could not analyse services/api-gateway/app/Exceptions/Handler.php
java.lang.NullPointerException: null
at com.sonar.security.frontend.php.ucfg.H.visitCompilationUnit(na:798)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.analyze(PHPVisitorCheck.java:644)
at com.sonar.security.frontend.php.rules.A.visitCompilationUnit(na:2003)
at com.sonar.security.frontend.php.rules.SQLInjectionCheck.visitCompilationUnit(na:988)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.analyze(PHPVisitorCheck.java:644)
at org.sonar.php.PHPAnalyzer.analyze(PHPAnalyzer.java:100)
at org.sonar.plugins.php.PHPSensor$AnalysisScanner.scanFile(PHPSensor.java:193)
at org.sonar.plugins.php.Scanner.processFile(Scanner.java:69)
at org.sonar.plugins.php.Scanner.execute(Scanner.java:57)
at org.sonar.plugins.php.Scanner.execute(Scanner.java:43)
at org.sonar.plugins.php.PHPSensor.execute(PHPSensor.java:124)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:45)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:68)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:445)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:441)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:438)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:399)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
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: Could not analyse services/api-gateway/app/Events/Event.php
java.lang.NullPointerException: null
at com.sonar.security.frontend.php.ucfg.H.visitCompilationUnit(na:798)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.analyze(PHPVisitorCheck.java:644)
at com.sonar.security.frontend.php.rules.A.visitCompilationUnit(na:2003)
at com.sonar.security.frontend.php.rules.SQLInjectionCheck.visitCompilationUnit(na:988)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.analyze(PHPVisitorCheck.java:644)
at org.sonar.php.PHPAnalyzer.analyze(PHPAnalyzer.java:100)
at org.sonar.plugins.php.PHPSensor$AnalysisScanner.scanFile(PHPSensor.java:193)
at org.sonar.plugins.php.Scanner.processFile(Scanner.java:69)
at org.sonar.plugins.php.Scanner.execute(Scanner.java:57)
at org.sonar.plugins.php.Scanner.execute(Scanner.java:43)
at org.sonar.plugins.php.PHPSensor.execute(PHPSensor.java:124)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:45)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:68)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:445)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:441)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:438)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:399)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:58)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
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)
Any help would be appreciated.