API PyCallExpression::multiResolveCalleeFunction got stuck in "Python Community Edition" plugin

已回答

We are using "Python Community Edition" plugin with intellij idea to analyze python source code.
We found that When the API PyCallExpression::multiResolveCalleeFunction is called, the thread does so many calculations that it gets stuck for long time.
We do not know whether we called this API with wrong context or it is a bug in the plugin.
Python project details and the stack-trace from the thread-dump is given below. 

Target project file:

https://github.com/inasafe/inasafe/blob/develop/safe/processors/population_post_processors.py
CallExpression:

pp['run_filter'].update(population_exposure_filter)


Intellij API:

multiResolveCalleeFunction

Demo code snippet

statement.accept(new PyRecursiveElementVisitor() {
    @Override
    public void visitPyCallExpression(@NotNull PyCallExpression node) {
        PyResolveContext context = PyResolveContext.defaultContext(TypeEvalContext.userInitiated(node.getProject(),
                        node.getContainingFile()));
        List<PyCallable> resolvedMethods = node.multiResolveCalleeFunction(context);
    }
}

 

Stack-trace from VisualVM:

"demo-thread" #59 prio=6 os_prio=0 cpu=306904.33ms elapsed=312.94s tid=0x00007f6b9c0af800 nid=0x24cf8 runnable  [0x00007f6b1d48f000]
   java.lang.Thread.State: RUNNABLE
        at java.util.LinkedHashMap$LinkedEntryIterator.next(java.base@11.0.13/LinkedHashMap.java:751)
        at java.util.LinkedHashMap$LinkedEntryIterator.next(java.base@11.0.13/LinkedHashMap.java:749)
        at java.util.AbstractMap.hashCode(java.base@11.0.13/AbstractMap.java:526)
        at java.util.Arrays.hashCode(java.base@11.0.13/Arrays.java:4685)
        at java.util.Objects.hash(java.base@11.0.13/Objects.java:146)
        at com.jetbrains.python.psi.types.PyTypedDictType.hashCode(PyTypedDictType.kt:119)
        at java.util.HashMap.hash(java.base@11.0.13/HashMap.java:340)
        at java.util.HashMap.put(java.base@11.0.13/HashMap.java:608)
        at java.util.HashSet.add(java.base@11.0.13/HashSet.java:220)
        at java.util.AbstractCollection.addAll(java.base@11.0.13/AbstractCollection.java:352)
        at java.util.LinkedHashSet.<init>(java.base@11.0.13/LinkedHashSet.java:169)
        at com.jetbrains.python.psi.types.PyUnionType.<init>(PyUnionType.java:28)
        at com.jetbrains.python.psi.types.PyUnionType.union(PyUnionType.java:108)
        at com.jetbrains.python.psi.types.PyTypedDictType.getValuesType(PyTypedDictType.kt:29)
        at com.jetbrains.python.psi.types.PyTypedDictType.getElementTypes(PyTypedDictType.kt:21)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:112)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.containsLiteral(PyLiteralType.kt:113)
        at com.jetbrains.python.psi.types.PyLiteralType$Companion.promoteToLiteral(PyLiteralType.kt:104)
        at com.jetbrains.python.psi.types.PyTypeChecker.unifyGenericCallWithParamSpecs(PyTypeChecker.java:941)
        at com.jetbrains.python.psi.impl.PyFunctionImpl.analyzeCallType(PyFunctionImpl.java:274)
        at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:265)
        at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:248)
        at com.jetbrains.python.psi.types.PyFunctionTypeImpl.getCallType(PyFunctionTypeImpl.java:48)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$getCallType$5(PyCallExpressionHelper.java:603)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper$$Lambda$1602/0x0000000800dd0440.fun(Unknown Source)
        at com.intellij.util.containers.ContainerUtil.map(ContainerUtil.java:1851)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:596)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:589)
        at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.getType(PySubscriptionExpressionImpl.java:92)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.getType(PySubscriptionExpressionImpl.java:77)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getListOrSetIteratedValueType(PyCollectionTypeUtil.kt:75)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:65)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:178)
        at com.jetbrains.python.psi.impl.PyListLiteralExpressionImpl.getType(PyListLiteralExpressionImpl.java:55)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyKeyValueExpressionImpl.getType(PyKeyValueExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeFromDictLiteral(PyCollectionTypeUtil.kt:112)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeWithModifications(PyCollectionTypeUtil.kt:42)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:173)
        at com.jetbrains.python.psi.impl.PyDictLiteralExpressionImpl.getType(PyDictLiteralExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getListOrSetIteratedValueType(PyCollectionTypeUtil.kt:75)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:65)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:178)
        at com.jetbrains.python.psi.impl.PyListLiteralExpressionImpl.getType(PyListLiteralExpressionImpl.java:55)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyKeyValueExpressionImpl.getType(PyKeyValueExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeFromDictLiteral(PyCollectionTypeUtil.kt:112)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeWithModifications(PyCollectionTypeUtil.kt:42)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:173)
        at com.jetbrains.python.psi.impl.PyDictLiteralExpressionImpl.getType(PyDictLiteralExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:162)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:472)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:399)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:310)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:229)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.getType(PySubscriptionExpressionImpl.java:77)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getListOrSetIteratedValueType(PyCollectionTypeUtil.kt:75)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:65)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:178)
        at com.jetbrains.python.psi.impl.PyListLiteralExpressionImpl.getType(PyListLiteralExpressionImpl.java:55)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyKeyValueExpressionImpl.getType(PyKeyValueExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeFromDictLiteral(PyCollectionTypeUtil.kt:112)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeWithModifications(PyCollectionTypeUtil.kt:42)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:173)
        at com.jetbrains.python.psi.impl.PyDictLiteralExpressionImpl.getType(PyDictLiteralExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyKeyValueExpressionImpl.getType(PyKeyValueExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeFromDictLiteral(PyCollectionTypeUtil.kt:112)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeWithModifications(PyCollectionTypeUtil.kt:42)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:173)
        at com.jetbrains.python.psi.impl.PyDictLiteralExpressionImpl.getType(PyDictLiteralExpressionImpl.java:28)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:162)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:472)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:399)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:310)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:229)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getListOrSetIteratedValueType(PyCollectionTypeUtil.kt:75)
        at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypeByModifications(PyCollectionTypeUtil.kt:65)
        at com.jetbrains.python.psi.impl.PyBuiltinCache.createLiteralCollectionType(PyBuiltinCache.java:178)
        at com.jetbrains.python.psi.impl.PyListLiteralExpressionImpl.getType(PyListLiteralExpressionImpl.java:55)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:162)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:472)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:399)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:310)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:229)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyParenthesizedExpressionImpl.getType(PyParenthesizedExpressionImpl.java:32)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveMember(PyOperatorReference.java:128)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveLeftAndRightOperators(PyOperatorReference.java:106)
        at com.jetbrains.python.psi.impl.references.PyOperatorReference.resolveInner(PyOperatorReference.java:53)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:790)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:775)
        at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:142)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:162)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:472)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:399)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:310)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:229)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getTypeFromIteration(PyTargetExpressionImpl.java:349)
        at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:203)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:472)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:399)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:310)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:229)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.getType(PySubscriptionExpressionImpl.java:77)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.references.PyQualifiedReference.resolveInner(PyQualifiedReference.java:79)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolveInner(PyReferenceImpl.java:107)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:776)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl$CachingResolver.resolve(PyReferenceImpl.java:771)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1498/0x0000000800d87c40.compute(Unknown Source)
        at com.intellij.openapi.util.Computable.get(Computable.java:18)
        at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:260)
        at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1499/0x0000000800d87040.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:237)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:154)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:169)
        at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:162)
        at com.jetbrains.python.psi.impl.references.PyReferenceImpl.multiResolve(PyReferenceImpl.java:94)
        at com.jetbrains.python.psi.PyUtil.multiResolveTopPriority(PyUtil.java:517)
        at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.tryResolvingWithAliases(PyTypingTypeProvider.java:1520)
        at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.tryResolving(PyTypingTypeProvider.java:1509)
        at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.resolveToQualifiedNames(PyTypingTypeProvider.java:1575)
        at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.isTypedDict(PyTypedDictTypeProvider.kt:42)
        at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.getTypedDictTypeForCallee(PyTypedDictTypeProvider.kt:111)
        at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.access$getTypedDictTypeForCallee(PyTypedDictTypeProvider.kt:38)
        at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider.getReferenceExpressionType(PyTypedDictTypeProvider.kt:27)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromProviders(PyReferenceExpressionImpl.java:383)
        at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:217)
        at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:176)
        at com.jetbrains.python.psi.types.TypeEvalContext$$Lambda$1490/0x0000000800d7fc40.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionGuard$$Lambda$910/0x00000008009d1440.compute(Unknown Source)
        at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:114)
        at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:44)
        at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
        at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:165)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getExplicitResolveResults(PyCallExpressionHelper.java:220)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$1(PyCallExpressionHelper.java:194)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper$$Lambda$1488/0x0000000800d7f440.fun(Unknown Source)
        at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:676)
        at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:654)
        at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:190)
        at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiResolveCallee(PyCallExpressionImpl.java:47)
        at com.jetbrains.python.psi.PyCallExpression.multiResolveCalleeFunction(PyCallExpression.java:136)
        ..................
        at java.lang.Thread.run(java.base@11.0.13/Thread.java:829)

   Locked ownable synchronizers:
        - None
0

Hi! Thank you very much for your report! It looks like a bug, I've created an issue in our issue tracker: https://youtrack.jetbrains.com/issue/PY-58115/PyCallExpressionmultiResolveCalleeFunction-got-stuck-in-plugin

Could you please add more details in the comments: did the problem appear in the version 2022.3 or does it exist in the older PyCharm versions as well?

0

请先登录再写评论。