koxudaxi / pydantic-pycharm-plugin

PyCharm plugin for pydantic. This plugin provides autocompletion, inspection, type-checking, inserting unfilled argument, and more.
https://koxudaxi.github.io/pydantic-pycharm-plugin/
MIT License
447 stars 15 forks source link

Bug: Plugin crashed in PyCharm 2024.2 #974

Closed Ailitonia closed 1 week ago

Ailitonia commented 4 weeks ago

Describe the bug Plugin not working and will be crashed in PyCharm 2024.2

To Reproduce Input the following code:

from pydantic import BaseModel

class TestModel(BaseModel):
    id: int
    name: str
    desc: str

t = TestModel()

Expected behavior Autocompletion provided by plugins should suggest model parameters. But it crashed.

Screenshots image

Environments (please complete the following information):

Additional context Here is the crash reportings:

stacktrace 1 ```java com.intellij.diagnostic.PluginException: Class com.jetbrains.extensions.ModuleBasedContextAnchor must not be requested from main classloader of PythonCore plugin. Matches content module (packagePrefix=com.jetbrains.extensions., moduleName=intellij.python.community.deprecated.extensions). [Plugin: com.koxudaxi.pydantic] at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:204) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:152) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at com.koxudaxi.pydantic.PydanticKt.getPsiElementFromQualifiedName(Pydantic.kt:615) at com.koxudaxi.pydantic.PydanticKt.getPyTargetExpressionFromQualifiedName(Pydantic.kt:624) at com.koxudaxi.pydantic.PydanticKt.getPydanticConfigDictDefaults(Pydantic.kt:603) at com.koxudaxi.pydantic.PydanticCacheService.getConfigDictDefaults(PydanticCacheService.kt:13) at com.koxudaxi.pydantic.PydanticCacheService.getOrConfigDictDefaults(PydanticCacheService.kt:66) at com.koxudaxi.pydantic.PydanticCacheService.access$getOrConfigDictDefaults(PydanticCacheService.kt:7) at com.koxudaxi.pydantic.PydanticCacheService$Companion.getConfigDictDefaults(PydanticCacheService.kt:94) at com.koxudaxi.pydantic.PydanticKt.getConfig(Pydantic.kt:557) at com.koxudaxi.pydantic.PydanticKt.getConfig$default(Pydantic.kt:494) at com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticTypeForClass(PydanticTypeProvider.kt:504) at com.koxudaxi.pydantic.PydanticTypeProvider.getReferenceType(PydanticTypeProvider.kt:46) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:498) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCalleeType(PyCallExpressionHelper.java:127) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getCallableType(PyReferenceExpressionImpl.java:221) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:209) 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:190) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.lambda$multiResolveCallee$1(PyCallExpressionHelper.java:162) at com.jetbrains.python.psi.PyUtil.getNullableParameterizedCachedValue(PyUtil.java:628) at com.jetbrains.python.psi.PyUtil.getParameterizedCachedValue(PyUtil.java:606) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCallee(PyCallExpressionHelper.java:158) at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiResolveCallee(PyCallExpressionImpl.java:32) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.multiResolveCalleeFunction(PyCallExpressionHelper.java:832) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.mapArguments(PyCallExpressionHelper.java:825) at com.jetbrains.python.psi.impl.PyCallExpressionImpl.multiMapArguments(PyCallExpressionImpl.java:38) at com.jetbrains.python.inlayHints.PythonInlayParameterHintsProvider.getInlayInfoForArgumentList(PythonInlayParameterHintsProvider.kt:44) at com.jetbrains.python.inlayHints.PythonInlayParameterHintsProvider.getParameterHints(PythonInlayParameterHintsProvider.kt:145) at com.intellij.codeInsight.hints.ParameterHintsPass.process(ParameterHintsPass.java:113) at com.intellij.codeInsight.hints.ParameterHintsPass.lambda$doCollectInformation$2(ParameterHintsPass.java:105) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at com.intellij.codeInsight.hints.ParameterHintsPass.doCollectInformation(ParameterHintsPass.java:105) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:418) at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.runWithSpanIgnoreThrows(trace.kt:118) at com.intellij.platform.diagnostic.telemetry.helpers.TraceUtil.runWithSpanThrows(TraceUtil.java:36) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:413) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:291) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:965) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$4(PassExecutorService.java:404) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:403) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:379) at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.cacheFileTypesInside(FileTypeManagerImpl.java:802) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$1(PassExecutorService.java:379) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.executeByImpatientReader(AnyThreadWriteThreadingSupport.kt:486) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:179) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:377) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:190) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) ```
stacktrace 2 ```java com.intellij.diagnostic.PluginException: Class com.jetbrains.extensions.ModuleBasedContextAnchor must not be requested from main classloader of PythonCore plugin. Matches content module (packagePrefix=com.jetbrains.extensions., moduleName=intellij.python.community.deprecated.extensions). [Plugin: com.koxudaxi.pydantic] at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:204) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:152) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at com.koxudaxi.pydantic.PydanticKt.getPsiElementFromQualifiedName(Pydantic.kt:615) at com.koxudaxi.pydantic.PydanticKt.getPyTargetExpressionFromQualifiedName(Pydantic.kt:624) at com.koxudaxi.pydantic.PydanticKt.getPydanticConfigDictDefaults(Pydantic.kt:603) at com.koxudaxi.pydantic.PydanticCacheService.getConfigDictDefaults(PydanticCacheService.kt:13) at com.koxudaxi.pydantic.PydanticCacheService.getOrConfigDictDefaults(PydanticCacheService.kt:66) at com.koxudaxi.pydantic.PydanticCacheService.access$getOrConfigDictDefaults(PydanticCacheService.kt:7) at com.koxudaxi.pydantic.PydanticCacheService$Companion.getConfigDictDefaults(PydanticCacheService.kt:94) at com.koxudaxi.pydantic.PydanticKt.getConfig(Pydantic.kt:557) at com.koxudaxi.pydantic.PydanticKt.getConfig$default(Pydantic.kt:494) at com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticTypeForClass(PydanticTypeProvider.kt:504) at com.koxudaxi.pydantic.PydanticTypeProvider.getReferenceType(PydanticTypeProvider.kt:46) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:498) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCalleeType(PyCallExpressionHelper.java:127) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getCallableType(PyReferenceExpressionImpl.java:221) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:209) 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.inspections.PyCallingNonCallableInspection.isCallable(PyCallingNonCallableInspection.java:91) at com.jetbrains.python.inspections.PyCallingNonCallableInspection$Visitor.checkCallable(PyCallingNonCallableInspection.java:69) at com.jetbrains.python.inspections.PyCallingNonCallableInspection$Visitor.visitPyCallExpression(PyCallingNonCallableInspection.java:53) at com.jetbrains.python.psi.impl.PyCallExpressionImpl.acceptPyVisitor(PyCallExpressionImpl.java:26) at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:58) at com.intellij.codeInsight.daemon.impl.InspectionRunner$InspectionProblemHolder.visitElement(InspectionRunner.java:598) at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processContext$20(InspectionRunner.java:415) at com.intellij.codeInsight.daemon.impl.InspectionVisitorOptimizer.acceptElements(InspectionVisitorOptimizer.java:197) at com.intellij.codeInsight.daemon.impl.InspectionRunner.processContext(InspectionRunner.java:413) at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$7(InspectionRunner.java:192) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:291) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:965) at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$executeInImpatientReadAction$17(InspectionRunner.java:394) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:158) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:150) at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$executeInImpatientReadAction$18(InspectionRunner.java:385) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:129) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:118) at com.intellij.codeInsight.daemon.impl.InspectionRunner.executeInImpatientReadAction(InspectionRunner.java:385) at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$8(InspectionRunner.java:191) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:494) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.call(JobLauncherImpl.java:483) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.call(JobLauncherImpl.java:471) at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1602) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) ```
stacktrace 3 ```java com.intellij.diagnostic.PluginException: Class com.jetbrains.extensions.ModuleBasedContextAnchor must not be requested from main classloader of PythonCore plugin. Matches content module (packagePrefix=com.jetbrains.extensions., moduleName=intellij.python.community.deprecated.extensions). [Plugin: com.koxudaxi.pydantic] at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.kt:204) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:152) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at com.koxudaxi.pydantic.PydanticKt.getPsiElementFromQualifiedName(Pydantic.kt:615) at com.koxudaxi.pydantic.PydanticKt.getPyTargetExpressionFromQualifiedName(Pydantic.kt:624) at com.koxudaxi.pydantic.PydanticKt.getPydanticConfigDictDefaults(Pydantic.kt:603) at com.koxudaxi.pydantic.PydanticCacheService.getConfigDictDefaults(PydanticCacheService.kt:13) at com.koxudaxi.pydantic.PydanticCacheService.getOrConfigDictDefaults(PydanticCacheService.kt:66) at com.koxudaxi.pydantic.PydanticCacheService.access$getOrConfigDictDefaults(PydanticCacheService.kt:7) at com.koxudaxi.pydantic.PydanticCacheService$Companion.getConfigDictDefaults(PydanticCacheService.kt:94) at com.koxudaxi.pydantic.PydanticKt.getConfig(Pydantic.kt:557) at com.koxudaxi.pydantic.PydanticKt.getConfig$default(Pydantic.kt:494) at com.koxudaxi.pydantic.PydanticTypeProvider.getPydanticTypeForClass(PydanticTypeProvider.kt:504) at com.koxudaxi.pydantic.PydanticTypeProvider.getReferenceType(PydanticTypeProvider.kt:46) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getReferenceTypeFromProviders(PyReferenceExpressionImpl.java:498) at com.jetbrains.python.psi.impl.PyCallExpressionHelper.getCalleeType(PyCallExpressionHelper.java:127) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getCallableType(PyReferenceExpressionImpl.java:221) at com.jetbrains.python.psi.impl.PyReferenceExpressionImpl.getType(PyReferenceExpressionImpl.java:209) 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.koxudaxi.pydantic.PydanticKt.getType(Pydantic.kt:202) at com.koxudaxi.pydantic.PydanticKt.getPyCallableType(Pydantic.kt:819) at com.koxudaxi.pydantic.PydanticAnnotator.annotatePydanticModelCallableExpression(PydanticAnnotator.kt:30) at com.koxudaxi.pydantic.PydanticAnnotator.visitPyCallExpression(PydanticAnnotator.kt:18) at com.jetbrains.python.psi.impl.PyCallExpressionImpl.acceptPyVisitor(PyCallExpressionImpl.java:26) at com.jetbrains.python.psi.impl.PyBaseElementImpl.accept(PyBaseElementImpl.java:58) at com.jetbrains.python.validation.PyAnnotator.annotateElement(PyAnnotator.java:46) at com.jetbrains.python.validation.PyAnnotatorBase.runAnnotators(PyAnnotatorBase.java:23) at com.jetbrains.python.validation.PyCompositeAnnotator.annotate(PyCompositeAnnotator.java:14) at com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl.runAnnotatorWithContext(AnnotationHolderImpl.java:216) at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.lambda$runAnnotator$3(AnnotatorRunner.java:139) at com.intellij.codeInsight.daemon.impl.AnnotationSessionImpl.computeWithSession(AnnotationSessionImpl.java:87) at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.runAnnotator(AnnotatorRunner.java:129) at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.lambda$runAnnotatorsAsync$0(AnnotatorRunner.java:66) at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:291) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:965) at com.intellij.codeInsight.daemon.impl.AnnotatorRunner.lambda$runAnnotatorsAsync$1(AnnotatorRunner.java:66) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:494) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.call(JobLauncherImpl.java:483) at com.intellij.concurrency.JobLauncherImpl$2MyProcessQueueTask.call(JobLauncherImpl.java:471) at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1602) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187) ```
rkrell commented 2 weeks ago

Instant crashes also here in 2024.2.0.1, appearantly the same stacktraces.

PC-Gonzales commented 2 weeks ago

+1 Having the same issue. Strangely, it only occurs in a new project I just created, but not in an old project.

NunchakusLei commented 2 weeks ago

I got the same problem. On all projects not only the new ones but also the my old projects.

codrin-lanterne commented 2 weeks ago

+1 PyCharm 2024.2.0.1 (Community Edition)

kamichal commented 1 week ago

Same here. Plugin worked flawlessly until pycharm update (Jetbrains JRE).

PyCharm 2024.2.0.1 (Community Edition)
Build #PC-242.20224.428, built on August 21, 2024
Runtime version: 21.0.3+13-b509.4 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.6.46-1-manjaro

Annoying crash reports are poping up several times an hour, but I cannot send them because the "send" button is disabled.

definite-d commented 1 week ago

Same. +1.

PyCharm 2024.2.1 (Community Edition)
Build #PC-242.21829.153, built on August 29, 2024
Runtime version: 21.0.3+13-b509.11 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.10.7-arch1-1
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
  ide.experimental.ui=true
  i18n.locale=
  terminal.new.ui=true
Non-Bundled Plugins:
  com.koxudaxi.pydantic (0.4.14)
Current Desktop: KDE

(output from Help | About within PyCharm.)

sheldoncoup commented 1 week ago

+1 Crashes every few minutes for me as well

PyCharm 2024.2.1 (Community Edition)
Build #PC-242.21829.153, built on August 29, 2024
Runtime version: 21.0.3+13-b509.11 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 5.15.0-117-generic
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 4096M
Cores: 8
Registry:
  ide.experimental.ui=true
  i18n.locale=
Non-Bundled Plugins:
  com.koxudaxi.pydantic (0.4.14)
  org.sonarlint.idea (10.7.0.78874)
Current Desktop: ubuntu:GNOME
koxudaxi commented 1 week ago

I apologize for the delayed response. This issue only occurs in the PyCharm Community Edition. The cause seems to be the removal of an internal API in version 2024.2. I am working on a fix.

Thank you for your report!!

koxudaxi commented 1 week ago

I just released the fixed version. We need approval from Jetbrains to publish the plugin on the market. We have to wait 1 or 2 days. However, there are build plugins on the release page. You can go ahead and install the zip.

https://github.com/koxudaxi/pydantic-pycharm-plugin/releases/tag/v0.4.15

https://www.jetbrains.com/help/pycharm/managing-plugins.html#install_plugin_from_disk

definite-d commented 1 week ago

Works great. Thanks for the fantastic work you put into this project @koxudaxi !