You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@grails.apache.org by GitBox <gi...@apache.org> on 2026/10/01 02:15:51 UTC
[GH] (grails-intellij-plugin/feature/community-edition-support): Workflow run "CI" failed!
The GitHub Actions job "CI" 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 <am...@gmail.com>
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/36378011066
With regards,
GitHub Actions via GitBox