sqldelight icon indicating copy to clipboard operation
sqldelight copied to clipboard

com.intellij.diagnostic.PluginException in PerFileElementTypeStubModificationTracker.java:285

Open square-clippy opened this issue 1 year ago • 1 comments

Error in SQL Delight IntelliJ Plugin

com.intellij.diagnostic.PluginException in PerFileElementTypeStubModificationTracker.java:285 Cannot distinguish StubFileElementTypes. This might worsen the performance. Providing unique externalId or adding a distinctive debugName when instantiating StubFileElementTypes can help (override getExternalId() and/or getDebugName() in StubFileElementType). See attachment for additional information. [Plugin: com.squareup.sqldelight]

View on Bugsnag

Stacktrace

PerFileElementTypeStubModificationTracker.java:285 - com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.reportStubFileElementTypeVersionConflict

View full stacktrace

Created automatically via Bugsnag

square-clippy avatar Feb 09 '24 02:02 square-clippy

Got it too:

StubFileElementType version: psi.file:0:FILE
List of suitable conflicting StubFileElementTypes:
com.intellij.psi.tree.ILightStubFileElementType: plugin=null, language=Language: SqlDelight, externalId=psi.file, debugName=FILE
app.cash.sqldelight.core.lang.MigrationParserDefinition$Companion$FILE$1: plugin=com.squareup.sqldelight, language=Language: SqlDelightMigration, externalId=psi.file, debugName=FILE
com.intellij.psi.tree.IStubFileElementType: plugin=null, language=Language: ANY, externalId=psi.file, debugName=FILE
``

hfhbd avatar Feb 17 '24 11:02 hfhbd

Have the same:

com.intellij.diagnostic.PluginException: Cannot distinguish StubFileElementTypes. This might worsen the performance. Providing unique externalId or adding a distinctive debugName when instantiating StubFileElementTypes can help (override getExternalId() and/or getDebugName() in StubFileElementType). See attachment for additional information. [Plugin: com.squareup.sqldelight]
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.reportStubFileElementTypeVersionConflict(PerFileElementTypeStubModificationTracker.java:281)
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.lambda$determinePreviousFileElementType$8(PerFileElementTypeStubModificationTracker.java:257)
	at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.determinePreviousFileElementType(PerFileElementTypeStubModificationTracker.java:253)
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.fastCheck(PerFileElementTypeStubModificationTracker.java:147)
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.lambda$endUpdatesBatch$3(PerFileElementTypeStubModificationTracker.java:115)
	at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:53)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:909)
	at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:65)
	at com.intellij.openapi.application.ReadAction.run(ReadAction.java:52)
	at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.endUpdatesBatch(PerFileElementTypeStubModificationTracker.java:114)
	at com.intellij.util.indexing.events.ChangedFilesCollector$4.endBatch(ChangedFilesCollector.java:259)
	at com.intellij.util.indexing.events.ChangedFilesCollector$5.lambda$endBatch$2(ChangedFilesCollector.java:296)
	at com.intellij.util.ConcurrencyUtil.withLock(ConcurrencyUtil.java:264)
	at com.intellij.util.indexing.events.ChangedFilesCollector$5.endBatch(ChangedFilesCollector.java:295)
	at com.intellij.util.indexing.events.VfsEventsMerger.processChanges(VfsEventsMerger.java:125)
	at com.intellij.util.indexing.events.ChangedFilesCollector.processFilesInReadAction(ChangedFilesCollector.java:278)
	at com.intellij.util.indexing.events.ChangedFilesCollector.processFilesToUpdateInReadAction(ChangedFilesCollector.java:230)
	at com.intellij.util.indexing.events.ChangedFilesCollector.ensureUpToDate(ChangedFilesCollector.java:191)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:747)
	at com.intellij.util.indexing.FileBasedIndexEx.processExceptions(FileBasedIndexEx.java:296)
	at com.intellij.util.indexing.FileBasedIndexEx.getFileData(FileBasedIndexEx.java:189)
	at com.intellij.util.indexing.FileBasedIndexEx.getSingleEntryIndexData(FileBasedIndexEx.java:210)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readFromVFile(StubTreeLoaderImpl.java:116)
	at com.intellij.psi.stubs.StubTreeLoaderImpl.readOrBuild(StubTreeLoaderImpl.java:45)
	at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:625)
	at com.intellij.psi.impl.source.PsiFileImpl.getStub(PsiFileImpl.java:589)
	at org.jetbrains.kotlin.psi.KtFile.getStub(KtFile.kt:221)
	at org.jetbrains.kotlin.psi.KtFile.isScript(KtFile.kt:245)
	at org.jetbrains.kotlin.idea.KotlinIconProvider.getIcon(KotlinIconProvider.kt:58)
	at com.intellij.util.PsiIconUtil.getProvidersIcon(PsiIconUtil.kt:20)
	at com.intellij.ide.FileIconPatcherImpl.getIcon(FileIconPatcherImpl.java:22)
	at com.intellij.util.IconUtilKt.getProviderIcon(IconUtil.kt:586)
	at com.intellij.util.IconUtilKt.computeFileIconImpl(IconUtil.kt:562)
	at com.intellij.util.IconUtilKt.access$computeFileIconImpl(IconUtil.kt:1)
	at com.intellij.util.IconUtil.computeFileIcon(IconUtil.kt:149)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters$doUpdateFileIcon$icon$1.invoke(EditorsSplitters.kt:399)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters$doUpdateFileIcon$icon$1.invoke(EditorsSplitters.kt:398)
	at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108)
	at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:16)
	at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95)
	at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:38)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1075)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:36)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
	at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128)
	at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:34)
	at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:321)
	at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:310)
	at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:31)
	at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94)
	at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:78)
	at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:65)
	at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:16)
	at com.intellij.openapi.application.rw.InternalReadAction$readLoop$1.invokeSuspend(InternalReadAction.kt)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

and

StubFileElementType version: psi.file:0:FILE
List of suitable conflicting StubFileElementTypes:
com.intellij.psi.tree.ILightStubFileElementType: plugin=null, language=Language: SqlDelight, externalId=psi.file, debugName=FILE
app.cash.sqldelight.core.lang.MigrationParserDefinition$Companion$FILE$1: plugin=com.squareup.sqldelight, language=Language: SqlDelightMigration, externalId=psi.file, debugName=FILE
com.intellij.psi.tree.IStubFileElementType: plugin=null, language=Language: ANY, externalId=psi.file, debugName=FILE

SteinerOk avatar Feb 27 '24 19:02 SteinerOk

having the same error as @SteinerOk:

com.intellij.diagnostic.PluginException: Cannot distinguish StubFileElementTypes. This might worsen the performance. Providing unique externalId or adding a distinctive debugName when instantiating StubFileElementTypes can help (override getExternalId() and/or getDebugName() in StubFileElementType). See attachment for additional information. [Plugin: com.squareup.sqldelight]

The error occurs regularly. Sometimes even the whole IDE freezes completely while indexing some Table.sq files. Then I have to kill the process in task manager.

IntelliJ IDEA 2023.3.4 (Ultimate Edition) Build #IU-233.14475.28, built on February 13, 2024

  • SqlDelight IDE plugin version: 2.1.0-SNAPSHOT-1706925866669
  • SqlDelight lib version: 2.0.1
  • project: Kotlin multiplatform multi-module project (currently only JVM platform) JDK 19, Gradle 8.5

biberesser avatar Mar 03 '24 18:03 biberesser