Hi,
I am using SonarQube 5.4 with PHP 2.8 plugin
Scan fails with such stack trace:
ERROR: Error during SonarQube Scanner execution
org.sonar.squidbridge.api.AnalysisException: Could not analyse /home/dkukarev/projects/splitter/backend/views/comments-writer/download.php
at org.sonar.plugins.php.PHPSensor.analyseFile(PHPSensor.java:154)
at org.sonar.plugins.php.PHPSensor.analyseFiles(PHPSensor.java:124)
at org.sonar.plugins.php.PHPSensor.analyse(PHPSensor.java:115)
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.PhaseExecutor.execute(PhaseExecutor.java:102)
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:185)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:264)
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:259)
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:249)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.batch.scan.ProjectScanContainer.startComponents(ProjectScanContainer.java:127)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
at org.sonar.batch.task.ScanTask.execute(ScanTask.java:55)
at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:120)
at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:122)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
at org.sonar.runner.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.sonar.runner.impl.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:61)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:274)
at org.sonar.runner.api.EmbeddedRunner.runAnalysis(EmbeddedRunner.java:165)
at org.sonar.runner.api.EmbeddedRunner.runAnalysis(EmbeddedRunner.java:152)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:133)
at org.sonarsource.scanner.cli.Main.execute(Main.java:82)
at org.sonarsource.scanner.cli.Main.main(Main.java:66)
Caused by: java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)
at org.sonar.php.checks.formatting.TokenUtils.getNbSpaceBetween(TokenUtils.java:68)
at org.sonar.php.checks.formatting.FunctionSpacingCheck.checkSpaceAfterFunctionName(FunctionSpacingCheck.java:114)
at org.sonar.php.checks.formatting.FunctionSpacingCheck.visitFunctionCall(FunctionSpacingCheck.java:68)
at org.sonar.php.tree.impl.expression.FunctionCallTreeImpl.accept(FunctionCallTreeImpl.java:107)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.scan(PHPVisitorCheck.java:524)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.visitExpressionStatement(PHPVisitorCheck.java:329)
at org.sonar.php.tree.impl.statement.ExpressionStatementTreeImpl.accept(ExpressionStatementTreeImpl.java:67)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.scan(PHPVisitorCheck.java:524)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.visitScript(PHPVisitorCheck.java:464)
at org.sonar.php.checks.formatting.FunctionSpacingCheck.checkFormat(FunctionSpacingCheck.java:55)
at org.sonar.php.checks.FormattingStandardCheck.visitScript(FormattingStandardCheck.java:213)
at org.sonar.php.tree.impl.ScriptTreeImpl.accept(ScriptTreeImpl.java:70)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.scan(PHPVisitorCheck.java:524)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.visitCompilationUnit(PHPVisitorCheck.java:469)
at org.sonar.plugins.php.api.visitors.PHPVisitorCheck.analyze(PHPVisitorCheck.java:547)
at org.sonar.php.PHPAnalyzer.analyze(PHPAnalyzer.java:79)
at org.sonar.plugins.php.PHPSensor.analyseFile(PHPSensor.java:143)
... 33 more
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
Quick investigation tells me, that this error causes
no_space_method_name parameter from
php:S1808 rule.
Minimal code for reproducing:
<?php
Echo var_export(null, true);