[错误]:剩余文件在 APFS 上导致哈希冲突,导致操作系统无法在合理时间内启动
作者: pfy创建于 2026年6月24日更新于 2026年7月6日
标签confirmedP3
最小、可复制的例子
从“ 傀儡” 中导入傀儡;
/ 为(let i = 0;i < 10;i++) {
const args = {无头:真, args: ["---------------------------shm-usage"]].
const 浏览器 = 等待傀儡. launch(args) ;
const page = 等待浏览器. newPage ();
// 设置测试内容.
等待网页. set Content( `<div> test </div>`) ;
丢出新错误( “ crash ” ) ;
- 背景情况
我的MacBook不会再重新开始了 登录后进度栏冻结在10%左右 。 经过一些调查,我发现在一个目录中,$TMPDIR(即/var/文件夹/某事/T)是或发现被永远绞死. 经过进一步调查,我在系统日志中发现:
iterate dirents case or norm 不敏感:457:磁盘3s1 dirent 散列迭接, dir id 31714, hash 0x1c41b, 计400
这似乎是APFS的散列相撞. 我使用回收系统将目录移出, 用 Rm -rf 删除目录需要大约2小时才开始 。
出乎我的意料, 大部分文件夹的名字: com.google.chrome. for. testing.XXXXX和傀儡 dev chrome profile-XXXX. 这些文件夹路径似乎很容易在APFS上引发散列相撞. 问题是在我的Puppeteer代码中,浏览器.close()没有如预期的那样工作. 当调用浏览器. close () 时, 文件会被删除 。
期望值
Puppeteer应该命名临时文件,以免在APFS上触发散列相撞,并且应该安装一个出站处理器去除临时文件,即使浏览器. close () 不调用.
事实
临时文件被留下 在APFs上发生散列相撞的可能性很大。
QQ Puppeter 配置文件( 如果使用)
[TypeScript] 无
### Puppeteer 版本
25.1.0 国家
QQ 节点版本
页:1
XQ 软件包管理器
线条
QQ 软件包管理器版本
1.22.22 (韩语).
操作系统
马科斯
内容来源: puppeteer/puppeteer