odoo-ide / pycharm-odoo-old

PyCharm plugin for Odoo

Home Page:https://plugins.jetbrains.com/plugin/13499-odoo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Non-idempotent computation

anj4u opened this issue · comments

Today I get this exception in my PyCharm with Odoo 12:

PyCharm 2020.3.2 (Professional Edition)
Build #PY-203.6682.179, built on December 30, 2020
Runtime version: 11.0.9.1+11-b1145.63 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: ParNew, ConcurrentMarkSweep
Memory: 1933M
Cores: 12
Non-Bundled Plugins: Statistic, com.chesterccw.excelreader, com.intellij.ideolog, com.karateca.jstoolbox, net.seesharpsoft.intellij.plugins.csv, org.jetbrains.plugins.hocon, Gitflow, mobi.hsz.idea.gitignore, name.kropp.intellij.makefile, MetricsReloaded, dev.ngocta.pycharm-odoo, net.ashald.envfile, ru.adelf.idea.dotenv, XPathView

Exception:

`java.lang.Throwable: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
0 != 1
which is length of [] and [PyFunction('items')@0]

Recomputation gives [Lcom.intellij.psi.ResolveResult;@9d7a6f0 (class [Lcom.intellij.psi.ResolveResult;) which is equivalent to 'fresh'
Recomputation log:
Resolving PyQualifiedReference(PyReferenceExpression: items,com.jetbrains.python.psi.resolve.PyResolveContext@da265805) of class dev.ngocta.pycharm.odoo.python.psi.OdooPyQualifiedReference
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:159)
at com.intellij.util.IdempotenceChecker.reportFailure(IdempotenceChecker.java:88)
at com.intellij.util.IdempotenceChecker.checkEquivalence(IdempotenceChecker.java:75)
at com.intellij.psi.impl.source.resolve.ResolveCache.cache(ResolveCache.java:282)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:210)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:149)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:164)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:157)
at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:95)
at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.getTypedDictTypeForCallee(PyTypedDictTypeProvider.kt:109)
at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.access$getTypedDictTypeForCallee(PyTypedDictTypeProvider.kt:35)
at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider.getReferenceExpressionType(PyTypedDictTypeProvider.kt:28)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromProviders(PyReferenceExpressionImpl.java:386)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:219)
at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
at com.jetbrains.python.psi.impl.PyCallExpressionHelper.resolveDunderCallMembers(PyCallExpressionHelper.java:248)
at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getExplicitResolveResults(PyCallExpressionHelper.java:184)
at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$0(PyCallExpressionHelper.java:159)
at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:668)
at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:646)
at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:155)
at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:538)
at com.jetbrains.python.psi.impl.PyCallExpressionImpl.getType(PyCallExpressionImpl.java:61)
at dev.ngocta.pycharm.odoo.python.psi.OdooPyCallExpression.getType(OdooPyCallExpression.java:67)
at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getTypeFromIteration(PyTargetExpressionImpl.java:351)
at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:205)
at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:470)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:402)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:313)
at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:231)
at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:253)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil.access$getTypeByModifications(PyCollectionTypeUtil.kt:17)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil$PyDictTypeVisitor.visitPySubscriptionExpression(PyCollectionTypeUtil.kt:410)
at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.acceptPyVisitor(PySubscriptionExpressionImpl.java:72)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyAssignmentStatement(PyElementVisitor.java:106)
at com.jetbrains.python.psi.impl.PyAssignmentStatementImpl.acceptPyVisitor(PyAssignmentStatementImpl.java:38)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyConditionalStatementPart(PyElementVisitor.java:270)
at com.jetbrains.python.psi.impl.PyConditionalStatementPartImpl.acceptPyVisitor(PyConditionalStatementPartImpl.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyIfStatement(PyElementVisitor.java:150)
at com.jetbrains.python.psi.impl.PyIfStatementImpl.acceptPyVisitor(PyIfStatementImpl.java:22)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyConditionalStatementPart(PyElementVisitor.java:270)
at com.jetbrains.python.psi.impl.PyConditionalStatementPartImpl.acceptPyVisitor(PyConditionalStatementPartImpl.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyIfStatement(PyElementVisitor.java:150)
at com.jetbrains.python.psi.impl.PyIfStatementImpl.acceptPyVisitor(PyIfStatementImpl.java:22)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyConditionalStatementPart(PyElementVisitor.java:270)
at com.jetbrains.python.psi.impl.PyConditionalStatementPartImpl.acceptPyVisitor(PyConditionalStatementPartImpl.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyIfStatement(PyElementVisitor.java:150)
at com.jetbrains.python.psi.impl.PyIfStatementImpl.acceptPyVisitor(PyIfStatementImpl.java:22)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.acceptPyVisitor(PyBaseElementImpl.java:77)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyForStatement(PyElementVisitor.java:154)
at com.jetbrains.python.psi.impl.PyForStatementImpl.acceptPyVisitor(PyForStatementImpl.java:21)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.acceptPyVisitor(PyBaseElementImpl.java:77)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyForStatement(PyElementVisitor.java:154)
at com.jetbrains.python.psi.impl.PyForStatementImpl.acceptPyVisitor(PyForStatementImpl.java:21)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.acceptPyVisitor(PyBaseElementImpl.java:77)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyForStatement(PyElementVisitor.java:154)
at com.jetbrains.python.psi.impl.PyForStatementImpl.acceptPyVisitor(PyForStatementImpl.java:21)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.acceptPyVisitor(PyBaseElementImpl.java:77)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatement(PyElementVisitor.java:170)
at com.jetbrains.python.psi.PyElementVisitor.visitPyForStatement(PyElementVisitor.java:154)
at com.jetbrains.python.psi.impl.PyForStatementImpl.acceptPyVisitor(PyForStatementImpl.java:21)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:25)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:14)
at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
at com.jetbrains.python.psi.PyElementVisitor.visitPyFunction(PyElementVisitor.java:206)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil$PyCollectionTypeVisitor.visitPyFunction(PyCollectionTypeUtil.kt:285)
at com.jetbrains.python.psi.impl.PyFunctionImpl.acceptPyVisitor(PyFunctionImpl.java:551)
at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getCollectionTypeByModifications(PyCollectionTypeUtil.kt:148)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getDictElementTypesWithModifications(PyCollectionTypeUtil.kt:123)
at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:44)
at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:172)
at com.jetbrains.python.psi.impl.PyDictLiteralExpressionImpl.getType(PyDictLiteralExpressionImpl.java:28)
at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getClassType(PyTypingTypeProvider.java:908)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getTypeForResolvedElement(PyTypingTypeProvider.java:814)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getType(PyTypingTypeProvider.java:724)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getParameterizedType(PyTypingTypeProvider.java:1335)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getTypeForResolvedElement(PyTypingTypeProvider.java:781)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getType(PyTypingTypeProvider.java:724)
at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getType(PyTypingTypeProvider.java:716)
at com.jetbrains.python.codeInsight.typing.PyTypingAnnotationInjector.isTypingLiteralArgument(PyTypingAnnotationInjector.java:113)
at com.jetbrains.python.codeInsight.typing.PyTypingAnnotationInjector.getInjectedLanguage(PyTypingAnnotationInjector.java:59)
at com.jetbrains.python.codeInsight.PyInjectorBase.registerInjection(PyInjectorBase.java:46)
at com.jetbrains.python.codeInsight.typing.PyTypingAnnotationInjector.registerInjection(PyTypingAnnotationInjector.java:42)
at com.jetbrains.python.codeInsight.PyInjectorBase.getLanguagesToInject(PyInjectorBase.java:33)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:418)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUp(InjectedLanguageUtilBase.java:207)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.enumerate(InjectedLanguageUtilBase.java:137)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:318)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$getInjectedPsiFiles$3(InjectedGeneralHighlightingPass.java:198)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:136)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1132)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:92)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:104)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:83)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:172)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:183)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:83)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:61)
at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:48)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.getInjectedPsiFiles(InjectedGeneralHighlightingPass.java:195)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.collectInformationWithProgress(InjectedGeneralHighlightingPass.java:86)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:400)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:393)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:392)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:368)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:172)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:183)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:366)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:188)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)`

Hi @anj4u

Please follow this issue at odoo-ide/pycharm-odoo#3