已关闭
[issue] rustup 后端 managed 记录无法移除,错误消息泄漏 Some(Rustup) 内部格式 #30
cezarbbb创建于  9月16日关闭于  9月17日
cezarbbb
9月16日 创建
name about title labels
BotForge 问题单 报告 BotForge 中可复现的问题 [Issue] rustup 后端 managed 记录无法移除,错误消息泄漏 Some(Rustup) 内部格式 bug

问题概述

remove rust-toolchain --yes(rustup 后端 managed 记录,实测 rust-analyzer)一律拒绝,返回 BF1008/exit8;错误消息中泄漏 Some(Rustup) 调试格式(内部枚举的 Debug 输出),且 HINT 建议 resume/backup 与当前场景无关,具有误导性。首次出现:阶段 1 共有缺陷,本版(1.0.3 / v1.0.1)延续。受影响安装场景:rustup 后端 managed 记录的移除操作。实际影响:managed 记录无法通过产品命令移除,且错误消息质量差;拒绝行为本身是安全的(默认目录状态零变化,sha256 校验确认)。

影响范围

项目 内容
执行模式 □ plan □ install □ status □ doctor(remove 子命令,不在上述模式内)
受影响的工具、资源或目标版本 rust-toolchain managed 记录(实测 rust-analyzer)
安装后端 □ cargo □ archive □ apt-mirror □ 托管 Cargo ☑ 其他(rustup 后端 managed 记录)
影响程度 ☑ 一般
临时规避办法 手动清理 managed 记录(产品命令不支持)

复现步骤

  1. bot-forge remove rust-toolchain --yes
  2. 观察退出码、错误消息与 HINT
  3. 校验默认目录状态(sha256)确认无副作用

预期结果

要么支持 managed 记录移除,要么给出明确拒绝原因与正确指引;错误消息不泄漏内部调试格式。

实际结果

一律拒绝:BF1008/exit8;消息泄漏 Some(Rustup) 调试格式;HINT(resume/backup)与场景无关。默认目录状态零变化(拒绝本身安全)。证据:T5.09b/T8.04。实测输出:

bot-forge error
  Error code  BF1008
ERROR configuration error: tool rust-analyzer must use the Some(Rustup) typed backend for removal; the registry does not store replayable shell commands
 HINT Run bot-forge resume to inspect the unfinished transaction or restore from its backup.
exit=8
隔离目录状态不变:managed=2  pending=0

各平台确认:蓝区 Linux x86_64 复现(操作前后默认目录 23/22/0 一致);绿区三平台复现(行为与消息一致);黄区 Linux x86_64 / ARM 复现(行为与消息一致);蓝区 Windows x86_64 无法测试(环境无托管 rust-toolchain 记录)。

运行环境与供应信息

项目 内容
BotForge 版本或提交号 bot-forge v1.0.1 公开版(蓝区);bot-forge-hw 1.0.3(绿区/黄区)
操作系统与架构 Linux x86_64(蓝区);Linux x86_64 / aarch64 / Windows x86_64(绿区);Linux x86_64 / ARM(黄区)
Shell bash(Linux)/ PowerShell(Windows)
配置来源 默认配置(managed 记录)
软件仓库 / 镜像 不涉及(本地拒绝,未访问网络)
校验和清单 默认目录 sha256 前后一致(23/22/0)
相关工具及版本 rustup(managed rust-toolchain 记录,实测 rust-analyzer)

安全、性能与恢复证据

  • ☐ 已提供校验和、签名或来源验证结果
  • ☑ 已提供冷缓存/热缓存、执行次数和基线(默认目录 sha256 基线 23/22/0 前后一致)
  • ☐ 已提供总耗时、并发度、处理器、内存、磁盘或网络数据
  • ☐ 已提供取消、事务日志、失败恢复、回滚或幂等性表现
  • ☑ 已说明失败后的残留文件、进程或系统状态(拒绝后默认目录零变化)

附件与提交确认

  • ☑ 已检索现有问题单,确认不是重复问题
  • ☑ 已提供最小复现步骤、预期结果和实际结果
  • ☑ 已提供可核对的安装、校验或恢复证据(如适用)
  • ☑ 已完成日志、配置和附件脱敏
likedislike
Ccezarbbb
9月16日 修改了issue 的描述
KKarliosQu成员
9月17日 关联了pull request:修复 #30:明确 rustup 工具移除限制及错误指引
VVaynNecol成员
9月17日 关闭了 issue