Fork me on GitHub
#cursive
<
2023-02-14
>
salam17:02:09

Colin, I’m not sure if you’re seeing this in the exception tracker on your side but I’ve been frequently getting the following exception with latest EAP versions of IntelliJ IDEA and Cursive. It looks like IntelliJ IDEA 2023.1 is shipped with a “lite” version of Grazie that lacks some of the features that Cursive relies on?

java.lang.NoSuchMethodError: 'com.intellij.grazie.text.RuleGroup com.intellij.grazie.text.RuleGroup$Companion.getLITERALS()'
	at cursive.grazie.ClojureProblemFilter.shouldIgnore(Grazie.kt:41)
	at com.intellij.grazie.text.ProblemFilter.lambda$allIgnoringFilters$0(ProblemFilter.java:17)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
	at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1856)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:652)
	at com.intellij.grazie.text.CheckerRunner.processProblem(CheckerRunner.kt:71)
	at com.intellij.grazie.text.CheckerRunner.access$processProblem(CheckerRunner.kt:32)
	at com.intellij.grazie.text.CheckerRunner$run$1.invokeSuspend(CheckerRunner.kt:57)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at com.intellij.openapi.progress.CoroutinesKt$indicatorRunBlockingCancellable$1.invoke(coroutines.kt:163)
	at com.intellij.openapi.progress.CoroutinesKt$indicatorRunBlockingCancellable$1.invoke(coroutines.kt:156)
	at com.intellij.openapi.progress.CancellationKt$ensureCurrentJob$2$1.invoke(cancellation.kt:85)
	at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17)
	at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60)
	at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17)
	at com.intellij.openapi.progress.CancellationKt.executeWithJobAndCompleteIt(cancellation.kt:126)
	at com.intellij.openapi.progress.CancellationKt.ensureCurrentJob$lambda$1(cancellation.kt:83)
	at com.intellij.openapi.progress.impl.CoreProgressManager.silenceGlobalIndicator(CoreProgressManager.java:964)
	at com.intellij.openapi.progress.CancellationKt.ensureCurrentJob(cancellation.kt:82)
	at com.intellij.openapi.progress.CoroutinesKt.indicatorRunBlockingCancellable(coroutines.kt:156)
	at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:120)
	at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:113)
	at com.intellij.grazie.text.CheckerRunner.run(CheckerRunner.kt:39)
	at com.intellij.grazie.ide.inspection.grammar.GrazieInspection$buildVisitor$1.visitElement(GrazieInspection.kt:46)
	at com.intellij.psi.impl.source.tree.LeafPsiElement.accept(LeafPsiElement.java:208)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$9(InspectionRunner.java:324)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$10(InspectionRunner.java:332)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:223)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:185)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$11(InspectionRunner.java:338)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:159)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:151)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$12(InspectionRunner.java:301)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$13(InspectionRunner.java:301)
	at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:299)
	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.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:284)
	at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:272)
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428)
	... 5 more

cfleming20:02:25

No, this is fixed for the next build. They’ve either changed how that field is declared, or something has changed about how the Kotlin compiler encodes it in bytecode. Simply recompiling against the latest IntelliJ API fixes it.

👍 4
gratitude-thank-you 4
salam03:03:58

@U0567Q30W any ETA on that new build that fixes this exception? it’s become unbearable. 😢 on the other hand, the New UI with the Compact Mode is just too good to give up on and go back to the non-EAP version of IntelliJ IDEA. 😅

cfleming01:03:05

@UDCGPTV9R Publishing right now 🙂

woohoo 2
cfleming01:03:26

As a bonus, it also has a first cut of the executing bookmarked forms feature.

awesome 2
cfleming01:03:51

No mnemonic support yet, but hopefully it will still be useful with the speed search.

salam01:03:21

Thank you!!! It sounds like it was worth the wait!

cfleming01:03:46

Sorry it took so long, there were a couple of rabbit holes along the way.

salam01:03:05

No worries!

cfleming01:03:29

Out now!

👏 2