Python 3.11 analysis fails

Using pipe sonarsource/sonarqube-scan:1.2.0 on bitbucket to conenct to sonarcloud, if the sonar.python.version is set to 3.10 everything is good. If it’s set to 3.11 we get loads of the following error, where the typeshed symbol missing varies:

WARN: Unable to analyze file: xxx.py
java.lang.IllegalArgumentException: No TypeShed symbol found for name: str
	at org.sonar.python.types.TypeShed.typeShedClass(TypeShed.java:115)
	at org.sonar.python.types.RuntimeType.getTypeClass(RuntimeType.java:142)
	at org.sonar.python.types.RuntimeType.equals(RuntimeType.java:106)
	at org.sonar.python.types.TypeInference$MemberAccess.propagate(TypeInference.java:344)
	at org.sonar.python.types.FlowSensitiveTypeInference$1.lambda$visitQualifiedExpression$1(FlowSensitiveTypeInference.java:143)
	at java.base/java.util.Optional.ifPresent(Optional.java:183)
	at org.sonar.python.types.FlowSensitiveTypeInference$1.visitQualifiedExpression(FlowSensitiveTypeInference.java:143)
	at org.sonar.python.tree.QualifiedExpressionImpl.accept(QualifiedExpressionImpl.java:69)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:33)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.visitCallExpression(BaseTreeVisitor.java:246)
	at org.sonar.python.tree.CallExpressionImpl.accept(CallExpressionImpl.java:99)
	at org.sonar.python.types.FlowSensitiveTypeInference.updateTree(FlowSensitiveTypeInference.java:122)
	at org.sonar.python.types.FlowSensitiveTypeInference.updateProgramState(FlowSensitiveTypeInference.java:79)
	at org.sonar.python.cfg.fixpoint.ForwardAnalysis$ProgramStateAtBlock.lambda$new$0(ForwardAnalysis.java:68)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at org.sonar.python.cfg.fixpoint.ForwardAnalysis$ProgramStateAtBlock.<init>(ForwardAnalysis.java:68)
	at org.sonar.python.cfg.fixpoint.ForwardAnalysis.lambda$compute$0(ForwardAnalysis.java:45)
	at java.base/java.lang.Iterable.forEach(Iterable.java:75)
	at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
	at org.sonar.python.cfg.fixpoint.ForwardAnalysis.compute(ForwardAnalysis.java:45)
	at org.sonar.python.types.TypeInference.flowSensitiveTypeInference(TypeInference.java:224)
	at org.sonar.python.types.TypeInference.inferTypesAndMemberAccessSymbols(TypeInference.java:138)
	at org.sonar.python.types.TypeInference$1.visitFunctionDef(TypeInference.java:72)
	at org.sonar.python.tree.FunctionDefImpl.accept(FunctionDefImpl.java:166)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:33)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:40)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.visitStatementList(BaseTreeVisitor.java:52)
	at org.sonar.python.tree.StatementListImpl.accept(StatementListImpl.java:46)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:33)
	at org.sonar.plugins.python.api.tree.BaseTreeVisitor.visitFileInput(BaseTreeVisitor.java:47)
	at org.sonar.python.tree.FileInputImpl.accept(FileInputImpl.java:79)
	at org.sonar.python.types.TypeInference.inferTypes(TypeInference.java:68)
	at org.sonar.python.semantic.SymbolTableBuilder.visitFileInput(SymbolTableBuilder.java:139)
	at org.sonar.plugins.python.api.PythonVisitorContext.<init>(PythonVisitorContext.java:53)
	at org.sonar.plugins.python.PythonScanner.scanFile(PythonScanner.java:113)
	at org.sonar.plugins.python.Scanner.execute(Scanner.java:59)
	at org.sonar.plugins.python.PythonSensor.execute(PythonSensor.java:118)
	at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:62)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
	at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
	at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:470)
	at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:466)
	at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:422)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:130)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:57)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:51)
	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)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	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:126)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
	at org.sonarsource.scanner.cli.Main.main(Main.java:62)

Is this a known issue?

Hello,

Thanks for reporting the issue. We’ve identified the problem and fixed it. It will be available in the next analyzer release, which should happen in the next few days. In the meantime, using 3.10 will indeed work as a workaround.

Thanks for your patience.

Cheers,
Guillaume

This is still a problem with sonarsource/sonarqube-scan:2.0.0

Should it be resolved?

Hello,

The analyzer version fixing the issue has been released last week. However, from a quick check, it seems that it hasn’t been deployed on SonarCloud yet. It should be deployed in the next 48 hours though.

Cheers,
Guillaume

1 Like

Hello @mp-pcm,

The latest version of the analyzer is now deployed on SonarCloud. The issue should be fixed.
Can you try again and let me know if you still encounter the problem?

Thanks,
Guillaume

Seems to work now, thanks!

1 Like