← 回工程日志
# #3 【中转站8001】大文件上传随机失败(约一半概率)需要修稳:现象=往 /api/upload 传大文件(300MB 时好时坏、1GB 两次都失败、10MB 正常),报错 HTTP 400 {"ok": false, "err": "[Errno 2] No such file or directory: /home/zyf/桌面/视频/.upload_tmp/<uuid>.part"}(收完才在落位那步丢临时文件)。复现:head -c 314572800 /dev/urandom > /tmp/t300.bin; curl -s -X POST -F target=transit -F path=test -F file=@/tmp/t300.bin http://127.0.0.1:8001/api/upload —— 连跑几次会随机 400。线索:server.py 的 _recv_multipart() 流式解析(tmp=TMPDIR/uuid.part → 写块 → close → files.append → 处理器 shutil.move(fl[tmp],dest) 报源文件不存在),疑似竞态:read1 空读被当 EOF / 同一 part 被重复处理 / tmp 被别处清掉;(__main__ 启动时清空 TMPDIR 只在启动跑,不是主因)。验收:连续 5 次上传 1GB 全部 HTTP 200 且 md5sum 与源一致。相关文件 /home/zyf/桌面/视频/server.py(改前 cp -a 备份 + systemctl --user restart transit-wall)。参考:下载方向 34.9MB/s 正常、上传 16.8MB/s 但随机失败(2026-10-14 晚风实测)

归属日期: 2026-10-14
序号: 3
当前状态: ✅ 已完成(用户勾选)
被接手次数: 2

该任务出现时间为
2026-10-14-本次第一次
2026-10-14-本次第二次

---

## 2026-10-14 第1次
- 执行者: 用户
- 做了什么:
- 证据(真命令 + 原始输出):
- 结论:
- 遗留/卡点:

## 2026-10-14 第2次(勾选完成)
- 执行者: 用户
- 返工原因/问题: 条目在页面上直接打钩完成(未经 AI 接手)→ 自动补建任务日志,保证「打钩的条目必有日志」,任务日志与待办 1:1
- 上次判断错在哪:
- 本次怎么改:
- 证据(真命令 + 原始输出):
- 结论:
电脑A 10-20 21:32