Repository navigation
Open
Labels
Description
(ai: sglang-gpu0/qwen3.8-27b)
这个 issue 是什么
两件事合一个入口:
- 记录:最近 48 小时(2026-10-29 ~ 10-31)全仓库活跃面按 #3916 状态板(分类沿用 #3913 总账)的 A–N 体例做的一次快照归类,方便后续对账。
- 攻坚顺序声明:第一个下手的是「代理半死不活」簇(watchdog 误杀健康进程 / 崩溃重启后静默直连不压缩 / DNS 切换后 wedge 只能重启 / 起不来时端口被死占)。成员清单与机制拆解见本 issue 的后续评论。
为什么选它:该类 p1 密度最高(28 条活跃里 14 条 p1),全部是可用性缺陷("可用性永远大于性能"),且有多个已合并修复但症状族未闭环(watchdog 误杀三兄弟、twin-collision、死端口)。
48h 总览数字
- 窗口内活跃 365 条(163 issue + 202 PR;open 245 / closed 120);新提 196 条(106 issue / 90 PR)
- p1 共 105 条;回归潮来源两个:v0.1.209(新报告标题直接点名 11 条:[DSH/OpenAI] 0.1.209 leaks a bare ACP ref (no tag prefix) as the first text block of an assistant message #5256/[Pi/OpenAI] 0.1.209 leaks render-tag suffix
type="text">mNNNNNinto assistant text #5192/SQLite unified storage degraded to legacy-only (bili v0.1.209, node v22.23.4, win32-x64) #5229/Context compression in 209 is throwing errors —compressintermittently fails to compress. Normally the context is aro | 209上下文压缩出现报错,compress会有概率压缩不了,正常一百多k上下文,现在涨到四百多,上下文压缩不下去 #5200/[Bug] 0.1.209: Claude Code CLI main conversation forks onto <id>|sub:<fp>; the session-title call claims the raw key (regression from #4774) #5135…)+ master CI 自 [PR] fix(#5167): poll the stale-rotation wait on fresh connections so a draining resident reads as released #5169 合入后大面积红(Master CI has been massively red since #5169 was merged: a fixed set of tests (#3575/#4323/#5103/#5140) fails in every r | master CI 自 #5169 合入起大面积红:固定一组测试(#3575/#4323/#5103/#5140)在每个 run 里挂,所有 PR 的合并信号不可用 #5195) - 宿主标签覆盖:dsh 94 ≫ pi 26 > codex 13 ≈ omp 12 > claude-code 11 > opencode 6 > hermes 4 ≈ claude 4 > kimi 3(多标签重复计)
A–N 归类快照(活跃数 / 其中新issue / p1)
| 类 | 主题 | 活跃 | 新issue | p1 | 热点 |
|---|---|---|---|---|---|
| E | 存储层 | 72 | 11 | 30 | DIGEST DRIFT 风暴(#4392/#5106)、驱动缺失即崩(#5046)、冷载阻塞事件循环 #5138、OOM #5084、重启丢会话 #4942 |
| C | 压缩引擎行为 | 57 | 22 | 22 | compress 拒批要重试(#5200/#5185)、爆满压不动(#5206)、刚下的指令被折掉(#5109/#5173)、重启误折别格(#5196)、丢 thoughtSignature 下轮必 400(#5252) |
| N | 服务端杂项 | 63 | 14 | 2 | wire 卫生(ref/tag 泄漏 #5256/#5192/#5235)、多实例判定(#5075)、工具集翻转告警(#4790) |
| K | 启动器·自更新·CI | 34 | 13 | 8 | master CI 大红灯(#5195)、zombie runs 饿死队列 8h(#5186)、merge-guard 反复误报 behind(#5282)、定时全测红×4 |
| B | 折叠预算与资格判定 | 24 | 4 | 5 | DashScope 输入长度 400 不被识别(#4263 c=38)、preflight/headroom 口径打架(#5172)、有效窗口被硬垫砍半(#5230) |
| D | 超时重试与降级 | 28 | 11 | 14 | watchdog 杀健康进程(#4994/#5152)、首字节 stall 静默卡 12min(#5164)、WSL DNS wedge(#5221/#5222)、重启后 handshake 永不匹配→静默直连(#5226)、EPERM 启动(#5154) |
| F | dsh 车道 | 25 | 12 | 10 | tool call 变纯文本(#5235→#1366 家族)、裸 ACP ref 泄漏(#5256)、/__bili/upstreams 404 回归(#5145) |
| L | Web UI与文档 | 24 | 5 | 4 | 面板 SVG same-origin(p1,#4962)、DSH Desktop 面板 Failed to fetch(#5201)、MITM vhost 302 劫持(#5024) |
| I | 其他宿主车道 | 15 | 3 | 6 | codex 缓存大 miss(#5124)/272K 回落(#5243)/临时分隔符端点(#5139);hermes plain-http 不走代理(#5116);zcode 侧车隔离(#4965) |
| J | 配置面静默失效 | 8 | 4 | 0 | promptCache.routing 被无视(#5102/+dup)、billing.prices:null 抛异常(#5041)、窗口静默砍半(#5230) |
| G | fork与会话继承 | 6 | 2 | 2 | claude-code 同型子代理共用一条压缩车道互串内容(p1 回归 #5095);fork adoption 201 但 0 折叠块(#5122) |
| H | pi 车道 | 6 | 2 | 1 | render-tag 后缀泄漏(#5192)、重复守卫中止合法长轮询(#5225) |
| A | 前缀缓存接缝 | 3 | 3 | 1 | codex cache 大规模 miss(#5124) |
| M | 跨车道功能提案 | 散见 | — | — | delta lane(#3248)、visibilityMarkers(#1708)、host contract v2(#5241 待讨论) |
归类方法:labels(scope/*+宿主)+标题关键词启发式,少数多标签条目会双重命中(如 #5178 实为 wire 卫生、被 "envelope" 字面带进 E);逐条精确归属以 #3913 总账为准。
用户口吻的七大抱怨簇(排序即热度)
- 数据库不可靠(E,DIGEST DRIFT/崩溃/OOM/重启丢失/事件循环阻塞)
- 压缩引擎不听话(C,拒批重试/压不动/折错格/丢签名)
- 代理半死不活(D,误杀/静默直连/wedge/起不来)← 本次第一刀
- 压缩标记泄漏进模型可见文本(tool call 纯文化、裸 ref、tag 后缀,dsh/pi/OpenAI 线)
- 子代理/fork 串台(claude-code 共用车道、fork 继承 0 块)
- Codex 专属(缓存 miss、窗口回落、端点选错)
- CI/过程噪音(机器人自产:大红灯、zombie、merge-guard 误报、本地测试污染会话目录)
标签说明
p1:簇内为可用性缺陷(可用性大于性能原则),跟最重成员的级别对齐track:入口型跟踪 issue,机制拆解与进展在本 issue 评论区更新scope/wiring:主战场在进程生命周期接线(watchdog/spawner/handshake/启动路径)- 不打宿主标签:成员跨 dsh/pi/codex 等多车道(总账规则:跨车道不打)
Activity
ranxianglei commentedon Oct 31, 2026
(ai: sglang-gpu0/qwen3.8-27b)
第一刀:「代理半死不活」簇全拆解(按机制分四子簇)
总判断:该簇在 10-29~30 已经过一轮集中修复——「杀健康进程/死端口占坑」族大部分已合 master;当前开放核心 4 项,其中 2 项卡在等 owner 拍板,2 项有 PR 在途。另发现一个系统性缺口:「静默直连」有四个独立触发源、没有统一出口。以下 file:line 均对当前 master 源码核实。
A. 误死/杀健康进程(基本闭环)
残留:#5004(PR,14 评论,twin-collision:端口持有者是静默 twin 时应先于 persistence init 退出)仍 open、评审停滞——本簇最大在途 PR;同族 #4977(恢复竞态→全体直连撞 1M 上限)仍 open。
B. 静默直连不压缩(核心痛点;主症状已随 v0.1.209 发,残留待确认)
用户观感 = 「没有任何提示,压缩消失,上游超限 400,随后被迫换血丢上下文」。触发源至少四个、各自独立:
6483bbfc2/c11d65d9e:give-up 后恢复驱动不再被 toolsReady 残留自我清除);waiting-feedback:等报告人在 0.1.209 复测;残留 facet 归 [Bug][Codex] Temporary separator selected as compression endpoint, causing acp_status to silently fail to report ~180K t | [Bug][Codex] 临时分隔符被选作压缩端点,导致 acp_status 静默漏报约 18 万 token 可压缩历史 #5139;系统性缺口(建议先设计、不动代码):上述四个触发各自有自己的日志行和各自的恢复路径,没有统一的「我现在正在直连/未压缩」可观测状态机,用户侧提示也各说各话。建议对齐面板 banner +
/__bili/statusattribution(#3581 起的既有面)与 host contract v2 讨论(#5241),单开设计 issue 收敛,而不是再打第四根补丁。C. Wedge/挂住(两项都卡决策单,拍了板就有代码可合)
unresolvable(502) until process restart #5221 WSL 网络/VPN 切换后本地 DNS 永久 wedge:src/tunnel-guard.ts:105-119的dnsResolveHost(node:dns/promiseslookup,2s × 3 次跑满即判unresolvable)→ 此后每个模型请求 502tunnel_destination_denied,直到重启 bili 进程;实例注册表会重新收养同一个楔死进程,所以只重启 DSH 宿主无效。Phase 1 PR [PR] fix+docs: make the long-lived-proxy stale-DNS wedge diagnosable and document its remedies (#5224) #5263 已交(错误信息补绕行提示 + README en/zh);Phase 2 自动自检重启(复用src/restart.tsperformSelfRestart)等 A1/A2/A3 拍板,同一 PR 内补齐。UPSTREAM_TIMEOUT_MS = 12*60*1000(src/fetch-util.ts:24,可经network.upstreamTimeoutMs覆盖);dsh 宿主 ~300s 总是先放弃,每次重试全额重付 input tokens,日志只有一条每-origin 终身一次的 warn。止血 PR [PR] fix: first-byte stall warn per (origin,session) with cooldown instead of once-per-origin-per-process (#5164) #5260(warn 改每 (origin,session) 60s 冷却 + 带实际秒数)在 CI;决策单 [PR] ci-fixes convergence: port the four remaining master-red lanes (win32 db path, teardown handles, #5155 settle, #4788 timer host) #5262 等拍板:A=fail-fast+可配置阈值(推荐,默认 120s)/ B=仅诊断 / C=维持现状。D. 起不来(Windows EPERM 家族:根因已钉死,修复未落地)
ensureRootCA → writeCombinedBundleopen 直接 EPERM(errno -4048)→ [Bug][dsh] Proxy crashes on startup (denied write access to its own data file) — web page inaccessible, root cause burie | [Bug][dsh] proxy 启动即崩溃(写自己数据文件被拒)时 Web 页面打不开、原因埋在 %TEMP%:应在端口上显示启动失败原因并提示权限问题 #5096 的 411 次崩溃循环、Power-Loss Restart Protection Fails to Auto-Recover billion-context Startup Failure on DSH — Troubleshooting Report | 断电重启保护无法自动恢复 billion-context 在 DSH 上启动失败 — 排查报告 #5104 的 400+ 次重试全直连。开关就一条命令:icacls "<node.exe>" /setintegritylevel Low|Medium。邻接(双写者)
rotateStalePredecessor)— 10-30 closed。建议下手顺序(待讨论,不代拍板)
unresolvable(502) until process restart #5221 Phase 2 的 A1/A2/A3 → 合计 ≤2 个 PR 可落[-]『代理半死不活』簇攻坚入口 + 48小时活跃面 A–N 归类总账(2026-10-29~31)[/-][+]"Agent Half-Dead" Cluster Breakthrough Entry Point + 48-Hour Active Surface A–N Classification Master Ledger (2026-10-29 | 『代理半死不活』簇攻坚入口 + 48小时活跃面 A–N 归类总账(2026-10-29~31)[/+]ranxianglei commentedon Oct 31, 2026
(ai: vllm-qwen/qwen3.8-27b)
查重: 不重复 —— 本单是 owner 开的簇攻坚入口;按 "half-dead / cluster / A–N ledger / track" 检索 open+closed,无同范围跟踪条目,D 簇各成员(#4994/#5152/#5164/#5221/#5222/#5139/#5154/#4125…)均为独立工作单,本单只做入口+顺序。
标签:
bug+p1+track+scope/wiring(可用性缺陷簇、p1 密度最高、入口型跟踪、主战场在进程生命周期接线)——已按 OP 的标签说明校正:去掉误挂的dsh(成员跨 dsh/pi/codex 多车道,总账规则跨车道不打)、p3→p1(跟最重成员对齐)。接单后对 GitHub 实况核了一遍(截至 10-31 ~08:00Z),floor 1 快照之后已有 5 处状态变化:
仍开放的决策单(等 owner 拍板,我不代拍):
本会话开工的非决策依赖项(按「无决策依赖先修」纪律,不等上面两项):
fix/4125-upward-adoption分支——核实是残留复现还是漏开的 PR,该关线索给关线索、该开 PR 开 PR;进展会持续在本线程更新。