pydantic-pycharm-plugin icon indicating copy to clipboard operation
pydantic-pycharm-plugin copied to clipboard

Error report from pycharm

Open samuelcolvin opened this issue 4 years ago • 1 comments

Getting the following error from pycharm which apparently relates to this package, version v0.3.3.

Not sure if you've seen it before or it's helpful.

Outdated stub in index: file:///home/samuel/code/aioaws/env/lib/python3.9/site-packages/pydantic/__init__.py indexing timestamp = 1625220585665, binary = false, byte size = 2378, char size = 2378, doc=DocumentImpl[file:///home/samuel/code/aioaws/env/lib/python3.9/site-packages/pydantic/__init__.py], docSaved=true, wasIndexedAlready=true, queried at 1625220585665
doc length=2103
file length=2103
cached PSI class com.jetbrains.python.psi.impl.PyFileImpl
projects with file: 1
physical file exists; length = 2103

java.lang.Exception
	at com.intellij.psi.stubs.StubTreeLoaderImpl.diagnoseLengthMismatch(StubTreeLoaderImpl.java:168)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.checkLengthMatch(StubTreeLoaderImpl.java:134)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readFromVFile(StubTreeLoaderImpl.java:101)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readOrBuild(StubTreeLoaderImpl.java:41)
	at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:629)
	at com.intellij.psi.impl.source.PsiFileImpl.getStub(PsiFileImpl.java:592)
	at com.jetbrains.python.psi.impl.PyFileImpl$ExportedNameCache.<init>(PyFileImpl.java:70)
	at com.jetbrains.python.psi.impl.PyFileImpl.getExportedNameCache(PyFileImpl.java:440)
	at com.jetbrains.python.psi.impl.PyFileImpl.lambda$multiResolveName$0(PyFileImpl.java:412)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.impl.PyFileImpl.multiResolveName(PyFileImpl.java:411)
	at com.jetbrains.python.psi.impl.PyFileImpl.multiResolveName(PyFileImpl.java:405)
	at com.jetbrains.python.psi.types.PyModuleType.resolveMemberInPackageOrModule(PyModuleType.java:93)
	at com.jetbrains.python.psi.types.PyModuleType.resolveMember(PyModuleType.java:75)
	at com.jetbrains.python.psi.resolve.ResolveImportUtil.resolveModuleMember(ResolveImportUtil.java:317)
	at com.jetbrains.python.psi.resolve.ResolveImportUtil.resolveInPackageModule(ResolveImportUtil.java:282)
	at com.jetbrains.python.psi.resolve.ResolveImportUtil.resolveChildren(ResolveImportUtil.java:267)
	at com.jetbrains.python.psi.resolve.ResolveImportUtil.resolveNameInFromImport(ResolveImportUtil.java:137)
	at com.jetbrains.python.psi.resolve.ResolveImportUtil.multiResolveImportElement(ResolveImportUtil.java:107)
	at com.jetbrains.python.psi.impl.PyImportElementImpl.multiResolve(PyImportElementImpl.java:239)
	at com.jetbrains.python.psi.impl.PyImportElementImpl.getElementsNamed(PyImportElementImpl.java:220)
	at com.jetbrains.python.psi.impl.PyImportElementImpl.multiResolveName(PyImportElementImpl.java:191)
	at com.jetbrains.python.psi.resolve.PyResolveProcessor.resolveInImportedNameDefiner(PyResolveProcessor.java:99)
	at com.jetbrains.python.psi.resolve.PyResolveProcessor.execute(PyResolveProcessor.java:51)
	at com.jetbrains.python.psi.impl.PyFileImpl$ExportedNameCache.multiResolve(PyFileImpl.java:145)
	at com.jetbrains.python.psi.impl.PyFileImpl.lambda$multiResolveName$0(PyFileImpl.java:412)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.impl.PyFileImpl.multiResolveName(PyFileImpl.java:411)
	at com.jetbrains.python.psi.impl.PyFileImpl.multiResolveName(PyFileImpl.java:405)
	at com.jetbrains.python.psi.types.PyModuleType.resolveMemberInPackageOrModule(PyModuleType.java:93)
	at com.jetbrains.python.psi.types.PyModuleType.resolveMember(PyModuleType.java:75)
	at com.jetbrains.python.psi.resolve.PyResolveUtil.doResolveQualifiedNameInScope(PyResolveUtil.java:262)
	at com.jetbrains.python.psi.resolve.PyResolveUtil.lambda$resolveQualifiedNameInScope$1(PyResolveUtil.java:221)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:673)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:651)
	at com.jetbrains.python.psi.resolve.PyResolveUtil.resolveQualifiedNameInScope(PyResolveUtil.java:220)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.tryResolvingOnStubs(PyTypingTypeProvider.java:1430)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.tryResolvingWithAliases(PyTypingTypeProvider.java:1386)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.tryResolving(PyTypingTypeProvider.java:1372)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.resolveToQualifiedNames(PyTypingTypeProvider.java:1438)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.isTypedDict(PyTypedDictTypeProvider.kt:42)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.checkIfClassIsDirectTypedDictInheritor(PyTypedDictTypeProvider.kt:62)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.isTypingTypedDictInheritor(PyTypedDictTypeProvider.kt:49)
	at com.jetbrains.python.codeInsight.typing.PyTypedDictTypeProvider$Companion.getTypedDictTypeForResolvedElement(PyTypedDictTypeProvider.kt:215)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getTypeForResolvedElement(PyTypingTypeProvider.java:811)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getType(PyTypingTypeProvider.java:725)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getIndexTypes(PyTypingTypeProvider.java:1325)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getParameterizedType(PyTypingTypeProvider.java:1339)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getTypeForResolvedElement(PyTypingTypeProvider.java:782)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getType(PyTypingTypeProvider.java:725)
	at com.jetbrains.python.codeInsight.typing.PyTypingTypeProvider.getReturnType(PyTypingTypeProvider.java:337)
	at com.jetbrains.python.psi.impl.PyFunctionImpl.getReturnType(PyFunctionImpl.java:202)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getReturnType$1(TypeEvalContext.java:203)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getReturnType(TypeEvalContext.java:192)
	at com.jetbrains.python.psi.types.PyFunctionTypeImpl.getReturnType(PyFunctionTypeImpl.java:42)
	at com.jetbrains.python.psi.types.PyTypeChecker.collectGenerics(PyTypeChecker.java:733)
	at com.jetbrains.python.psi.types.PyTypeChecker.hasGenerics(PyTypeChecker.java:689)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTarget(PyReferenceExpressionImpl.java:408)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromTargets(PyReferenceExpressionImpl.java:312)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:231)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getExplicitResolveResults(PyCallExpressionHelper.java:220)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$0(PyCallExpressionHelper.java:194)
	at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:673)
	at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:651)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:190)
	at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCallType(PyCallExpressionHelper.java:578)
	at com.jetbrains.python.psi.impl.PyCallExpressionImpl.getType(PyCallExpressionImpl.java:66)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getTypeFromIteration(PyTargetExpressionImpl.java:351)
	at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:205)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.koxudaxi.pydantic.PydanticKt.getType(Pydantic.kt:118)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider$getPydanticDataclass$1.invoke(PydanticDataclassTypeProvider.kt:70)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider$getPydanticDataclass$1.invoke(PydanticDataclassTypeProvider.kt:20)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
	at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
	at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
	at kotlin.sequences.SequencesKt___SequencesKt.firstOrNull(_Sequences.kt:133)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider.getPydanticDataclass(PydanticDataclassTypeProvider.kt:81)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider.getReferenceExpressionType(PydanticDataclassTypeProvider.kt:27)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromProviders(PyReferenceExpressionImpl.java:385)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:219)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.jetbrains.python.psi.impl.PyListCompExpressionImpl.getType(PyListCompExpressionImpl.java:51)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.jetbrains.python.psi.impl.PyTargetExpressionImpl.getType(PyTargetExpressionImpl.java:164)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.koxudaxi.pydantic.PydanticKt.getType(Pydantic.kt:118)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider$getPydanticDataclass$1.invoke(PydanticDataclassTypeProvider.kt:70)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider$getPydanticDataclass$1.invoke(PydanticDataclassTypeProvider.kt:20)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
	at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
	at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
	at kotlin.sequences.SequencesKt___SequencesKt.firstOrNull(_Sequences.kt:133)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider.getPydanticDataclass(PydanticDataclassTypeProvider.kt:81)
	at com.koxudaxi.pydantic.PydanticDataclassTypeProvider.getReferenceExpressionType(PydanticDataclassTypeProvider.kt:27)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getTypeFromProviders(PyReferenceExpressionImpl.java:385)
	at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:219)
	at com.jetbrains.python.psi.types.TypeEvalContext.lambda$getType$0(TypeEvalContext.java:180)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:43)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.jetbrains.python.psi.types.TypeEvalContext.getType(TypeEvalContext.java:169)
	at com.jetbrains.python.inspections.PyTypedDictInspection$Visitor.visitPySubscriptionExpression(PyTypedDictInspection.kt:38)
	at com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl.acceptPyVisitor(PySubscriptionExpressionImpl.java:72)
	at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:69)
	at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitRestElementsAndCleanup$7(LocalInspectionsPass.java:346)
	at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:174)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:132)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:121)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:111)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitRestElementsAndCleanup$10(LocalInspectionsPass.java:346)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:136)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:92)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:104)
	at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:83)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:178)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:83)
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

samuelcolvin avatar Jul 02 '21 10:07 samuelcolvin

@samuelcolvin Thank you for creating this issue. I'll investigate the source of the problem.

koxudaxi avatar Jul 03 '21 14:07 koxudaxi

@samuelcolvin I'm sorry for my too-late fix. I have released a new version v0.4.0 in the market The version dropped unnecessary resolving for an object reference. It means the update reduces CPU load and fixes unexpected errors.

I closed the PR because the root cause method was removed from the plugin's source code. Thank you.

koxudaxi avatar Mar 02 '23 13:03 koxudaxi