← Back to issue list

The reactive plugin is not correctly checking if `charm` failed

View original Github issue

Metadata

Project
charmcraft
Number
#804
Type
issue
State
closed
Author
facundobatista
Labels
—
Created
Updated
Closed

Current evaluation

Fixed in merged PR #869 (commit 7046f61d), adding negative-return-code handling and return-code logging for both charm invocations.

Resolution: closed resolved

Reason: PR #869 merged commit 7046f61d and updated the shared charm-tool runner used by both proof and build. Negative and >=200 return codes are now treated as errors, with return codes logged.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The `charm` tool used by the reactive plugin has a complex return code specification. While Charmcraft is correctly checking that the return code >= 200 is an error, it's failing to verify that <0 is also an error. Furthermore, it should log in debug the return code from the execution (no matter which one it is). All said above applies for both `charm` calls.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Fixed in merged PR #869 (commit 7046f61d), adding negative-return-code handling and return-code logging for both charm invocations.
stealth/space-bunny-alpha — closed resolved Fixed in merged PR #869 (commit 7046f61d, merge ecce30c6): both charm calls now reject negative and >=200 return codes and log every return code at debug level.
stealth/space-bunny-alpha — closed resolved Fixed in merged PR #869 (commit 7046f61d): both charm calls now reject negative and >=200 return codes and log every return code at debug level.
qwen3.6-35b-a3b-mtp-q6 — — Incorrect charm return code validation in the reactive plugin was abandoned and closed without a fix. No pull requests or follow-up actions were recorded.
qwen/qwen3.6-35b-a3b — — Closed without a linked pull request or resolution, indicating the issue was abandoned.
qwen3.6-35b-a3b-mtp-q6 — — Reactive plugin charm error handling and debug logging gaps were closed without resolution. No fix or pull request was submitted, indicating the report was abandoned.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/charmcraft#869 (confidence 100%)

    Merged PR containing commit 7046f61d and the return-code handling and logging fix.

Related issues

Issue Project State Summary Similarity
#869 reactive_plugin: Properly check returncode from charm tool charmcraft merged Merged in commit 7046f61d (merge ecce30c6), fixing reactive_plugin to validate the charm tool return code and always log it; resolves #804.
82%
#866 reactive_plugin: Fix charm tools version validation charmcraft merged Merged PR #866 as commit 35ec089e (merge c40c30c2), replacing brittle charm-tools version parsing with JSON output and fixing #864.
75%
#610 many: add reactive charm plugin charmcraft closed PR #610 (charm-tools-based reactive plugin) was closed unmerged on 2021-12-14 by sergiusens in favor of #613, which reimplemented the plugin on the charm tool (CRAFT-699) and merged as 32c8650a.
75%
#864 reactive plugin charm tools version validation code is britle charmcraft closed Fixed by merged PR #866: commit 35ec089e updated reactive-plugin charm-tools validation to use JSON output; merge c40c30c2 closed #864.
73%
#924 reactive plugin: call `charm build` with `-v` charmcraft closed Fixed by merged PR #2021 (commit 7129d57e): the reactive plugin adds --verbose to charm build unless an explicit verbosity or log level is supplied.
73%
#613 plugins: reactive using charm tool (CRAFT-699) charmcraft merged Merged PR #613 (merge commit 32c8650a, branch charm-tools-plugin) added the reactive charm plugin built on the charm tool, implementing CRAFT-699; 11 files, +499/-8.
72%
#1326 fix(test): fix reactive plugin test if 'charm' tool is installed charmcraft merged Merged test-only fix making reactive plugin tests deterministic when the charm executable is installed, via PR #1326 and commit 4a573702.
71%