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

Extremely slow startup times since latest 1.4.x updates #548

Open
brittyazel opened this issue Jun 6, 2023 · 22 comments
Open

Extremely slow startup times since latest 1.4.x updates #548

brittyazel opened this issue Jun 6, 2023 · 22 comments

Comments

@brittyazel
Copy link

Since the latest round of updates, launching IntelliJ takes a very long time, with the IDE sitting at "Lua indexing: waiting to start ..." and then "Scanning files to index", both taking a couple of minutes to complete. Likewise, while this is happening, it's using >15% of my CPU.

This is with version 1.4.2, but it was also present in the prior version.

@Meivyn
Copy link

Meivyn commented Jun 7, 2023

Can confirm, with a very large amount of files, the IDE is completely freezing, and the CPU usage can go all the way up to 100%, with IDEA CPU usage averaging 70-80%.
It shows this stack trace after opening it back. This behavior is not present on EmmyLua < v1.4.1 and rolling back to v1.3.20 fixes the issue.

Freeze for 158 seconds
IDE KILLED! Sampled time: 128400ms, sampling rate: 100ms, GC time: 18482ms (12%), Class loading: 0%, cpu load: 32%

The stack is from the thread that was blocking EDT

com.intellij.diagnostic.Freeze
	at com.tang.intellij.lua.ty.ExpressionsKt.infer(Expressions.kt:189)
	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:42)
	at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.inferImpl(ILuaTypeInfer.kt:41)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:35)
	at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:151)
	at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:34)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:62)
	at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:57)
	at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
	at com.tang.intellij.lua.psi.LuaPsiImplUtilKt.guessParentType(LuaPsiImplUtil.kt:262)
	at com.tang.intellij.lua.psi.impl.LuaIndexExprImpl.guessParentType(LuaIndexExprImpl.java:93)
	at com.tang.intellij.lua.ty.ExpressionsKt.infer$lambda$8(Expressions.kt:364)
	at com.tang.intellij.lua.ty.ExpressionsKt$$Lambda$6950/0x0000000102c6fae8.compute(Unknown Source)
	at com.intellij.openapi.util.RecursionGuard$$Lambda$1498/0x00000001010d50f8.compute(Unknown Source)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:112)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
	at com.tang.intellij.lua.ext.UtilsKt.recursionGuard(utils.kt:27)
	at com.tang.intellij.lua.ext.UtilsKt.recursionGuard$default(utils.kt:26)
	at com.tang.intellij.lua.ty.ExpressionsKt.infer(Expressions.kt:323)
	at com.tang.intellij.lua.ty.ExpressionsKt.inferExprInner(Expressions.kt:56)
	at com.tang.intellij.lua.ty.ExpressionsKt.inferExpr(Expressions.kt:43)
	at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:42)
	at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.inferImpl(ILuaTypeInfer.kt:41)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:35)
	at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:151)
	at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:34)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:62)
	at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:57)
	at com.tang.intellij.lua.ty.DeclarationsKt.infer(Declarations.kt:36)
	at com.tang.intellij.lua.ty.ExpressionsKt.infer(Expressions.kt:323)
	at com.tang.intellij.lua.ty.ExpressionsKt.inferExprInner(Expressions.kt:56)
	at com.tang.intellij.lua.ty.ExpressionsKt.inferExpr(Expressions.kt:43)
	at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:42)
	at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.inferImpl(ILuaTypeInfer.kt:41)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:35)
	at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:151)
	at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:34)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:62)
	at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:57)
	at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
	at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt:255)
	at com.tang.intellij.lua.psi.LuaPsiImplUtilKt$guessTypeAt$1.invoke(LuaPsiImplUtil.kt:255)
	at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:102)
	at com.tang.intellij.lua.psi.LuaPsiImplUtilKt.guessTypeAt(LuaPsiImplUtil.kt:255)
	at com.tang.intellij.lua.psi.impl.LuaExprListImpl.guessTypeAt(LuaExprListImpl.java:51)
	at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt:139)
	at com.tang.intellij.lua.ty.DeclarationsKt$infer$1.invoke(Declarations.kt:138)
	at com.tang.intellij.lua.search.SearchContext.withIndex(SearchContext.kt:102)
	at com.tang.intellij.lua.ty.DeclarationsKt.infer(Declarations.kt:138)
	at com.tang.intellij.lua.ty.DeclarationsKt.inferInner(Declarations.kt:44)
	at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.inferImpl(ILuaTypeInfer.kt:41)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:35)
	at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:151)
	at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:34)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:62)
	at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:57)
	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:42)
	at com.tang.intellij.lua.ty.LuaTypeInfer.inferType(LuaTypeInfer.kt:25)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.inferImpl(ILuaTypeInfer.kt:41)
	at com.tang.intellij.lua.ext.ILuaTypeInfer$Companion.infer(ILuaTypeInfer.kt:35)
	at com.tang.intellij.lua.search.SearchContext.inferAndCache(SearchContext.kt:151)
	at com.tang.intellij.lua.search.SearchContext.access$inferAndCache(SearchContext.kt:34)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion$infer$2.invoke(SearchContext.kt:57)
	at com.tang.intellij.lua.search.SearchContext$Companion.with(SearchContext.kt:69)
	at com.tang.intellij.lua.search.SearchContext$Companion.infer(SearchContext.kt:57)
	at com.tang.intellij.lua.psi.LuaTypeGuessable.guessType(LuaTypeGuessable.java:29)
	at com.tang.intellij.lua.index.GuessableIndexer.tryIndex(Indexer.kt:52)
	at com.tang.intellij.lua.index.IndexTask.run(IndexManager.kt:291)
	at com.tang.intellij.lua.index.IndexTask.run(IndexManager.kt:216)
	at com.tang.intellij.lua.index.IndexManager.scanAllProject(IndexManager.kt:128)
	at com.tang.intellij.lua.index.IndexManager.access$scanAllProject(IndexManager.kt:47)
	at com.tang.intellij.lua.index.IndexManager$runScan$1.invoke(IndexManager.kt:109)
	at com.tang.intellij.lua.index.IndexManager$runScan$1.invoke(IndexManager.kt:109)
	at com.tang.intellij.lua.index.TaskQueue$runReadAction$task$1.run$lambda$0(TaskQueue.kt:51)
	at com.tang.intellij.lua.index.TaskQueue$runReadAction$task$1$$Lambda$3131/0x0000000101a122b0.run(Unknown Source)
	at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$1(DumbService.java:156)
	at com.intellij.openapi.project.DumbService$$Lambda$6870/0x0000000102c544b0.compute(Unknown Source)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:891)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:69)
	at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:149)
	at com.tang.intellij.lua.index.TaskQueue$runReadAction$task$1.run(TaskQueue.kt:50)
	at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:429)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:480)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1669/0x0000000101218480.apply(Unknown Source)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
	at com.intellij.openapi.progress.impl.ProgressRunner$$Lambda$1672/0x000000010121a0e8.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1363/0x0000000100fb75e0.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1364/0x0000000100fb7ae0.compute(Unknown Source)
	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:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
	at com.intellij.openapi.progress.impl.ProgressRunner$$Lambda$1671/0x0000000101219c78.get(Unknown Source)
	at java.base@17.0.6/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base@17.0.6/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base@17.0.6/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base@17.0.6/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base@17.0.6/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base@17.0.6/java.security.AccessController.executePrivileged(AccessController.java:776)
	at java.base@17.0.6/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base@17.0.6/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base@17.0.6/java.lang.Thread.run(Thread.java:833)

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

Can you please try this version?
https://github.com/EmmyLua/IntelliJ-EmmyLua/actions/runs/5206248623

@brittyazel
Copy link
Author

I cannot install that version. I get an error saying "failed to load plugin descriptor from file"

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

I cannot install that version. I get an error saying "failed to load plugin descriptor from file"

You need to unzip it and you will see another zip file, use that file to install

@Meivyn
Copy link

Meivyn commented Jun 8, 2023

This still freezes the IDE as soon as "Indexing dependencies" is done.

It however doesn't freeze indefinitely like it used to, but file browsing is extremely laggy, and it consumes a lot of RAM (IDE complains that 2048 Mb isn't enough anymore)
It also still freezes after a while.

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

@Meivyn I can't reproduce the problem, So ... I wonder if your project is complicated? How many Lua files are there and how the size are they?

@Meivyn
Copy link

Meivyn commented Jun 8, 2023

It's not really a project - I am simply loading the whole Interface/AddOns folder from World of Warcraft. Those add-ons are written in Lua. I always did that without a problem until that update. But that implies that there are a lot of files, so I can't tell the size or how many of them though.

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

@Meivyn I don't have WOW installed, where I can get the whole addons folder? Can you pack and upload it for me to test ?

@Meivyn
Copy link

Meivyn commented Jun 8, 2023

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

I always did that without a problem until that update
Yes, I rewrote the index system, since the index system in previous version cannot work in IDEA231. I had to rewrite it.

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

@Meivyn
Copy link

Meivyn commented Jun 8, 2023

Hmm, no clue what that error means, I am not understanding this language. What about this one?
https://wormhole.app/4zyjp#mt4Ty_GWKYvwko_UeOUd4A

@tangzx
Copy link
Member

tangzx commented Jun 8, 2023

@Meivyn It's my problem, finally I downloaded it, thanks , I'll try it

@brittyazel
Copy link
Author

It's a bit better. It doesn't lock up the UI nearly as much, though it takes 2-3min to finish it's analysis every single time I open my projects. It appears like it's having to analyze over 100k items according to the new loading status. Almost all of the things it is "analyzing" are the API files added to the project as external libraries. It seems odd that it has to do it every single time. Prior to 1.4.x it would open in just a few seconds.

@brittyazel
Copy link
Author

I have the exact same situation as @Meivyn. We are both loading the whole Interface codebase from World of Warcraft. I have it added as a project SDK. It's quite a bit of files:
https://github.com/Gethe/wow-ui-source

@brittyazel
Copy link
Author

Would it be possible to implement some sort of caching system for between sessions? I.e. the 100,000+ objects needing scanned in the World of Warcraft API aren't changing that often, and therefore it seems wasteful to scan them over and over again on each launch. Likewise, even when they are changed, it's really just a subset of them. If the session somehow knew which files had or had not been changed from one session to the next, and could use that information to inform the indexer, that could considerably speed things up.

@brittyazel
Copy link
Author

@tangzx I can confirm your rollback update today returned the previous behavior. Thank you for doing that.

I'm super excited for your hard work on the new indexer, and I'm hoping the above issue can be resolved without too much headache! Let me know if I can help in any way.

@Meivyn
Copy link

Meivyn commented Jun 12, 2023

I am getting an infinite indexing loop with the latest version. It starts to index the module, and then the SDK, and then the module, and then the SDK, and then the module...

It even does this for non-Lua projects after installing this version.

@brittyazel
Copy link
Author

@Meivyn Just a thought, have you tried invalidating your caches and restarting the IDE? I'm not able to replicate your issue on my end.

@Meivyn
Copy link

Meivyn commented Jun 13, 2023

Yeah, I did, and that didn't help. It was fixed when I reverted back to 1.3.20.

In case it helps, I am also getting this exception:

com.intellij.diagnostic.PluginException: encoded string (
local B..., },
})
) too long: 493211 bytes [Plugin: com.tang]
	at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.lambda$getSerializationProblemReporter$6(VfsAwareMapReduceIndex.java:353)
	at com.intellij.util.indexing.impl.ValueSerializationChecker.checkValueSerialization(ValueSerializationChecker.java:36)
	at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:299)
	at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:172)
	at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:39)
	at com.intellij.util.indexing.impl.MapReduceIndex.mapInputAndPrepareUpdate(MapReduceIndex.java:242)
	at com.intellij.indexing.composite.CompositeInvertedIndexBase.updateBaseIndex(CompositeInvertedIndexBase.java:294)
	at com.intellij.indexing.composite.CompositeInvertedIndexBase.mapInputAndPrepareUpdate(CompositeInvertedIndexBase.java:64)
	at com.intellij.indexing.composite.CompositeInvertedIndexBase.mapInputAndPrepareUpdate(CompositeInvertedIndexBase.java:30)
	at com.intellij.util.indexing.FileBasedIndexImpl.createSingleIndexValueApplier(FileBasedIndexImpl.java:1681)
	at com.intellij.util.indexing.FileBasedIndexImpl.lambda$doIndexFileContent$26(FileBasedIndexImpl.java:1546)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyWithProvidedValueIn(FileTypeManagerImpl.java:675)
	at com.intellij.util.indexing.FileBasedIndexImpl.doIndexFileContent(FileBasedIndexImpl.java:1494)
	at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1467)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$indexOneFileOfJob$4(IndexUpdateRunner.java:317)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:746)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:778)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:573)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:537)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:72)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:129)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:110)
	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$1(ProgressManager.java:70)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
	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:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:70)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:107)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:72)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:537)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.executeSynchronously(NonBlockingReadActionImpl.java:464)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.executeSynchronously(NonBlockingReadActionImpl.java:218)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.indexOneFileOfJob(IndexUpdateRunner.java:321)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$indexJobsFairly$3(IndexUpdateRunner.java:243)
	at com.intellij.openapi.progress.impl.ProgressSuspender.executeNonSuspendableSection(ProgressSuspender.java:80)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.indexJobsFairly(IndexUpdateRunner.java:246)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$doIndexFiles$2(IndexUpdateRunner.java:177)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:248)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:28)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:221)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:227)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:210)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.UTFDataFormatException: encoded string (
local B..., },
})
) too long: 493211 bytes
	at java.base/java.io.DataOutputStream.writeUTF(DataOutputStream.java:369)
	at java.base/java.io.DataOutputStream.writeUTF(DataOutputStream.java:333)
	at com.tang.intellij.lua.stubs.index.LuaStringArgIndex$getValueExternalizer$1.save(LuaStringArgIndex.kt:50)
	at com.tang.intellij.lua.stubs.index.LuaStringArgIndex$getValueExternalizer$1.save(LuaStringArgIndex.kt:45)
	at com.intellij.util.indexing.impl.forward.AbstractForwardIndexAccessor.serializeToByteSeq(AbstractForwardIndexAccessor.java:81)
	at com.intellij.util.indexing.impl.forward.AbstractForwardIndexAccessor.serializeValueToByteSeq(AbstractForwardIndexAccessor.java:69)
	at com.intellij.util.indexing.impl.ValueSerializationChecker.getValueSerializationProblem(ValueSerializationChecker.java:49)
	at com.intellij.util.indexing.impl.ValueSerializationChecker.checkValueSerialization(ValueSerializationChecker.java:34)
	... 53 more

@Meivyn
Copy link

Meivyn commented Jul 27, 2023

@tangzx Would appreciate it if you could look at it/send some news since 2023.2 is now officially out.

@Meivyn
Copy link

Meivyn commented Oct 11, 2023

This exception is indeed the cause of the issue. It happens with this addon: https://www.curseforge.com/wow/addons/btwquests-dragonflight

Excluding the Database folder from the sources did solve the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants