Skip to content

[R2][回归] 修正显式后端真实 InputQueue 的持块与停止夹具 #62

Closed

Description

@JavaZeroo

限定结果与范围

已由 PR #71 合入实验 fix/conpty-backend-r47(merge 20900b3)。实际类为 InputQueue;本项闭合真实 writer 持块、取消/停止唤醒与夹具观察,不证明操作系统缓冲容量或产品背压存在并已修复的缺陷。实现尚未进入 main;#53 的真实 UI 路径继续独立验收。

原失败与原因边界

冻结联合源 3e5b96d 的官方1.25/Console flags24 完整套件及单项均 return2,错误为 real input writer holds a chunk,不是外层10秒超时。原4MiB ASCII请求在完全不读输入的 child、先封住输出的顺序下未达到16KiB门槛。最终同一 EXE 的旧顺序诊断仍真实返回2:sent5120、accepted6144、in-flight1024;保留该红,不改写为通过或猜测宿主容量。

修正显式让 child 真实核对消费16KiB前缀、之后停止读取;writer 预绑定默认关闭的 sender fence,在真实 take_chunk/登记in-flight/queue解锁之后、真实 Session::send 之前持住第17块,再启动原 flood/output gate。此为明确的夹具顺序修正。

已完成验收

  • 原4MiB/16KiB/3秒绝对观察及外层10秒保留;原输出gate、resize generation、child102×42与Session Job回收断言保留。
  • 仍经过真实 PasteTransfer → InputQueue → Session::send/WriteFile → ack/finish;不替换传输、不慢写、不补造ack。
  • 实际worker分别覆盖held→stop、queue.cancel_paste()让已领取块完成、cancel与stop并发。stop先唤醒CV再取消I/O/join,已领取未提交块清理无伪提交。
  • 固定源码 519a3f37d52983062cd99b7efd805f183961fa4d:官方与system各2进程×3worker=12条记录,全部join、Job0;两配置原focus单测各1/1、paste/sender_fence CTest各2/2。PR71 Windows/Linux两套CI均通过。
  • 协议纯测试拒绝错身份/generation、未held或重复GO、提前完成、过期/无GO;EOF是方法调用模拟,未声称实际IPC EOF。实际四次竞争均由stop获胜,未证明两个调度均发生。

独立Standards/Spec审查通过,原件/源码/EXE/后端pair与结果身份见合同和公开proof。原拒绝未打印cleanup Job计数,保留null;WIP绿与零测试准备失败不计最终验收。探针不链接候选VT核心,也不代表UI、长期、性能或完整R2通过。

父项#47;#53下一步复用fence,保留原3MB/768B checkpoint/真实flood/16KiB与原期限,不将本夹具的16KiB priming搬到其接收合同。

Activity

  1. added
    bugSomething isn't working
    ready-for-agent范围明确且真实阻塞已解除,可开始实施
    compatibility平台、协议或行为兼容问题
    on Oct 26, 2026
  2. self-assigned this
    on Oct 26, 2026
  3. changed the title [-][R2][回归] 修复显式后端实际 InputPump 的持块夹具门槛[/-] [+][R2][回归] 修正显式后端真实 InputQueue 的持块与停止夹具[/+] on Oct 26, 2026
  4. removed
    ready-for-agent范围明确且真实阻塞已解除,可开始实施
    on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcompatibility平台、协议或行为兼容问题

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions