Riverside-Software / sonar-openedge

CABL (Code Analyzer for ABL in SonarQube) - ABL ANTLR4 Parser
https://riverside-software.fr
GNU Lesser General Public License v3.0
63 stars 26 forks source link

NullPointerException with 2.26.0 #1117

Closed movedoa closed 7 months ago

movedoa commented 7 months ago

I get this on two source files in our repository, both are w files.

12:26:36 [sonar:sonar] Error during rule execution for App/Prog/Src/$dlciss/$docsys/P/vDocumentHead.w
12:26:36 [sonar:sonar] java.lang.NullPointerException: Cannot invoke "org.prorefactor.treeparser.symbols.Routine.getExecutionGraph()" because the return value of "org.prorefactor.treeparser.TreeParserSymbolScope.getRoutine()" is null
12:26:36 [sonar:sonar]  at eu.rssw.antlr.proparse.checks.DynamicObjectLeak.execute(SourceFile:1069)
12:26:36 [sonar:sonar]  at org.sonar.plugins.openedge.api.checks.OpenEdgeProparseCheck.sensorExecute(OpenEdgeProparseCheck.java:57)
12:26:36 [sonar:sonar]  at org.sonar.plugins.openedge.sensor.OpenEdgeProparseSensor.parseMainFile(OpenEdgeProparseSensor.java:405)
12:26:36 [sonar:sonar]  at org.sonar.plugins.openedge.sensor.OpenEdgeProparseSensor.execute(OpenEdgeProparseSensor.java:185)
12:26:36 [sonar:sonar]  at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
12:26:36 [sonar:sonar]  at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
12:26:36 [sonar:sonar]  at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
12:26:36 [sonar:sonar]  at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
12:26:36 [sonar:sonar]  at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
12:26:36 [sonar:sonar]  at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
12:26:36 [sonar:sonar]  at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403)
12:26:36 [sonar:sonar]  at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399)
12:26:36 [sonar:sonar]  at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
12:26:36 [sonar:sonar]  at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188)
12:26:36 [sonar:sonar]  at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167)
12:26:36 [sonar:sonar]  at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72)
12:26:36 [sonar:sonar]  at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:26:36 [sonar:sonar]  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
12:26:36 [sonar:sonar]  at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.ant.SonarQubeTask.launchAnalysis(SonarQubeTask.java:113)
12:26:36 [sonar:sonar]  at org.sonarsource.scanner.ant.SonarQubeTask.execute(SonarQubeTask.java:94)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
12:26:36 [sonar:sonar]  at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:26:36 [sonar:sonar]  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Task.perform(Task.java:350)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Target.execute(Target.java:449)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Target.performTasks(Target.java:470)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
12:26:36 [sonar:sonar]  at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:26:36 [sonar:sonar]  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Task.perform(Task.java:350)
12:26:36 [sonar:sonar]  at java.base/java.util.Vector.forEach(Vector.java:1365)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
12:26:36 [sonar:sonar]  at net.sf.antcontrib.logic.IfTask$ElseIf.execute(IfTask.java:144)
12:26:36 [sonar:sonar]  at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:211)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:26:36 [sonar:sonar]  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:155)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
12:26:36 [sonar:sonar]  at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
12:26:36 [sonar:sonar]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:26:36 [sonar:sonar]  at java.base/java.lang.reflect.Method.invoke(Method.java:568)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Task.perform(Task.java:350)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Target.execute(Target.java:449)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Target.performTasks(Target.java:470)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Main.runBuild(Main.java:818)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.Main.startAnt(Main.java:223)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
12:26:36 [sonar:sonar]  at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
gquerret commented 7 months ago

Will be fixed. Given the stack trace, this doesn't block the analysis ?

movedoa commented 7 months ago

Yes, analysis works. I have disabled the rule for now, no hotfix required.

gquerret commented 7 months ago

Fixed in develop