EmmyLua / IntelliJ-EmmyLua

Lua IDE/Debugger Plugin for IntelliJ IDEA
https://emmylua.github.io
Apache License 2.0
1.74k stars 293 forks source link

java.lang.Throwable: Indexing process should not rely on non-indexed file data. #423

Closed leonardohe closed 1 year ago

leonardohe commented 3 years ago

Environment(环境)

name version
IDEA version 2021.1]
EmmyLua version 1.3.6]
OS [Windows 10]

What are the steps to reproduce this issue?(重现步骤?)

edit and save files

What happens?(出现什么问题?)

java.lang.Throwable: Indexing process should not rely on non-indexed file data.

What were you expecting to happen?(期望?)

Any logs, error output, etc?(有没有什么log, error输出?)

(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)

java.lang.Throwable: Indexing process should not rely on non-indexed file data.
Indexing file = D:/client/Assets/Script/Component/Components/Move/JumpController.lua, file id = 4938, queried file id = 4893
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
    at com.intellij.indexing.composite.CompositeInvertedIndexBase.getIndexedFileData(CompositeInvertedIndexBase.java:134)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$getFileData$3(FileBasedIndexEx.java:166)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processExceptions$5(FileBasedIndexEx.java:241)
    at com.intellij.util.ConcurrencyUtil.withLock(ConcurrencyUtil.java:234)
    at com.intellij.util.indexing.FileBasedIndexEx.lambda$processExceptions$6(FileBasedIndexEx.java:241)
    at com.intellij.util.indexing.diagnostic.IndexAccessValidator.validate(IndexAccessValidator.java:42)
    at com.intellij.util.indexing.FileBasedIndexEx.processExceptions(FileBasedIndexEx.java:241)
    at com.intellij.util.indexing.FileBasedIndexEx.getFileData(FileBasedIndexEx.java:159)
    at com.intellij.util.indexing.FileBasedIndexImpl.getFileData(FileBasedIndexImpl.java:1089)
    at com.intellij.util.indexing.FileBasedIndexEx.getSingleEntryIndexData(FileBasedIndexEx.java:180)
    at com.intellij.psi.stubs.StubTreeLoaderImpl.readFromVFile(StubTreeLoaderImpl.java:98)
    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.getGreenStubTree(PsiFileImpl.java:952)
    at com.intellij.psi.impl.source.PsiFileImpl.getGreenStub(PsiFileImpl.java:606)
    at com.tang.intellij.lua.psi.LuaPsiFile.getModuleName(LuaPsiFile.kt:71)
    at com.tang.intellij.lua.ty.DeclarationsKt$inferFile$1.compute(Declarations.kt:182)
    at com.tang.intellij.lua.ty.DeclarationsKt$inferFile$1.compute(Declarations.kt)
    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.tang.intellij.lua.ext.UtilsKt.recursionGuard(utils.kt:23)
    at com.tang.intellij.lua.ext.UtilsKt.recursionGuard$default(utils.kt:22)
    at com.tang.intellij.lua.ty.DeclarationsKt.inferFile(Declarations.kt:181)
    at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:46)
    at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
    at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33)
    at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175)
    at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:37)
    at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:63)
    at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58)
    at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
    at com.tang.intellij.lua.ty.ExpressionsKt.infer(Expressions.kt:183)
    at com.tang.intellij.lua.ty.ExpressionsKt.inferExprInner(Expressions.kt:50)
    at com.tang.intellij.lua.ty.ExpressionsKt.inferExpr(Expressions.kt:43)
    at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:41)
    at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
    at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33)
    at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175)
    at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:37)
    at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:63)
    at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58)
    at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
    at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt:248)
    at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt)
    at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:126)
    at com.tang.intellij.lua.psi.LuaPsiImplUtilKt.guessTypeAt(LuaPsiImplUtil.kt:248)
    at com.tang.intellij.lua.psi.impl.LuaExprListImpl.guessTypeAt(LuaExprListImpl.java:51)
    at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt:138)
    at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt)
    at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:126)
    at com.tang.intellij.lua.ty.DeclarationsKt.infer(Declarations.kt:137)
    at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:43)
    at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
    at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33)
    at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175)
    at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:37)
    at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:63)
    at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58)
    at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
    at com.tang.intellij.lua.ty.ExpressionsKt.inferExpr(Expressions.kt:40)
    at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:41)
    at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
    at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:33)
    at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:175)
    at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:35)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:58)
    at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:37)
    at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:63)
    at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:58)
    at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
    at com.tang.intellij.lua.psi.LuaPsiImplUtilKt.guessParentType(LuaPsiImplUtil.kt:255)
    at com.tang.intellij.lua.psi.impl.LuaIndexExprImpl.guessParentType(LuaIndexExprImpl.java:93)
    at com.tang.intellij.lua.stubs.LuaIndexExprType$createStub$ty$1.invoke(LuaIndexExprStub.kt:73)
    at com.tang.intellij.lua.stubs.LuaIndexExprType$createStub$ty$1.invoke(LuaIndexExprStub.kt:39)
    at com.tang.intellij.lua.search.SearchContext$Companion$withStub$1.invoke(SearchContext.kt:97)
    at com.tang.intellij.lua.search.SearchContext$Companion$withStub$1.invoke(SearchContext.kt:37)
    at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:70)
    at com.tang.intellij.lua.search.SearchContext$Companion.withStub(SearchContext.kt:92)
    at com.tang.intellij.lua.search.SearchContext$Companion.withStub(SearchContext.kt:88)
    at com.tang.intellij.lua.stubs.LuaIndexExprType.createStub(LuaIndexExprStub.kt:72)
    at com.tang.intellij.lua.stubs.LuaIndexExprType.createStub(LuaIndexExprStub.kt:39)
    at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.createStub(DefaultStubBuilder.java:85)
    at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.visitNode(DefaultStubBuilder.java:60)
    at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.buildStubTree(DefaultStubBuilder.java:55)
    at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTreeFor(DefaultStubBuilder.java:33)
    at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:22)
    at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:121)
    at com.intellij.psi.stubs.StubUpdatingIndex$1.computeValue(StubUpdatingIndex.java:165)
    at com.intellij.psi.stubs.StubUpdatingIndex$1.computeValue(StubUpdatingIndex.java:142)
    at com.intellij.psi.stubs.StubUpdatingIndex$1.computeValue(StubUpdatingIndex.java:109)
    at com.intellij.util.indexing.SingleEntryIndexer.map(SingleEntryIndexer.java:30)
    at com.intellij.util.indexing.SingleEntryIndexer.map(SingleEntryIndexer.java:19)
    at com.intellij.util.indexing.impl.MapReduceIndex.mapByIndexer(MapReduceIndex.java:316)
    at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:306)
    at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:168)
    at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:39)
    at com.intellij.util.indexing.impl.MapReduceIndex.mapInputAndPrepareUpdate(MapReduceIndex.java:256)
    at com.intellij.psi.stubs.StubUpdatingIndexStorage.mapInputAndPrepareUpdate(StubUpdatingIndexStorage.java:60)
    at com.intellij.psi.stubs.StubUpdatingIndexStorage.mapInputAndPrepareUpdate(StubUpdatingIndexStorage.java:19)
    at com.intellij.indexing.composite.CompositeInvertedIndexBase.updateBaseIndex(CompositeInvertedIndexBase.java:232)
    at com.intellij.indexing.composite.CompositeInvertedIndexBase.mapInputAndPrepareUpdate(CompositeInvertedIndexBase.java:55)
    at com.intellij.indexing.composite.CompositeInvertedIndexBase.mapInputAndPrepareUpdate(CompositeInvertedIndexBase.java:26)
    at com.intellij.util.indexing.FileBasedIndexImpl.updateSingleIndex(FileBasedIndexImpl.java:1491)
    at com.intellij.util.indexing.FileBasedIndexImpl.lambda$doIndexFileContent$23(FileBasedIndexImpl.java:1373)
    at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:555)
    at com.intellij.util.indexing.FileBasedIndexImpl.doIndexFileContent(FileBasedIndexImpl.java:1343)
    at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1297)
    at com.intellij.util.indexing.FileBasedIndexImpl.processRefreshedFile(FileBasedIndexImpl.java:1262)
    at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1582)
    at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1579)
    at com.intellij.util.indexing.UpdateTask.process(UpdateTask.java:63)
    at com.intellij.util.indexing.UpdateTask.processAll(UpdateTask.java:32)
    at com.intellij.util.indexing.FileBasedIndexImpl.forceUpdate(FileBasedIndexImpl.java:1601)
    at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:750)
    at com.intellij.util.indexing.FileBasedIndexEx.processExceptions(FileBasedIndexEx.java:237)
    at com.intellij.util.indexing.FileBasedIndexEx.collectFileIdsContainingAllKeys(FileBasedIndexEx.java:498)
    at com.intellij.util.indexing.FileBasedIndexEx.processFilesContainingAllKeys(FileBasedIndexEx.java:379)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processFilesContainingAllKeys$33(PsiSearchHelperImpl.java:1180)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesContainingAllKeys(PsiSearchHelperImpl.java:1187)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.collectFiles(PsiSearchHelperImpl.java:974)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(PsiSearchHelperImpl.java:849)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(PsiSearchHelperImpl.java:830)
    at com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(PsiSearchHelperImpl.java:755)
    at com.intellij.psi.search.SearchRequestQuery.processResults(SearchRequestQuery.java:24)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:91)
    at com.intellij.util.AbstractQuery.delegateProcessResults(AbstractQuery.java:108)
    at com.intellij.util.MergeQuery.processResults(MergeQuery.java:22)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:91)
    at com.intellij.util.AbstractQuery.delegateProcessResults(AbstractQuery.java:108)
    at com.intellij.util.UniqueResultsQuery.processResults(UniqueResultsQuery.java:39)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:91)
    at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:83)
    at com.intellij.util.AbstractQuery.findAll(AbstractQuery.java:28)
    at com.intellij.util.Query.iterator(Query.java:129)
    at com.intellij.util.AbstractQuery.iterator(AbstractQuery.java:39)
    at com.tang.intellij.lua.codeInsight.inspection.RemoveUnusedLocal$buildVisitor$1.visitParamNameDef(RemoveUnusedLocal.kt:47)
    at com.tang.intellij.lua.psi.impl.LuaParamNameDefImpl.accept(LuaParamNameDefImpl.java:31)
    at com.tang.intellij.lua.psi.impl.LuaParamNameDefImpl.accept(LuaParamNameDefImpl.java:35)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
    at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:320)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:279)
    at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:161)
    at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:153)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:277)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:132)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:121)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$6(LocalInspectionsPass.java:277)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:136)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1091)
    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 com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:61)
    at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:49)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.visitPriorityElementsAndInit(LocalInspectionsPass.java:292)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspect(LocalInspectionsPass.java:204)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:119)
    at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:400)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:393)
    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.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:392)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:368)
    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.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:366)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:188)
    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)

Any other comments?(其它说明)

tiwarivikash commented 3 years ago

any workaround?

CppCXY commented 3 years ago

any workaround?

uninstall emmylua file> invalidate caches wait indexs complete reinstall emmylua

SteyerCaansHerzog commented 2 years ago

@CppCXY This solution does not work. This error will happen even on newly installed IDE.

tangzx commented 1 year ago

fixed in version 1.4.+