odoo-ide / pycharm-odoo-old

PyCharm plugin for Odoo
https://plugins.jetbrains.com/plugin/13499-odoo
GNU General Public License v3.0
63 stars 31 forks source link

Non-idempotent computation #28

Closed anj4u closed 3 years ago

anj4u commented 3 years ago

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)`

trinhanhngoc commented 3 years ago

Hi @anj4u

Please follow this issue at https://github.com/trinhanhngoc/pycharm-odoo/issues/3