myxce/.wolf/bugs/bug-1707.md
2026-09-28 04:17:31 +00:00

41 lines
1.9 KiB
Markdown

---
id: "bug-1707"
status: "fixed"
status_updated: "2026-09-28"
status_note: ""
component: "controller"
severity: "unknown"
timestamp: "2026-08-26T09:32:18Z"
last_seen: "2026-09-19T09:00:00Z"
occurrences: 1
files: ["src/harness/test.c"]
tags: ["controller", "testsuite", "xce_test", "cmd_resupdate", "silent-data-loss", "cli-ux-audit"]
related: ["bug-1706"]
fix_commits: ["da1a663f"]
legacy: true
---
# bug-1707: cmd_resupdate: `resupdate -n slots -v 4 -n mem` silently drops the trailing `mem` resource with…
## Description
cmd_resupdate: `resupdate -n slots -v 4 -n mem` silently drops the trailing `mem` resource with zero diagnostic (the final pending -n/-v pair is only flushed if a value was seen), yet the command still prints "resource update ok!" as if everything the user typed succeeded. A mid-list missing -v does print a warning; only the trailing one is silent.
## Environment
_Not recorded (migrated from buglog.json)._
## Reproduction
_Not recorded (migrated from buglog.json)._
## Root cause
Trailing pending -n/-v pair flush logic only runs when resval_str != NULL, with no fallback warning path like the mid-list case has.
## Fix
A trailing -n without -v now gets the same warning and default value as a mid-list one (resupdate_add()). cmd_resupdate also returns the RPC's failure instead of 0, refuses an empty update, and bounds the 16-entry vals[] array (a 17th -n overflowed it).
## Verification
- Test: test_resupdate_trailing_name_without_value_warns and test_resupdate_rpc_failure_fails_the_session in src/harness/testsuite/test_test_cli.c: RED before the fix (no warning; exit 0 after the RPC failed), GREEN after
- Suites: harness 6/6 (asan): harness_unit_test 141/0, cmdutil 14/0, resval_typeresolve 7/0, joblist_display 22/0, join_worker_args 7/0, listrow_json 12/0
- Live: n/a; xce_test is a client tool and every case above runs without a controller
## References
- Related: bug-1706