EXXETA / sonar-esql-plugin

Sonar plugin to analyze ESQL-sourcecode of IBM Integration Bus projects
Apache License 2.0
35 stars 34 forks source link

ERROR: Unable to analyse file #141

Closed pedroamaral27 closed 1 year ago

pedroamaral27 commented 2 years ago

When running a pipeline build on Azure DevOps with ESQL-Plugin v3.2.0 and Sonarqube Version 9.1 (we also tested with a previous version of Sonarqube Version 8.9.1 but faced the same results) we encountered the following error: ERROR: Unable to analyse file

Here are the logs from the build:

java.lang.IllegalArgumentException: Overlapping symbol declaration and reference for symbol at Range[from [line=25, lineOffset=61] to [line=25, lineOffset=65]] at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:110) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:104) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.addReference(HighlightSymbolTableBuilder.java:58) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.highlightSymbol(HighlightSymbolTableBuilder.java:51) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.build(HighlightSymbolTableBuilder.java:39) at com.exxeta.iss.sonar.... ERROR: Unable to analyse file: file:///D:/a/1/s/BFAMain/PartyDataManagementREST/nb/framework/gateway/filters/ChangeCustomerMovementsConditions.esql java.lang.IllegalArgumentException: Overlapping symbol declaration and reference for symbol at Range[from [line=25, lineOffset=61] to [line=25, lineOffset=65]] at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:110) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:104) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.addReference(HighlightSymbolTableBuilder.java:58) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.highlightSymbol(HighlightSymbolTableBuilder.java:51) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.build(HighlightSymbolTableBuilder.java:39) at com.exxeta.iss.sonar.esql.EsqlSensor.highlightSymbols(EsqlSensor.java:328) at com.exxeta.iss.sonar.esql.EsqlSensor.scanFile(EsqlSensor.java:221) at com.exxeta.iss.sonar.esql.EsqlSensor.analyse(EsqlSensor.java:157) at com.exxeta.iss.sonar.esql.EsqlSensor.analyseFiles(EsqlSensor.java:132) at com.exxeta.iss.sonar.esql.EsqlSensor.execute(EsqlSensor.java:306) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:79) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:382) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:378) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:347) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:136) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) 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)

ThomasPohl commented 2 years ago

Can you provide the file causing the problem or at least line 25?

tiborbors commented 2 years ago

Hi Thomas, I am just playing first with this plugin and looks impressing.

But the same error is happening in many ESQL files and always in CREATE FUNCTION / CREATE PROCEDURE defintion lines, for example:

CREATE FUNCTION getSender(IN fileName CHAR) RETURNS CHAR BEGIN

CREATE FUNCTION convertUom(IN uomValue CHARACTER) RETURNS CHARACTER BEGIN

There are 200+ errors in the project, and when I am picking the range offset as well, it always displays a variable name.

AnupJanardhanan commented 2 years ago

Hi Thomas, New to the sonarqube esql plugin. Impressive so far, but I encountered the same issue as described above. Would you know if there is a fix coming up.

kkalwaysok commented 2 years ago

Any luck with the issue?

kkalwaysok commented 2 years ago

I'm getting a similar issue with both 9.4 and 9.5 version.

ERROR: Unable to analyse file: file:///#####################/vlpMainFlow_VLPExtract.esql java.lang.IllegalArgumentException: Overlapping symbol declaration and reference for symbol at Range[from [line=352, lineOffset=52] to [line=352, lineOffset=67]] at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:110) at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:104) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.addReference(HighlightSymbolTableBuilder.java:58) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.highlightSymbol(HighlightSymbolTableBuilder.java:51) at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.build(HighlightSymbolTableBuilder.java:39) at com.exxeta.iss.sonar.esql.EsqlSensor.highlightSymbols(EsqlSensor.java:328) at com.exxeta.iss.sonar.esql.EsqlSensor.scanFile(EsqlSensor.java:221) at com.exxeta.iss.sonar.esql.EsqlSensor.analyse(EsqlSensor.java:157) at com.exxeta.iss.sonar.esql.EsqlSensor.analyseFiles(EsqlSensor.java:132) at com.exxeta.iss.sonar.esql.EsqlSensor.execute(EsqlSensor.java:306) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:81) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:392) at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:388) at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:357) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:135) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) 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:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) 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)

srkaluva commented 1 year ago

Hi, I'm getting similar issue with SonarQube version: 8.9.1 and plugin version: 3.3.1, ERROR: Unable to analyse file: file:///home/jenkins/agent/workspace/IIB_TESTING/beta_to_alpha.esql java.lang.IllegalArgumentException: Overlapping symbol declaration and reference for symbol at Range[from [line=804, lineOffset=34] to [line=804, lineOffset=42]] 07:01:00 at org.sonar.api.utils.Preconditions.checkArgument(Preconditions.java:43) 07:01:00 at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:133) 07:01:00 at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable$DefaultSymbol.newReference(DefaultSymbolTable.java:127) 07:01:00 at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.addReference(HighlightSymbolTableBuilder.java:58) 07:01:00 at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.highlightSymbol(HighlightSymbolTableBuilder.java:51) 07:01:00 at com.exxeta.iss.sonar.esql.highlighter.HighlightSymbolTableBuilder.build(HighlightSymbolTableBuilder.java:39) 07:01:00 at com.exxeta.iss.sonar.esql.EsqlSensor.highlightSymbols(EsqlSensor.java:328) 07:01:00 at com.exxeta.iss.sonar.esql.EsqlSensor.scanFile(EsqlSensor.java:221) 07:01:00 at com.exxeta.iss.sonar.esql.EsqlSensor.analyse(EsqlSensor.java:157) 07:01:00 at com.exxeta.iss.sonar.esql.EsqlSensor.analyseFiles(EsqlSensor.java:132) 07:01:00 at com.exxeta.iss.sonar.esql.EsqlSensor.execute(EsqlSensor.java:306) 07:01:00 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48) 07:01:00 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) 07:01:00 at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) 07:01:00 at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) 07:01:00 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) 07:01:00 at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) 07:01:00 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) 07:01:00 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) 07:01:00 at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:392) 07:01:00 at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:388) 07:01:00 at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:357) 07:01:00 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) 07:01:00 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) 07:01:00 at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:150) 07:01:00 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:137) 07:01:00 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:123) 07:01:00 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) 07:01:00 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) 07:01:00 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 07:01:00 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 07:01:00 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 07:01:00 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 07:01:00 at java.base/java.lang.reflect.Method.invoke(Unknown Source) 07:01:00 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 07:01:00 at com.sun.proxy.$Proxy0.execute(Unknown Source) 07:01:00 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) 07:01:00 at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) 07:01:00 at org.sonarsource.scanner.cli.Main.execute(Main.java:112) 07:01:00 at org.sonarsource.scanner.cli.Main.execute(Main.java:75) 07:01:00 at org.sonarsource.scanner.cli.Main.main(Main.java:61)

Please suggest!

christoph-weiss-ibm commented 1 year ago

As I am running into the same issue: Is there a fix for this ? Or at least an idea what is causing this?

ThomasPohl commented 1 year ago

Hi all, I am really trying to reproduce this issue. Can you check if the variable name, that is referenced by the Exception, is used at another place (probably in the same file) For some reason it seems like the plugin thinks that the definition of the parameter also references the same parameter.

ThomasPohl commented 1 year ago

I finally found the problem. I had saved the declaration twice (No clue why that was no problem in previous versions) Will be fixed in next release

ThomasPohl commented 1 year ago

@pedroamaral27 Please check if release 3.4.0-RC2 fixes the problem for you