sqldelight icon indicating copy to clipboard operation
sqldelight copied to clipboard

Sqldelight's IntelliJ Plugin froze entire IDE when opening my project

Open vanniktech opened this issue 2 years ago • 9 comments
trafficstars

SQLDelight Version

2.0.0-SNAPSHOT-1688651465148

IDE Version

IntelliJ 2023.2 EAP 7

Dialect

SQLite

Describe the Bug

Reported this initially to IntelliJ team but they pointed out that this is caused by this plugin. I attached two thread dumps.

threadDumps-freeze-20230712-110141-IC-232.8453.116.zip threadDumps-freeze-20230712-110332-IC-232.8453.116.zip

Stacktrace

"Indexing" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on com.intellij.openapi.extensions.impl.BeanExtensionPoint@6a5c4cd1 owned by "Indexing" Id=129
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapter(ExtensionPointImpl.java)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl.access$200(ExtensionPointImpl.java:33)
	at com.intellij.openapi.extensions.impl.ExtensionPointImpl$1.next(ExtensionPointImpl.java:354)
	at [email protected]/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1856)
	at [email protected]/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at [email protected]/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at [email protected]/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at [email protected]/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at [email protected]/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at [email protected]/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at [email protected]/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at [email protected]/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
	at app.cash.sqldelight.dialects.sqlite_3_18.SqliteDialect.registerTypeHolder(SqliteDialect.kt:50)
	at app.cash.sqldelight.dialects.sqlite_3_18.SqliteDialect.setup(SqliteDialect.kt:31)
	at app.cash.sqldelight.core.lang.ParserUtil.initializeDialect(ParserUtil.kt:23)
	at app.cash.sqldelight.core.lang.MigrationParserDefinition.createParser(MigrationParserDefinition.kt:19)
	at app.cash.sqldelight.core.lang.MigrationParserDefinition.createParser(MigrationParserDefinition.kt:11)
	at com.intellij.psi.tree.ILightStubFileElementType.parseContentsLight(ILightStubFileElementType.java:50)
	at com.intellij.psi.impl.source.tree.FileElement.getLighterAST(FileElement.java:49)
	at com.intellij.util.indexing.FileContentImpl.getLighterAST(FileContentImpl.java:59)
	at com.intellij.psi.stubs.StubTreeBuilder.lambda$buildStubTree$3(StubTreeBuilder.java:140)
	at com.intellij.psi.stubs.StubTreeBuilder$$Lambda$6034/0x0000000302c15ed8.compute(Unknown Source)
	at com.intellij.psi.impl.PsiManagerImpl.runInBatchFilesMode(PsiManagerImpl.java:455)
	at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:132)
	at com.intellij.psi.stubs.StubUpdatingIndex$2.computeValue(StubUpdatingIndex.java:204)
	at com.intellij.psi.stubs.StubUpdatingIndex$2.computeValue(StubUpdatingIndex.java:181)
	at com.intellij.psi.stubs.StubUpdatingIndex$2.computeValue(StubUpdatingIndex.java:147)
	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:313)
	at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:304)
	at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:162)
	at com.intellij.util.indexing.impl.storage.VfsAwareMapReduceIndex.mapInput(VfsAwareMapReduceIndex.java:39)
	at com.intellij.util.indexing.impl.MapReduceIndex.mapInputAndPrepareUpdate(MapReduceIndex.java:249)
	at com.intellij.psi.stubs.StubUpdatingIndexStorage.mapInputAndPrepareUpdate(StubUpdatingIndexStorage.java:61)
	at com.intellij.psi.stubs.StubUpdatingIndexStorage.mapInputAndPrepareUpdate(StubUpdatingIndexStorage.java:22)
	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:1611)
	at com.intellij.util.indexing.FileBasedIndexImpl.lambda$doIndexFileContent$25(FileBasedIndexImpl.java:1480)
	at com.intellij.util.indexing.FileBasedIndexImpl$$Lambda$6121/0x0000000302c99fe0.run(Unknown Source)
	at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyWithProvidedValueIn(FileTypeManagerImpl.java:676)
	at com.intellij.util.indexing.FileBasedIndexImpl.doIndexFileContent(FileBasedIndexImpl.java:1432)
	at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1405)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$indexOneFileOfJob$4(IndexUpdateRunner.java:322)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner$$Lambda$6117/0x0000000302c99478.call(Unknown Source)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:832)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:864)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:602)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$4(NonBlockingReadActionImpl.java:565)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission$$Lambda$1719/0x000000030105da70.run(Unknown Source)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils$$Lambda$1720/0x000000030105df50.run(Unknown Source)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:133)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:114)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils$$Lambda$1722/0x000000030105e3e0.compute(Unknown Source)
	at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:71)
	at com.intellij.openapi.progress.ProgressManager$$Lambda$1317/0x0000000300ca7c90.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1295/0x0000000300c96000.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1296/0x0000000300c96248.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:61)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
	at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:71)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:111)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:565)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.executeSynchronously(NonBlockingReadActionImpl.java:492)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.executeSynchronously(NonBlockingReadActionImpl.java:222)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.indexOneFileOfJob(IndexUpdateRunner.java:326)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$indexJobsFairly$3(IndexUpdateRunner.java:248)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner$$Lambda$6098/0x0000000302c93d98.run(Unknown Source)
	at com.intellij.openapi.progress.impl.ProgressSuspender.executeNonSuspendableSection(ProgressSuspender.java:89)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.indexJobsFairly(IndexUpdateRunner.java:251)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner.lambda$doIndexFiles$2(IndexUpdateRunner.java:182)
	at com.intellij.util.indexing.contentQueue.IndexUpdateRunner$$Lambda$6096/0x0000000302c93908.run(Unknown Source)
	at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:24)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:249)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:227)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$500/0x0000000300612288.run(Unknown Source)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:215)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at [email protected]/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at [email protected]/java.security.AccessController.executePrivileged(AccessController.java:776)
	at [email protected]/java.security.AccessController.doPrivileged(AccessController.java:399)
	at [email protected]/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at [email protected]/java.lang.Thread.run(Thread.java:833)

vanniktech avatar Jul 12 '23 10:07 vanniktech

Been consistently reproducing this at least 3 times the last couple of days.

vanniktech avatar Jul 17 '23 10:07 vanniktech

Seems to be freezing up at this line which is confusing. This code didn't change in any of the recent releases, can you try using a non EAP version of IntelliJ and see if its still a problem?

AlecKazakova avatar Jul 17 '23 12:07 AlecKazakova

I can't since I've upgraded my projects to AGP 8 which is only supported in the latest EAP Versions 😵‍💫 🔫 I don't recall this being an issue with 2023.1 though.

vanniktech avatar Jul 17 '23 13:07 vanniktech

do you have a youtrack where you originally filed and they redirected?

AlecKazakova avatar Jul 17 '23 13:07 AlecKazakova

Yup: https://youtrack.jetbrains.com/issue/IDEA-325076/IntelliJ-freezes-when-opening-the-project I think they also changed that issues which are reported from EAP are invisible by default; but I think I've gotten your user name and added you successfully, if not please write me

vanniktech avatar Jul 17 '23 13:07 vanniktech

Since that YouTrack issue is private, I'd like to ask here. Is this in fact a SQLDelight error? Or has it been established to be an IntelliJ bug?

okarmazin avatar Oct 05 '23 18:10 okarmazin

No update since:

Screenshot 2023-10-07 at 15 24 39

vanniktech avatar Oct 07 '23 20:10 vanniktech

Android Studio folks redirected me here for IDE freezes https://issuetracker.google.com/issues/308369734. Thread dumps in the issue.

mightyguava avatar Oct 31 '23 16:10 mightyguava

https://issuetracker.google.com/issues/308369734 is marked as "Won't fix", so it seems like the plugin should be fixed. For me, using the plugin is not an option because of this - stable Android Studio Hedgehog | 2023.1.1 Patch 2 freezes every time it starts with the plugin enabled.

NamtarR avatar Jan 25 '24 00:01 NamtarR