The GitHub Actions job "CodeQL" on grails-intellij-plugin.git/feature/community-edition-support has failed. Run started by GitHub user amondel2 (triggered by amondel2).
Head commit for run: ce2962c633498aa7754c4754b6f813b296d74c86 / aaron <[email protected]> Stop swallowing IntelliJ control-flow exceptions in broad catch blocks ProcessCanceledException extends CancellationException, so it is a plain RuntimeException: every catch(RuntimeException) and catch(Throwable) written to protect an optional code path also captures a cooperative cancellation, logs it and answers with a fallback. The platform reports a logged ProcessCanceledException back as a plugin error, so a cancelled scan looks like a broken one. ControlFlowGuard is the one place that recognises ControlFlowException, a marker interface, so the test covers more than ProcessCanceledException alone, and it re-throws unchanged and never wrapped. Apply it where a cancellation is actually reachable: the Grails application provider scan, whose only caller runs inside ReadAction.nonBlocking; the Grails console onDone handler; the reflective provider construction in named-argument reference resolution, where the JVM delivers the cancellation inside an InvocationTargetException; and UltimatePluginGuard's reflective reads. Each guard goes after the state its catch block owns. GrailsConsole released myExecuting and drained the process queue after the catch rather than in a finally, so a propagated cancellation left the console permanently marked busy and every later command queued behind a queue nothing drained. GrailsConsoleTest covers that and fails without the finally. Deliberately not applied everywhere: ensureScriptExists, MvcPluginUtil.parsePluginList, setProxyOld and GrailsModuleBuilder.setupModule do no cancellable work, and a guard there is noise that teaches the next reader to paste it everywhere. Two smaller corrections ride along. The Grails application provider logs are now terse: their actionable copy and issues URL only ever reached idea.log, addressed to a user who never sees them. And ControlFlowGuard.unwrapControlFlow had no caller, so it is gone rather than waiting for one. The gradle.properties and plugin/build.gradle comments that pointed into tasks/ now stand alone, since a fresh checkout of this repository has no such directory. AGENTS.md's stale test counts are corrected against a full run, along with the claim that test.idea.home.path lives in gradle.properties, which it does not. Report URL: https://github.com/apache/grails-intellij-plugin/actions/runs/36378011808 With regards, GitHub Actions via GitBox
