Java Exception on PHP short tags

Hi there,

I am using a local Windows installation of SonarQube Community edition v10.6 with the mebedded database.

I am scanning a PHP project in which I us PHP short tags, e.g. <?= $myInteger++ ?> . My sonar.properties file looks like this:

sonar.host.url=http://localhost:9000
sonar.projectKey=MyApp
sonar.projectName=MyApp
sonar.token=sqp_858b4f58660128e7747fc22a67d0c007b02f08dc
sonar.language=php
sonar.sources=src
sonar.tests=tests
sonar.projectVersion=3.8.2
sonar.sourceEncoding=UTF-8
sonar.exclusions=src/addons/**/*.*, src/fonts/**/*.*, src/js/**/*.*, src/sql/**/*.*, src/themes/**/*.*, src/vendor/**, src/upload/**/*.*, dist/**/*.*

The scanner produces a Java exception on these short tags:

17:42:33.602 ERROR Cannot analyze file src/views/permissions.php
java.lang.NumberFormatException: For input string: "<?= $tabindex++; ?>"
        at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(Unknown Source)
        at java.base/jdk.internal.math.FloatingDecimal.parseDouble(Unknown Source)
        at java.base/java.lang.Double.parseDouble(Unknown Source)
        at org.sonar.plugins.html.api.accessibility.AccessibilityUtils.isFocusableElement(AccessibilityUtils.java:53)
        at org.sonar.plugins.html.checks.accessibility.NoAriaHiddenOnFocusableCheck.startElement(NoAriaHiddenOnFocusableCheck.java:39)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElementTag(HtmlAstScanner.java:111)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElement(HtmlAstScanner.java:90)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:74)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:57)
        at org.sonar.plugins.html.core.HtmlSensor.execute(HtmlSensor.java:121)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:204)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:200)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:173)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:351)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:144)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:149)
        at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:66)
        at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:52)

How can I fix that?

Best regards,
George

Hi,

Welcome to the community!

Unfortunately, this is likely to be something we have to fix. Can you provide a compact reproducer? I.e. the minimum file to reproduce this error?

 
Thx,
Ann

sonartest.zip (1.1 KB)
I have put together this simple set of two files for which I get the same error running the sonar-scanner CLI.
Best regards,
George

1 Like

Hi,

Thanks for that. I’ve flagged this for the language experts.

 
Ann

Hi George,

this is a bug in our analyzer, here is a ticket to fix it

https://sonarsource.atlassian.net/browse/SONARHTML-250

This one is quite old, but still you haven’t touched the bug report yet. I am a bit disappointed.

Hi George, I pinged the team. Sorry for the delay

2 Likes

The fix has been merged and will be included in the next release of SonarHTML, you can expect it to be included in the next SQ Community Build release (or next week for SonarQube Cloud)

3 Likes

Awesome. Thanks a lot.

1 Like