bazelbuild / intellij

IntelliJ plugin for Bazel projects
https://github.com/bazelbuild/intellij/blob/master/docs/index.md
Apache License 2.0
764 stars 308 forks source link

Find Usages in IDEA stopped working with `2024.07.30.0.2-api-version-242` Bazel Plugin #6666

Closed fivetran-renat-sh closed 3 months ago

fivetran-renat-sh commented 3 months ago

Description of the bug:

After upgrading to the latest versions of IntelliJ IDEA and Bazel Plugin, Find Usages stopped to work in IDEA. If disable Bazel Plugin, Find Usages works.

Attempt to clear IDEA cache didn't fix the issue.

Attempt to clear bazel cache didn't fix the issue, clean commands used:

bazel clean --expunge --async
rm -rf /private/var/tmp/_bazel_* 

IntelliJ IDEA version 2024.2.0.2 Community Bazel Plugin: 2024.07.30.0.2-api-version-242 bazel version: 7.3.1 MacOS M1 CPU

Which category does this issue belong to?

No response

What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Upgrade IntelliJ IDEA and Bazel Plugin to the mentioned versions (latest versions ATM)

Which Intellij IDE are you using? Please provide the specific version.

IntelliJ IDEA 2024.2.0.2 community edition

What programming languages and tools are you using? Please provide specific versions.

Java 17, Protobuf 3

What Bazel plugin version are you using?

2024.07.30.0.2-api-version-242

Have you found anything relevant by searching the web?

No (only advices found were to clear the caches, which didn't work).

Any other information, logs, or outputs that you want to share?

Stack trace shown by IDEA:

java.lang.NoClassDefFoundError: com/intellij/history/core/Paths
    at com.google.idea.blaze.base.lang.buildfile.search.BlazePackage.getPackageRelativePath(BlazePackage.java:117)
    at com.google.idea.blaze.base.lang.buildfile.references.LabelUtils.createLabelForFile(LabelUtils.java:41)
    at com.google.idea.blaze.base.lang.buildfile.search.BuildReferenceSearcher.processFileReferences(BuildReferenceSearcher.java:106)
    at com.google.idea.blaze.base.lang.buildfile.search.BuildReferenceSearcher.processQuery(BuildReferenceSearcher.java:61)
    at com.google.idea.blaze.base.lang.buildfile.search.BuildReferenceSearcher.processQuery(BuildReferenceSearcher.java:42)
    at com.intellij.openapi.application.QueryExecutorBase.execute(QueryExecutorBase.java:76)
    at com.intellij.util.ExecutorsQuery.processResults(ExecutorsQuery.java:30)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:83)
    at com.intellij.util.AbstractQuery.delegateProcessResults(AbstractQuery.java:100)
    at com.intellij.util.MergeQuery.processResults(MergeQuery.java:22)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:83)
    at com.intellij.util.AbstractQuery.delegateProcessResults(AbstractQuery.java:100)
    at com.intellij.util.UniqueResultsQuery.processResults(UniqueResultsQuery.java:37)
    at com.intellij.util.AbstractQuery.doProcessResults(AbstractQuery.java:83)
    at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:75)
    at com.intellij.util.AbstractQuery.findAll(AbstractQuery.java:24)
    at com.intellij.find.findUsages.FindUsagesHandlerBase.findReferencesToHighlight(FindUsagesHandlerBase.java:115)
    at com.intellij.find.findUsages.JavaFindUsagesHandler.findReferencesToHighlight(JavaFindUsagesHandler.java:247)
    at com.intellij.codeInsight.highlighting.HighlightUsagesKt.getPsiUsageRanges(highlightUsages.kt:84)
    at com.intellij.codeInsight.highlighting.HighlightUsagesKt.getUsageRanges(highlightUsages.kt:65)
    at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.lambda$highlightTargetUsages$0(IdentifierHighlighterPass.java:238)
    at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:171)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:129)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:113)
    at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.highlightTargetUsages(IdentifierHighlighterPass.java:237)
    at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.highlightReferencesAndDeclarations(IdentifierHighlighterPass.java:212)
    at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:99)
    at com.intellij.codeInsight.highlighting.BackgroundHighlighter.lambda$submitIdentifierHighlighterPass$8(BackgroundHighlighter.java:317)
    at com.intellij.codeInsight.daemon.impl.HighlightingSessionImpl.runInsideHighlightingSession(HighlightingSessionImpl.java:170)
    at com.intellij.codeInsight.highlighting.BackgroundHighlighter.lambda$submitIdentifierHighlighterPass$9(BackgroundHighlighter.java:314)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:66)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:155)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:138)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:96)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:96)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:135)
    at com.intellij.codeInsight.highlighting.BackgroundHighlighter.lambda$submitIdentifierHighlighterPass$10(BackgroundHighlighter.java:311)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:840)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:872)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:604)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$4(NonBlockingReadActionImpl.java:567)
    at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:291)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:965)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:93)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:66)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:155)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:138)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:96)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:96)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:135)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:93)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:567)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:466)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$2(NonBlockingReadActionImpl.java:481)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: com.intellij.history.core.Paths PluginClassLoader(plugin=PluginDescriptor(name=Bazel for IntelliJ, id=com.google.idea.bazel.ijwb, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/IdeaIC2024.2/plugins/ijwb, version=2024.07.30.0.2-api-version-242, package=null, isBundled=false), packagePrefix=null, state=active, parents=PluginDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, moduleName=intellij.terminal.sh, descriptorPath=intellij.terminal.sh.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/terminal, version=242.20224.419, package=org.jetbrains.plugins.terminal.sh, isBundled=true), PluginDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, moduleName=intellij.terminal/cloud, descriptorPath=intellij.terminal.cloud.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/terminal, version=242.20224.419, package=org.jetbrains.plugins.terminal.cloud, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.performancePlugin, descriptorPath=intellij.java.performancePlugin.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=com.intellij.java.performancePlugin, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.compiler.charts, descriptorPath=intellij.java.compiler.charts.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=com.intellij.java.compiler.charts, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.impl, descriptorPath=intellij.platform.vcs.impl.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/lib, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.log.impl, descriptorPath=intellij.platform.vcs.log.impl.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/lib, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.dvcs.impl, descriptorPath=intellij.platform.vcs.dvcs.impl.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/lib, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.collaborationTools, descriptorPath=intellij.platform.collaborationTools.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/lib, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.coverage, descriptorPath=intellij.platform.coverage.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/lib, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.vcs, descriptorPath=intellij.java.vcs.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.unscramble, descriptorPath=intellij.java.unscramble.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.featuresTrainer, descriptorPath=intellij.java.featuresTrainer.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, moduleName=intellij.java.structuralSearch, descriptorPath=intellij.java.structuralSearch.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, descriptorPath=plugin.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/terminal, version=242.20224.419, package=org.jetbrains.plugins.terminal, isBundled=true), PluginDescriptor(name=Java, id=com.intellij.java, descriptorPath=plugin.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/java, version=242.20224.419, package=null, isBundled=true), PluginDescriptor(name=JUnit, id=JUnit, descriptorPath=plugin.xml, path=/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit, version=242.20224.419, package=null, isBundled=true), )
    ... 75 more
tpasternak commented 3 months ago

Probably a duplicate of #6608

Can you please check if it is reproducible in beta channel?

fivetran-renat-sh commented 3 months ago

@tpasternak , thank you a ton! It works!

Installed latest Bazel Plugin beta - 2024.08.13.0.2-api-version-242