gejun123456 / MyBatisCodeHelper-Pro

http://brucege.com
1.88k stars 240 forks source link

[bug]插件的异常导致无法正常启动应用[PersistentEnumerator storage corrupted] #943

Closed milo-xiaomeng closed 9 months ago

milo-xiaomeng commented 9 months ago

重现步骤(Repeat steps)

当前使用版本(Current Version)

IntelliJ IDEA 2023.2.2 • Notes plugin com.ccnode.codegenerator.MyBatisCodeHelperPro 3.2.4

Exception

PersistentEnumerator storage corrupted

java.lang.RuntimeException: com.intellij.util.io.CorruptedException: PersistentEnumerator storage corrupted /Users/milo/Library/Caches/JetBrains/IntelliJIdea2023.2/caches/names.dat
    at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:138)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.lambda$static$0(FSRecordsImpl.java:96)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.handleError(FSRecordsImpl.java:1172)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.getNameId(FSRecordsImpl.java:781)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.getNameId(FSRecords.java:304)
    at com.intellij.openapi.vfs.newvfs.persistent.InvertedNameIndex.processData(InvertedNameIndex.java:152)
    at com.intellij.openapi.vfs.newvfs.persistent.InvertedNameIndex.processFilesWithNames(InvertedNameIndex.java:52)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.processFilesWithNames(FSRecordsImpl.java:701)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.processFilesWithNames(FSRecords.java:285)
    at com.intellij.util.indexing.FileBasedIndexScanUtil.processFilesContainingAnyKey(FileBasedIndexScanUtil.java:241)
    at com.intellij.util.indexing.FileBasedIndexImpl.processFilesContainingAnyKey(FileBasedIndexImpl.java:1168)
    at com.intellij.psi.search.FilenameIndex.getVirtualFilesByNames(FilenameIndex.java:214)
    at com.intellij.psi.search.FilenameIndex.getVirtualFilesByName(FilenameIndex.java:62)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.findDescriptionByModuleInner(JavaModuleGraphUtil.java:135)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.createModuleCacheResult(JavaModuleGraphUtil.java:124)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.lambda$findDescriptorByModule$2(JavaModuleGraphUtil.java:111)
    at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:37)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$3(CachedValueBase.java:240)
    at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:43)
    at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:240)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:110)
    at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
    at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:65)
    at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:241)
    at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:27)
    at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:69)
    at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:111)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.findDescriptorByModule(JavaModuleGraphUtil.java:111)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.findDescriptorByFile(JavaModuleGraphUtil.java:65)
    at com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil.findDescriptorByElement(JavaModuleGraphUtil.java:49)
    at com.intellij.psi.impl.JavaPlatformModuleSystem.checkAccess(JavaPlatformModuleSystem.kt:91)
    at com.intellij.psi.impl.JavaPlatformModuleSystem.checkAccess(JavaPlatformModuleSystem.kt:53)
    at com.intellij.psi.impl.JavaPlatformModuleSystem.isAccessible(JavaPlatformModuleSystem.kt:41)
    at com.intellij.psi.JavaModuleSystem.isAccessible(JavaModuleSystem.java:40)
    at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.lambda$isAccessible$0(PsiResolveHelperImpl.java:131)
    at com.intellij.util.containers.ContainerUtil.and(ContainerUtil.java:2186)
    at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:142)
    at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:131)
    at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:119)
    at com.intellij.psi.impl.source.resolve.ClassResolverProcessor.checkAccessibility(ClassResolverProcessor.java:253)
    at com.intellij.psi.impl.source.resolve.ClassResolverProcessor.execute(ClassResolverProcessor.java:214)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl$MyResolveCacheProcessor.process(PsiJavaFileBaseImpl.java:615)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl$MyResolveCacheProcessor.process(PsiJavaFileBaseImpl.java:593)
    at com.intellij.util.containers.ContainerUtil.process(ContainerUtil.java:814)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processDeclarations(PsiJavaFileBaseImpl.java:289)
    at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:61)
    at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:40)
    at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:207)
    at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:136)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.resolve(PsiJavaCodeReferenceElementImpl.java:492)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.access$100(PsiJavaCodeReferenceElementImpl.java:44)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:378)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:371)
    at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$2(ResolveCache.java:174)
    at com.intellij.openapi.util.Computable.get(Computable.java:16)
    at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:234)
    at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:110)
    at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
    at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:65)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:212)
    at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:174)
    at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:846)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.getCanonicalText(PsiJavaCodeReferenceElementImpl.java:294)
    at com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.getCanonicalText(PsiJavaCodeReferenceElementImpl.java:278)
    at com.intellij.psi.impl.source.tree.java.PsiAnnotationImpl.getQualifiedName(PsiAnnotationImpl.java:74)
    at com.ccnode.codegenerator.aa.q.a.e.getLanguagesToInject(e.java:38)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:495)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUpInner(InjectedLanguageUtilBase.java:238)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.lambda$probeElementsUp$0(InjectedLanguageUtilBase.java:218)
    at com.intellij.openapi.application.impl.ReadActionCacheImpl$allowInWriteAction$1.invoke(ReadActionCacheImpl.kt:42)
    at com.intellij.openapi.application.impl.ReadActionCacheImpl$allowInWriteAction$1.invoke(ReadActionCacheImpl.kt:42)
    at com.intellij.openapi.application.impl.ReadActionCacheImpl.allowInWriteAction(ReadActionCacheImpl.kt:30)
    at com.intellij.openapi.application.impl.ReadActionCacheImpl.allowInWriteAction(ReadActionCacheImpl.kt:42)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.probeElementsUp(InjectedLanguageUtilBase.java:217)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtilBase.enumerate(InjectedLanguageUtilBase.java:159)
    at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:379)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.lambda$processInjectedPsiFiles$6(InjectedGeneralHighlightingPass.java:171)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:142)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
    at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:98)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
    at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:110)
    at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:88)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:201)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:207)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:88)
    at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:63)
    at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:51)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.processInjectedPsiFiles(InjectedGeneralHighlightingPass.java:169)
    at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.collectInformationWithProgress(InjectedGeneralHighlightingPass.java:79)
    at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:95)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:390)
    at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.runWithSpanIgnoreThrows(trace.kt:77)
    at com.intellij.platform.diagnostic.telemetry.helpers.TraceUtil.runWithSpanThrows(TraceUtil.java:24)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:386)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:377)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:376)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:352)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:201)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:207)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:350)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:190)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: com.intellij.util.io.CorruptedException: PersistentEnumerator storage corrupted /Users/milo/Library/Caches/JetBrains/IntelliJIdea2023.2/caches/names.dat
    at com.intellij.util.io.PersistentEnumeratorBase.catchCorruption(PersistentEnumeratorBase.java:623)
    at com.intellij.util.io.PersistentEnumeratorBase.doEnumerate(PersistentEnumeratorBase.java:265)
    at com.intellij.util.io.PersistentEnumeratorBase.enumerate(PersistentEnumeratorBase.java:278)
    at com.intellij.util.io.PersistentEnumerator.enumerate(PersistentEnumerator.java:110)
    at com.intellij.util.io.PersistentStringEnumerator.enumerate(PersistentStringEnumerator.java:55)
    at com.intellij.util.io.PersistentStringEnumerator.enumerate(PersistentStringEnumerator.java:10)
    at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.getNameId(FSRecordsImpl.java:778)
    ... 114 more
milo-xiaomeng commented 9 months ago

清理缓存后正常。