fix(runtime): harden host memory and screenshot uploads - #1229
Conversation
|
这是一条自动评审的初步意见,最终以维护者审阅为准 🙏
先说结论:四个 runtime 改动本身实测过关,没有发现阻断级问题,但不建议直接合——需要作者先 rebase。 1)(最重要)分支基线过旧,底部 4 个 commit 的内容已经在主干里本 PR 的 merge-base 是 底部四个 commit 的准确构成是:3 个对应已合并 #955 的原始 commit( 判据不是看 commit message:把
直接 rebase 整个分支会在 commit 1/8 就撞上 4 个文件的冲突,且冲突全部是"主干已经演进过去了"(例如 建议:只保留顶部 4 个新 commit( 2) 有一个测试在 rebase 后会必然失败(3 行可修)
这不是解冲突的问题:主干自己的 修法 3 行:deps 解构清单里加 3) 两处测试覆盖缺口(非阻断,建议补)做了变异测试(每个变异都先确认真的落地,排除空编辑)。这些都变红、说明断言有牙:删单飞守卫、删上传失败后的 hash 恢复、bus env 不放 argv、打破 GOFLAGS 两处镜像、删 MemAvailable 闸。 有两处变异后仍全绿:
这两道正是防"把 MemoryMax 误报成可执行"的关键闸,注释里也专门写了理由,但目前没有用例钉住。两位 reviewer 各自独立写了判别性探针验证缺口真实可测(探针先在未变异代码上通过,再对变异体变红)。cgroup-v2 那道门的判别形态比较挑:必须让下游全部会通过(delegation 读得到、 补充背景:我们的 daemon 宿主就是 cgroup v1,探测结果是 4) 两点非阻断、供参考
实测记录(真机验证,Linux daemon 宿主)
rebase 记录(我这边实际怎么解的)基于最新 master 只 cherry-pick 顶部 4 个 runtime commit,出现 2 处冲突,都是「主干与本 PR 各自动了同一处」: ① stopOwnedSessionScope('restart');
killCli({
preservePending: opts.preservePending,
preservePolicyCapability: true,
});(这里如果只取一侧,会静默丢掉主干新加的策略能力保留或本 PR 的 scope 回收。) ② 补的两个用例长什么样都放在
反变异:删 cgroup-v2 硬门 → 转红 1 条;把 复验数据(在 rebase 后的分支上重跑)
更正记录:本条此前的一个版本曾声称底部 commit 是「#955 定稿前的更旧版本,硬合会把主干已精化的两处改回旧样子」。该说法不成立,已撤回: 再次说明这只是自动评审的初步意见,可能有误判,最终以维护者审阅为准。辛苦! |
|
补充一条自动评审的复审意见(第二位 reviewer 的独立验证),最终仍以维护者审阅为准 🙏 首轮评论的结论我逐条独立验证过,全部成立,并补充几个细节: 关于基线(首轮第 1 条的补充)底部 4 个 commit 与 #955 的对应关系比「squash 前原始 commit」更精确一点:它们是 #955 原始 4 个 commit 中的 3 个( 这不影响「丢掉底部 4 个」的结论,反而更稳:
我用三方合并验证过:把底部 4 个的树与 关于测试修复(首轮第 2 条)
实测复核(Linux daemon 宿主,cgroup v1)
建议与首轮一致:rebase 时只保留顶部 4 个 runtime commit(测试修复可一并带上);另外两处覆盖缺口(cgroup-v2 硬门、placement 验证)建议各补一个判别性用例——我验证过缺口真实存在且可测:构造「下游全部会通过、只留该闸当唯一拒绝理由」的场景即可钉住。 辛苦! |
两处闸此前变异后仍全绿(删 cgroup-v2 硬门 / 跳过 placement 验证), 说明「不谎称 MemoryMax 可执行」这条承诺没有用例承重。 补两个判别性用例: - cgroup-v1 宿主:让 delegation 与 placement 的下游检查全部会通过 (memory.max 存在且等于探针 limit),只留 v2 根标记缺失作为唯一拒绝理由, 并断言 MemoryMax 参数确实没被加上(不只断言 flag)。 - 纸面 delegation:v2 标记在、controllers/subtree_control 都列 memory, 但活动 scope 的 memory.max 不存在 ⟹ 必须拒绝。 反变异:两个变异各转红一条;行为等价的良性重构仍全绿。
fd1f383 to
eed3100
Compare
deepcoldy
left a comment
There was a problem hiding this comment.
双人独立评审通过,无阻断。
分支已 rebase 到最新 master(base 259b4de96),底部 4 个已在主干的 commit 已丢弃,保留 4 个 runtime commit,另附 2 个测试补丁(rebase 后必现的 harness 注入缺失修复 + cgroup-v2 硬门与 placement 验证的判别性用例)。
验证:build / tsc 通过;PR 改动的 9 个测试文件 293/293;全量 unit 与同环境 pristine master 失败集合一致,差异项逐个隔离复跑确认为既有问题或负载 flake,无回归。真机验证 scope 进程树回收(stop 后按 PID 核对 0 存活)、共享 tmux server 不受影响、TTY 语义无损、bwrap 可嵌套、relay 接力不误杀。
|
🚀 Released in v3.19.3 |
No description provided.