Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NavBar bug #848

Closed
matthiasmindee opened this issue Dec 12, 2023 · 1 comment · Fixed by #885
Closed

NavBar bug #848

matthiasmindee opened this issue Dec 12, 2023 · 1 comment · Fixed by #885
Labels
bug Something isn't working

Comments

@matthiasmindee
Copy link

Describe the bug
This is roughly the same bug as in #847, escept now instead of the main toolbar it's the navbar that's complaining.

To Reproduce
Most probably clog your CPU with a lot of pycharm windows at the same time, and even so it's hard to reproduce.

Environments (please complete the following information):

IDE: PyCharm 2023.3 (Professional Edition)
OS: Ubuntu 22.04
Pydantic Version 1.10
Plugin version 0.4.10

Stack Trace

ExecutorRegistryImpl$ExecutorAction#Update@NavBarToolbar (com.intellij.execution.ExecutorRegistryImpl$ExecutorAction), actionId=Run, text='The file in the editor is not runnable'

com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
	at com.intellij.openapi.project.IndexNotReadyException.create(IndexNotReadyException.java:67)
	at com.intellij.util.indexing.FileBasedIndexImpl.handleDumbMode(FileBasedIndexImpl.java:821)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:769)
	at com.intellij.psi.stubs.StubIndexEx.getContainingIds(StubIndexEx.java:357)
	at com.intellij.psi.stubs.StubIndexEx.processElements(StubIndexEx.java:167)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:102)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:90)
	at com.jetbrains.python.psi.stubs.PyClassNameIndex.find(PyClassNameIndex.java:28)
	at com.jetbrains.python.psi.stubs.PyClassNameIndex.findClass(PyClassNameIndex.java:50)
	at com.jetbrains.sqlalchemy.SQLAlchemyTypeProvider.getHybridPropertyType(SQLAlchemyTypeProvider.java:281)
	at com.jetbrains.sqlalchemy.SQLAlchemyTypeProvider.getReferenceType(SQLAlchemyTypeProvider.java:119)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:525)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:423)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:395)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:308)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:227)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getExplicitResolveResults(PyCallExpressionHelper.java:220)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$1(PyCallExpressionHelper.java:192)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:669)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:647)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:188)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiResolveCallee(PyCallExpressionImpl.java:47)
	at com.jetbrains.python.psi.PyCallExpression.multiResolveCalleeFunction(PyCallExpression.java:135)
	at com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticDynamicModelTypeForTargetExpression(PydanticTypeProvider.kt:287)
	at com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticDynamicModelTypeForTargetExpression(PydanticTypeProvider.kt:278)
	at com.koxudaxi.pydantic.PydanticTypeProvider.getReferenceType(PydanticTypeProvider.kt:66)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:525)
	at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:128)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:468)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:395)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:308)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:227)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.codeInsight.controlflow.PyTypeAssertionEvaluator$1.getType(PyTypeAssertionEvaluator.java:234)
	at com.jetbrains.python.codeInsight.controlflow.ReadWriteInstruction.getType(ReadWriteInstruction.java:133)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.lambda$getTypeByControlFlow$2(PyReferenceExpressionImpl.java:511)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at one.util.streamex.AbstractStreamEx.rawCollect(AbstractStreamEx.java:109)
	at one.util.streamex.AbstractStreamEx.collect(AbstractStreamEx.java:519)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeByControlFlow(PyReferenceExpressionImpl.java:512)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getQualifiedReferenceTypeByControlFlow(PyReferenceExpressionImpl.java:327)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getQualifiedReferenceType(PyReferenceExpressionImpl.java:284)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:221)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyDictCompExpressionImpl.getType(PyDictCompExpressionImpl.java:29)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyBinaryExpressionImpl.getType(PyBinaryExpressionImpl.java:127)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyKeyValueExpressionImpl.getType(PyKeyValueExpressionImpl.java:28)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeFromDictLiteral(PyCollectionTypeUtil.kt:113)
	at com.jetbrains.python.psi.types.PyCollectionTypeUtil.getTypedDictTypeWithModifications(PyCollectionTypeUtil.kt:43)
	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:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:161)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:468)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:395)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:308)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:227)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.types.PyTypeChecker.unifyGenericCall(PyTypeChecker.java:1220)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.analyzeCallType(PyFunctionImpl.java:259)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:251)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:236)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.clarifyConstructorCallType(PyCallExpressionHelper.java:673)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.toCallableType(PyCallExpressionHelper.java:384)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCalleeType(PyCallExpressionHelper.java:135)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getCallableType(PyReferenceExpressionImpl.java:248)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:236)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getExplicitResolveResults(PyCallExpressionHelper.java:220)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$1(PyCallExpressionHelper.java:192)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:669)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:647)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:188)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiResolveCallee(PyCallExpressionImpl.java:47)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:834)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:827)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiMapArguments(PyCallExpressionImpl.java:53)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl.getParametersByCallArgument(PyNamedParameterImpl.java:454)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:336)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyExpression(PyElementVisitor.java:174)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyReferenceExpression(PyElementVisitor.java:30)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.acceptPyVisitor(PyReferenceExpressionImpl.java:86)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
	at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:12)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:343)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyArgumentList(PyElementVisitor.java:194)
	at com.jetbrains.python.psi.impl.PyArgumentListImpl.acceptPyVisitor(PyArgumentListImpl.java:37)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
	at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:12)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:343)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyExpression(PyElementVisitor.java:174)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyCallExpression(PyElementVisitor.java:38)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyCallExpression(PyNamedParameterImpl.java:374)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.acceptPyVisitor(PyCallExpressionImpl.java:27)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
	at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:12)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:343)
	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:36)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
	at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:12)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:343)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyStatementList(PyElementVisitor.java:198)
	at com.jetbrains.python.psi.impl.PyStatementListImpl.acceptPyVisitor(PyStatementListImpl.java:23)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
	at com.jetbrains.python.psi.PyRecursiveElementVisitor.visitElement(PyRecursiveElementVisitor.java:12)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyElement(PyElementVisitor.java:26)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl$1.visitPyElement(PyNamedParameterImpl.java:343)
	at com.jetbrains.python.psi.PyElementVisitor.visitPyFunction(PyElementVisitor.java:206)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.acceptPyVisitor(PyFunctionImpl.java:514)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:61)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl.getTypeFromUsages(PyNamedParameterImpl.java:317)
	at com.jetbrains.python.psi.impl.PyNamedParameterImpl.getType(PyNamedParameterImpl.java:291)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.types.PyCallableParameterImpl.getType(PyCallableParameterImpl.java:121)
	at com.jetbrains.python.psi.types.PyTypeChecker.collectGenerics(PyTypeChecker.java:1022)
	at com.jetbrains.python.psi.types.PyTypeChecker.collectGenerics(PyTypeChecker.java:969)
	at com.jetbrains.python.psi.types.PyTypeChecker.hasGenerics(PyTypeChecker.java:962)
	at com.jetbrains.python.psi.types.PyTypeChecker.substitute(PyTypeChecker.java:1061)
	at com.jetbrains.python.psi.types.PyTypeChecker.substitute(PyTypeChecker.java:1048)
	at com.jetbrains.python.psi.types.PyTypeChecker.lambda$matchProtocols$11(PyTypeChecker.java:463)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
	at one.util.streamex.AbstractStreamEx.anyMatch(AbstractStreamEx.java:560)
	at com.jetbrains.python.psi.types.PyTypeChecker.matchProtocols(PyTypeChecker.java:464)
	at com.jetbrains.python.psi.types.PyTypeChecker.match(PyTypeChecker.java:430)
	at com.jetbrains.python.psi.types.PyTypeChecker.matchImpl(PyTypeChecker.java:165)
	at com.jetbrains.python.psi.types.PyTypeChecker.lambda$match$0(PyTypeChecker.java:88)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.PyTypeChecker.match(PyTypeChecker.java:85)
	at com.jetbrains.python.psi.types.PyTypeChecker.match(PyTypeChecker.java:79)
	at com.jetbrains.python.psi.types.PyTypeChecker.unifyGenericCall(PyTypeChecker.java:1254)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.analyzeCallType(PyFunctionImpl.java:259)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:251)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.getCallType(PyFunctionImpl.java:236)
	at com.jetbrains.python.psi.types.PyFunctionTypeImpl.getCallType(PyFunctionTypeImpl.java:47)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$getSameScopeCallablesCallTypes$9(PyCallExpressionHelper.java:631)
	at com.intellij.util.containers.ContainerUtil.map(ContainerUtil.java:1994)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getSameScopeCallablesCallTypes(PyCallExpressionHelper.java:631)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$getCallType$7(PyCallExpressionHelper.java:605)
	at one.util.streamex.AbstractStreamEx.lambda$flatCollection$16(AbstractStreamEx.java:669)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at one.util.streamex.AbstractStreamEx.rawCollect(AbstractStreamEx.java:109)
	at one.util.streamex.AbstractStreamEx.collect(AbstractStreamEx.java:519)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:606)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:580)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.getType(PyCallExpressionImpl.java:64)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.codeInsight.decorator.PyDecoratedFunctionTypeProvider.evaluateType(PyDecoratedFunctionTypeProvider.java:62)
	at com.jetbrains.python.codeInsight.decorator.PyDecoratedFunctionTypeProvider.lambda$getReferenceType$1(PyDecoratedFunctionTypeProvider.java:50)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.codeInsight.decorator.PyDecoratedFunctionTypeProvider.getReferenceType(PyDecoratedFunctionTypeProvider.java:47)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:525)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:423)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:395)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:308)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:227)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyClassImpl.getMetaClassType(PyClassImpl.java:1493)
	at com.jetbrains.python.psi.impl.PyClassImpl.isOverriddenMRO(PyClassImpl.java:1685)
	at com.jetbrains.python.psi.impl.PyClassImpl.getMROAncestorTypes(PyClassImpl.java:1661)
	at com.jetbrains.python.psi.impl.PyClassImpl.lambda$getAncestorTypesWithMetaClassInstances$10(PyClassImpl.java:1463)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:669)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:647)
	at com.jetbrains.python.psi.impl.PyClassImpl.getAncestorTypesWithMetaClassInstances(PyClassImpl.java:1459)
	at com.jetbrains.python.psi.impl.PyClassImpl.getAncestorTypes(PyClassImpl.java:1454)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.isTypingTypedDictInheritor(PyTypedDictTypeProvider.kt:56)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.getTypedDictTypeForTypingTDInheritorAsCallee(PyTypedDictTypeProvider.kt:144)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.getTypedDictTypeForResolvedCallee(PyTypedDictTypeProvider.kt:108)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.access$getTypedDictTypeForResolvedCallee(PyTypedDictTypeProvider.kt:39)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider.getReferenceType(PyTypedDictTypeProvider.kt:32)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:525)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getGenericTypeFromTarget(PyReferenceExpressionImpl.java:423)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:395)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:308)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:227)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:181)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:170)
	at com.jetbrains.python.psi.impl.PyClassImpl.fillSuperClassesSwitchingToAst(PyClassImpl.java:1394)
	at com.jetbrains.python.psi.impl.PyClassImpl.doGetSuperClassTypes(PyClassImpl.java:1378)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:669)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:647)
	at com.jetbrains.python.psi.impl.PyClassImpl.getSuperClassTypes(PyClassImpl.java:1366)
	at com.jetbrains.python.psi.types.PyClassTypeImpl.getSuperClassTypes(PyClassTypeImpl.java:119)
	at com.jetbrains.python.psi.impl.PyClassImpl.mroLinearize(PyClassImpl.java:420)
	at com.jetbrains.python.psi.impl.PyClassImpl.getMROAncestorTypes(PyClassImpl.java:1660)
	at com.jetbrains.python.psi.impl.PyClassImpl.lambda$getAncestorTypesWithMetaClassInstances$10(PyClassImpl.java:1463)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:669)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:647)
	at com.jetbrains.python.psi.impl.PyClassImpl.getAncestorTypesWithMetaClassInstances(PyClassImpl.java:1459)
	at com.jetbrains.python.psi.impl.PyClassImpl.getAncestorTypes(PyClassImpl.java:1454)
	at com.jetbrains.extensions.python.PyClassExtKt.inherits(PyClassExt.kt:28)
	at com.jetbrains.extensions.python.PyClassExtKt.inherits(PyClassExt.kt:30)
	at com.jetbrains.python.testing.PythonUnitTestDetectorsKt.isUnitTestCaseClass(PythonUnitTestDetectors.kt:23)
	at com.jetbrains.python.testing.PythonUnitTestDetectorsBasedOnSettings.isTestClass(PythonUnitTestDetectorsBasedOnSettings.java:82)
	at com.jetbrains.python.testing.PythonUnitTestDetectorsBasedOnSettings.lambda$isTestFile$0(PythonUnitTestDetectorsBasedOnSettings.java:40)
	at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
	at com.jetbrains.python.testing.PythonUnitTestDetectorsBasedOnSettings.isTestFile(PythonUnitTestDetectorsBasedOnSettings.java:40)
	at com.jetbrains.python.testing.PyTestsSharedKt.isTestElement(PyTestsShared.kt:95)
	at com.jetbrains.python.testing.PyAbstractTestConfiguration.couldBeTestTarget(PyTestsShared.kt:700)
	at com.jetbrains.python.testing.PyTestsConfigurationProducer$Companion.getTargetForConfig$intellij_python_community_impl(PyTestsShared.kt:777)
	at com.jetbrains.python.testing.PyTestsConfigurationProducer.setupConfigurationFromContext(PyTestsShared.kt:877)
	at com.jetbrains.python.testing.PyTestsConfigurationProducer.setupConfigurationFromContext(PyTestsShared.kt:763)
	at com.intellij.execution.actions.RunConfigurationProducer.createConfigurationFromContext(RunConfigurationProducer.java:98)
	at com.jetbrains.python.testing.AbstractPythonTestConfigurationProducer.createConfigurationFromContext(AbstractPythonTestConfigurationProducer.kt:38)
	at com.jetbrains.python.testing.PyTestsConfigurationProducer.createConfigurationFromContext(PyTestsShared.kt:850)
	at com.intellij.execution.actions.PreferredProducerFind.doGetConfigurationsFromContext(PreferredProducerFind.java:119)
	at com.intellij.execution.actions.PreferredProducerFind.getConfigurationsFromContext(PreferredProducerFind.java:100)
	at com.intellij.execution.actions.ConfigurationContext.createConfigurationsFromContext(ConfigurationContext.java:425)
	at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunConfigsForCurrentFile(ExecutorRegistryImpl.java:501)
	at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunCurrentFileActionStatus(ExecutorRegistryImpl.java:446)
	at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.getRunCurrentFileActionStatus(ExecutorRegistryImpl.java:424)
	at com.intellij.execution.ExecutorRegistryImpl$ExecutorAction.update(ExecutorRegistryImpl.java:385)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:164)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:187)
	at com.intellij.openapi.actionSystem.impl.ActionUpdaterKt.doUpdate(ActionUpdater.kt:696)
	at com.intellij.openapi.actionSystem.impl.ActionUpdaterKt.access$doUpdate(ActionUpdater.kt:1)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateActionReal$success$1.invoke(ActionUpdater.kt:110)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateActionReal$success$1.invoke(ActionUpdater.kt:109)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater$callAction$3$adjustedCall$1.invoke(ActionUpdater.kt:157)
	at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108)
	at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:16)
	at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95)
	at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:38)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1075)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:36)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:34)
	at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:321)
	at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:310)
	at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:31)
	at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94)
	at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:78)
	at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:65)
	at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:16)
	at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invokeSuspend(InternalReadAction.kt:36)
	at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
	at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
	at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
	at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:35)
	at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:38)
	at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15)
	at com.intellij.openapi.application.CoroutinesKt.constrainedReadActionUndispatched(coroutines.kt:82)
	at com.intellij.openapi.application.CoroutinesKt.readActionUndispatched(coroutines.kt:69)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.kt:740)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.kt:134)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateActionReal(ActionUpdater.kt:109)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.kt:531)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.kt:388)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater.access$expandGroupChild(ActionUpdater.kt:71)
	at com.intellij.openapi.actionSystem.impl.ActionUpdater$doExpandActionGroup$2$result$1$1$1.invokeSuspend(ActionUpdater.kt:342)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

@koxudaxi
Copy link
Owner

com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticDynamicModelTypeForTargetExpression

It seems that the other issue also had a problem from the parsing part of the dynamicModel.
I think we need to do something to optimize the process, such as using stubs here.

@koxudaxi koxudaxi added the bug Something isn't working label Dec 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants