HTTP 解析预加载文件可以在进程退出后存活,并耗尽磁盘空间
作者: Pseudoataraxia创建于 2026年9月5日更新于 2026年9月5日
描述( 需要)
对于具有射程能力的HTTP资源,“Fatcher”。 解析“ 启动“ 同步预选 ” , 它会写出对一个被命名的“ 预选 ” 临时文件的可重复使用“ 解析” 响应 。
目前 " 主要 " 有两种独立的寿命差距:
- 被命名的临时文件在崩溃或强制过程终止后幸存.
- REST/UI客户端放弃的 " 解决结果 " 仍留在 " fetcherCache " 中;下载器关闭不会耗尽该缓存。
目前`主要'的确定基线复制是:
控制台 TMPDIR="$(mktemp-d)"去测试./ 内部/protocol/http - 运行'^ TestFatcher Patch Labels$' - counts=1 - v
测试合格后,在`TMPDIR'中留下了209 715 200字节的`goped-prefetch-'文件。 重复的测试运行或废弃 NAMEST 操作因此积累了大型的孤单文件.
预期行为
- 任何已命名的预选数据都不应在正常的关闭、正常的流程退出或强制终止后幸存。
- " 解决结果 " ,即客户放弃后应有明确的、一能释放行动。
- 下载器关闭应排出并关闭所有缓存的“解析器”。
- 停止预选,应中断一个被封锁的响应体的读取,等待它的工人,然后消耗或关闭后置存储器。
范围
这份报告涉及泄漏/被弃置的支持存储。 目前的一次性URL倒计时可能仍在启动全面响应,而这一进程则依然有效。 TTL,字节预算,或回压政策是一个单独的设计问题:简单的硬盖会打破目前所保留的一次性-URL倒置.
草稿 #1451 部分排出 " 解密" 缓存, 但是它不会使预留存储崩溃安全, 并包含更广泛的无关更改 。
QQ 应用程序版本
目前的 " 主要 " 位于 " 3be8db664c1f8e64e088afe69abc12c795f63af " 。
操作系统版本
马科斯
QQ 快照
不详
QQ 日志
上文列有确定性复制和剩余文件的大小.内容来源: GopeedLab/gopeed