#15156·puppeteer

[错误]:剩余文件在 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