SonarPython: NullPointerException when analyzing a python source file

112 views
Skip to first unread message

Damien Urruty

unread,
Jan 6, 2017, 11:15:59 AM1/6/17
to SonarQube
Hello guys,

I am trying to scan a python project for the first time. I use the SonarPython 1.6 plugin, and I launch the analysis with Gradle. I get the following message: 

Unable to analyze file: path\to\lib_svg.py

If I activate the stacktrace with Gradle, I get the following:

org.sonar.squidbridge.api.AnalysisException: Unable to analyze file: path\to\lib_svg.py
        at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:131)
        at org.sonar.plugins.python.PythonSquidSensor.execute(PythonSquidSensor.java:106)
        at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
        at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
        at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
        at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
        at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
        at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
        at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
        at com.sun.proxy.$Proxy326.execute(Unknown Source)
        at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
        at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
        at org.sonarqube.gradle.SonarQubeTask.run(SonarQubeTask.java:93)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:141)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:624)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:607)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)
        ... 69 more
Caused by: java.lang.NullPointerException
        at org.sonar.python.checks.MethodShouldBeStaticCheck.raisesNotImplementedError(MethodShouldBeStaticCheck.java:92)
        at org.sonar.python.checks.MethodShouldBeStaticCheck.onlyRaisesNotImplementedError(MethodShouldBeStaticCheck.java:80)
        at org.sonar.python.checks.MethodShouldBeStaticCheck.visitNode(MethodShouldBeStaticCheck.java:55)
        at com.sonar.sslr.impl.ast.AstWalker.visitNode(AstWalker.java:114)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:85)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)
        at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)
        at com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:69)
        at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:110)
        ... 102 more


If I comment the lines 43 and 44, which is the render method, the NPE disappears. If I add some code before the raise, the NPE also disappears, so the problem seems related to this 'raise' statement. I am not an expert of python, just trying to configure Sonar on a project.

Could you confirm me this is a bug ?

Pierre-Yves Nicolas

unread,
Jan 6, 2017, 11:54:56 AM1/6/17
to Damien Urruty, SonarQube
Hi,

I confirm that it's a bug: 
We will fix it in the upcoming release.

Thanks for your feedback!

Pierre-Yves

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/b295c5a3-8b95-41b7-9fdc-69e51b4ed31e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages