docs(任务规划): N-32 销项——监听生命周期根治已在 N34 全量落地
- 登记簿删 N-32 行:P1(`session_dead` 电平)/P2(单一重建所有者)均已
实施转正;pump 于 N34 阶段 3 并入 `net_reconcile_tick` 形态③④
- 结论沉淀核对齐备:设计文档 §10(已执行)+ D1~D10、N34 实施方案阶段 0~3、
陷阱记录 B10 行(✅ 已修 + `net_drop_conn` 根治出口)
- 设计文档勾掉两条 N-32 时代遗留清单项:U11~U15 实际落点=N34 机制盘点 +
E6 观察项;B10 行 2026-10-13 复核在位
- N34 README 提交表补终笔 `925058a` 行
- 正文其余 N-32 引用均为架构溯源名(pump/不变量 I),不动
- 门禁:`check_doc_links --all` 149 文档通过;ci_local L0+L0.5 全绿
This commit is contained in:
@@ -13,7 +13,6 @@
|
||||
| N-4 | **pending 机制二期:ACCEPT + SEND 阻塞路径 pending 化**——E-06、E-20、E-21 剩余分量共用该机制扩展;届时 L3/L5 基线再重锁、探针族扩充、看门狗接 selftest 留痕、模拟器差距清单 +1 | — | 一期(RECV)已落地并入主线;架构现状见 `Net层阻塞模型架构设计.md`,二期设计基线见 `基线与待确认.md` §2.1 | `错误码传播审计.md` 第二档 #2 |
|
||||
| N-16 | **A2/A4 专项场景台架验证待办**(正常路径已实测零回归):① PHY 拔线负向测试——断链需断 **DTU 侧**线缆或关**受管交换机端口**;② A2 芯片级 `net_init` 失败分支(需 SPI 故障注入);③ A4 短写压测(需远显客户端 + UI 推流压力) | 2026-10-03(台架拓扑 = CH395↔交换机,拔线操作受限) | 待专项台架窗口 | `实机测试实施指南.md` §10 |
|
||||
| N-17 | **`time_sync` 30s 挂起客户端掉线 + 监听重建期间,网络任务心跳缺口达 800ms~1s(声明 stall 但未复位)。**待办**:定位监听重建为何阻塞 NET/FTP/UI;评估缩短重建重试(5×2s)或让掉线路径不阻塞其它任务 | 2026-10-03(V5 台架) | V5 长跑 44 次 `task stall: mask=0x00000001`,**100% 与 `e02_probe` 的 30s 挂起客户端触发 `time_sync: no TIME packet in 30s, drop conn` → 监听重建(约 4s)重合**;隔离实验(仅 FTP,120s)**0 次 stall** → 探针场景专属。缺口(~1s)< IWDG 最坏超时(1701ms),余量仅 ~0.7s。 | `实机测试实施指南.md` §4;`../子系统设计/看门狗设计说明.md` |
|
||||
| N-32 | **CH395F 监听生命周期根治(B10 残余)**——现仅靠对账④兜底(提交 `4f2cc8b`)。根治两步:**P1 把"会话已结束"从边沿改成电平**(`net_sock_t` 增 `session_dead`;`net_recv_locked` DONTWAIT 判据改 `state==CLOSED \|\| session_dead`;`ui_net_sink.c:563` 补 `g_client != g_listen` 护栏;accept 门控换 `net_listener_armed`);**P2 单一所有者**(新增 `net_listener_pump`,删 `net_accept_locked:1346`/`net_recv_locked:1884`/`net_pending_tick:2451` 散点 relisten;消灭 netTask 内 500 ms 忙等 `:2597-2616`/`:1115-1126`)。**已定案不走芯片多连接模式(A′ 出局:不支持多监听)** | 2026-10-12(B10 定案;⚠ ④ 有副作用——抢先 relisten 会把慢消费者的 EOF 永久吞掉,新客户端数据被旧会话静默吸收,待 P1 消除) | 原理 + 证据附录(实测数据 / 官方例程所有权 / 状态机 15 迁移点 / 三服务契约不一致表)+ **决策记录 D1~D7** + 可勾选执行清单 → `../子系统设计/网络Socket监听生命周期设计说明.md` §7~§9;现象与回归见 `../问题记录/CH395F_Trap_Records.md` B10 行 |
|
||||
|
||||
## 2. 存储 / 日志管线
|
||||
|
||||
|
||||
@@ -269,8 +269,8 @@ DONTWAIT 在 LISTENING 下返 `WOULDBLOCK`(`:1890`)→ `ui_net_sink.c:560-56
|
||||
|
||||
**P0(零风险)**
|
||||
- [x] 修 `Drivers/BSP/NET/net_socket.c:3627`、`:3641` 的 FUN_PARA 口径错误注释(实际 `0x08`,芯片**不**自动关)—— 2026-10-12 已改并留痕(§2.4⑥),`@build` 0 错 0 警
|
||||
- [ ] 把 U11 / U12 / U14 / U15 登记进 `docs/问题记录/CH395F_Trap_Records.md`
|
||||
- [ ] 在 B10 行确认已记「④ 扩大 EOF 吞没窗口」(已记,执行时复核)
|
||||
- [x] 把 U11 / U12 / U14 / U15 登记进 `docs/问题记录/CH395F_Trap_Records.md`——**实际落点改 N34 审计文档**:U11/U12/U14 机制归属见 `docs/网络/N34-自愈审计/net层自愈机制盘点.md`;U15 经 E6 裁决(命中=0)登记观察项(`docs/网络/N34-自愈审计/实验方案.md` E6 结果)
|
||||
- [x] 在 B10 行确认已记「④ 扩大 EOF 吞没窗口」——2026-10-13 复核:新 TRAP-NET 文档 B10 行在位(✅ 已修 + 副作用注记 + `net_drop_conn` 根治出口)
|
||||
|
||||
**P1(边沿→电平)**
|
||||
- [x] `net_types.h` 的 `net_sock_t` 增 `uint8_t session_dead;`
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
| `f7f1793` `83a7072` | **阶段 2** ch395f 五原语(只加不接线)+ E2/E3/E4 定案 | Phase 15 套件 20/20 |
|
||||
| `6394853` `f51c083` | **阶段 3** net 层收敛:单一 reconciler + 忙等统一 + 镜像降级 + E-02 收口(`net_drop_conn`) | 终版回归全绿(TRAP-NET-17/-18/-20、E-02 双 PASS、104、对时、integrity 15/15) |
|
||||
| `123d80a` | E6 插桩 `NET_U15_PROBE`(默认关,零成本) | ✅ E6 已裁决(2026-10-13:命中=0 → 项 4 不立项,U15 观察项) |
|
||||
| `925058a` | **收口**:lftpd 对端地址修复(`net_getpeername` + ntoa 段序)+ E6 落档 + 全库编号重排 TRAP-NET-01~21 | @test PASS + ftp_abort 10/10 + relisten 20/20 + ci_local 全绿 |
|
||||
|
||||
阶段 0~3 与 E6 均已完成并转正;仅剩延后项
|
||||
(relisten 沉降段统一,见实施方案 §5.2)。阶段 1 实施过程中的一条关键台架发现
|
||||
|
||||
Reference in New Issue
Block a user