The reactive plugin is not correctly checking if `charm` failed
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. |