JSP scan error java.lang.NumberFormatException: For input string: "${tabIndex}" when upgrade to 10.8

Hi Team

After I upgraded my sonarqube server from 9.9 to the 10.7 or 10.8, the jsp analysis will throw below errors which did not happen in 9.9 or 8.9 version.

ERROR Cannot analyze file XXX.jsp
java.lang.NumberFormatException: For input string: “${tabIndex}”

Not sure if it is a defect for the latest sonarqube and if we could have any workaround to avoid this error if our jsp pages contain something like “${tabIndex}” .

Thanks & Best Regards

Hey there.

It’s not clear what part of analysis the error is being thrown at. Can you provide a wider range of logs?

Hi Colin

After I upgraded the sonarqube from 9.9 to 10.8 version, when used sonar-scanner-cli-6.2.1 to scan the same code branch, it will throw below error logs for some jsp pages which contains the HTML elements like <c:set var="tabIndex" value="-1" />

10:50:10.061 INFO  Sensor HTML [web]
10:50:12.545 ERROR Cannot analyze file Stores/WebContent/Container/A.jsp
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:54)
        at org.sonar.plugins.html.checks.accessibility.NoAriaHiddenOnFocusableCheck.startElement(NoAriaHiddenOnFocusableCheck.java:38)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElementTag(HtmlAstScanner.java:110)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElement(HtmlAstScanner.java:89)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:73)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:56)
        at org.sonar.plugins.html.core.HtmlSensor.execute(HtmlSensor.java:120)
        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:201)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:197)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:170)
        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:355)
        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)

10:50:13.614 ERROR Cannot analyze file Stores/WebContent/Container/B.jsp
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:54)
        at org.sonar.plugins.html.checks.accessibility.NoAriaHiddenOnFocusableCheck.startElement(NoAriaHiddenOnFocusableCheck.java:38)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElementTag(HtmlAstScanner.java:110)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scanElement(HtmlAstScanner.java:89)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:73)
        at org.sonar.plugins.html.visitor.HtmlAstScanner.scan(HtmlAstScanner.java:56)
        at org.sonar.plugins.html.core.HtmlSensor.execute(HtmlSensor.java:120)
        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:201)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:197)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:170)
        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:355)
        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)

Not sure if it is related with Jira
Thanks & Best Regards
Yusheng

That looks like exactly the same issue!

I’ll link your thread to that ticket. In the meantime, you might be able to just exclude this file or all JSP files if it’s crashing your analysis.

Hitting the same problem.

The linked issue is already half a year old, any chance it can receive higher priority?