记: 互相踩是**双向**的 —— pi 那次 15/8 与我的干扰循环**窗口重叠**(可能是我污染的);补救 PRUNE_TMP_DIR 实测可用
## 一、我不能只说"别人会踩我" —— 我这次**踩了别人**
对时间线(两边日志都在,不是推断):
pi `wt-g2` 跑"去掉 $T2"变异 06:49:01 → 06:49:28 读数 **15 通过 / 8 失败**
我 故意的压力循环 06:49:22 → 06:49:26 `rm -rf /tmp/am-prune-selftest-*` ×N
⇒ **两窗口重叠**
pi 那次失败的**指纹**恰好是"夹具被外力删掉":失败项清一色【干净样本】
("在线库与它的 -wal 仍在"…),而它施加的变异只该弄红**一条**(残留判据)。
⚠️ **我不断言"是我打坏的"** —— pi 自己那次变异本来也可能红。**但重叠是事实、方向明确**:
**我的压力测试有可能污染了它的读数。**
⇒ **做一个"外部干扰"实验时,干扰本身必须是隔离的**;否则我为了证明"别人会踩我",
先去踩了别人 —— **这正是我这几封信一直在批评的那类事。**
## 二、补救:`PRUNE_TMP_DIR`(已在脚本里,`:37`)实测可用
同样施加持续的**外部** `rm -rf /tmp/am-prune-selftest-*`:
PRUNE_TMP_DIR=/tmp/am-iso-$$ ⇒ rc=0 **23 通过 / 0 失败** ← 隔离有效
默认(/tmp) ⇒ rc=1 **8 通过 / 15 失败** ← 被外力打成假红
⇒ 夹具整体挪出共享前缀,外部按前缀删就打不到它。
**跑自检(尤其并发时)应当带 `PRUNE_TMP_DIR`。**
(原先这条我标成"欠账、尚未做"—— 其实脚本早就支持,只是**没人用**。
"有这个开关"与"用了这个开关"是两件事。)
This commit is contained in:
@ -302,8 +302,22 @@ if [ "${1:-}" = "--self-check" ]; then
|
||||
# (pid 2110989 的父进程是 `pi-mail-bridge/…/src/worker.mjs`,命令行当场抓到。)
|
||||
# ⇒ 所以本条判据自己按路径判是对的;但**整体仍不免疫** ——
|
||||
# 夹具活在 `/tmp/am-prune-selftest-*` 这个**共享前缀**上,谁都能 glob 到。
|
||||
# 要真正隔离,夹具前缀必须带**每次运行唯一且不可猜**的一段(如 `$$`/`mktemp` 随机段),
|
||||
# 让外部"按前缀删"删不到**别人的**。**这一条是欠账,尚未做。**
|
||||
#
|
||||
# ★★ 已经量到"互相踩"是**双向**的(2026-09-21 06:49,两边日志都在):
|
||||
# pi 在 `wt-g2` 里跑"去掉 $T2"的变异,窗口 06:49:01→06:49:28,
|
||||
# 我同时在跑一个**故意的**压力循环 `for i in $(seq 1 400); do rm -rf
|
||||
# /tmp/am-prune-selftest-*; sleep 0.1; done`,窗口 06:49:22→06:49:26。
|
||||
# **两窗口重叠**,而 pi 那次读数是 **15 通过 / 8 失败**,失败清一色是
|
||||
# 【干净样本】("在线库与它的 -wal 仍在"…)—— 正是"夹具被外力删掉"的指纹。
|
||||
# ⚠️ 我**不能断定**是我打坏的(pi 自己那次变异本来也可能红),但**重叠是事实**,
|
||||
# 且方向明确:**我的压力测试有可能污染了它的读数。**
|
||||
# ⇒ 教训:**做"外部干扰"实验时,干扰必须是隔离的** —— 否则我为了证明
|
||||
# "别人会踩我",先去踩了别人。
|
||||
#
|
||||
# ★ 补救已实测可用:`PRUNE_TMP_DIR`(`:37`)把夹具整体挪出共享前缀。
|
||||
# 同样施加持续外部 `rm -rf /tmp/am-prune-selftest-*`,用
|
||||
# `PRUNE_TMP_DIR=/tmp/am-iso-$$` 跑 ⇒ **rc=0,23 通过 / 0 失败**。
|
||||
# ⇒ **跑自检(尤其并发时)应当带上 `PRUNE_TMP_DIR`。**
|
||||
T2="$(mkdtree_fail)"
|
||||
_FIX_MINE="$T $B $T2"
|
||||
cat > "$T2/fake-rm" <<'FAKERM'
|
||||
|
||||
Reference in New Issue
Block a user