Chrome Crashpad因xattr崩溃求助(macOS High Sierra 10.13.3)
解决macOS High Sierra 10.13.3无头Chrome自动化测试崩溃及xattr权限问题
我之前在High Sierra上跑无头Chrome自动化测试时也踩过几乎一模一样的坑,系统的安全限制真的挺磨人的。给你几个亲测有效的解决方案,按顺序试试:
检查系统完整性保护(SIP)
High Sierra的SIP会严格限制对系统相关目录(包括部分临时目录)的操作,这大概率是你执行xattr命令提示“Operation Not Permitted”的原因:- 重启Mac,按住
Command+R进入恢复模式 - 打开「实用工具」里的终端,输入
csrutil status查看SIP状态,如果显示enabled就需要临时关闭 - 执行
csrutil disable关闭SIP,然后重启Mac回到正常系统 - 现在再运行
sudo xattr -c /var/folders/8c/s_296_fd25sfywfxclkjcz_w0000gp/T/,应该就能成功清除扩展属性了 - 操作完成后记得重启进恢复模式,执行
csrutil enable重新打开SIP——安全机制还是留着更稳妥
- 重启Mac,按住
给Chrome指定自定义临时目录
绕开系统默认临时目录的权限限制,直接给Chrome分配一个你完全可控的目录:
启动无头Chrome时加上--user-data-dir参数,比如:chrome --headless --user-data-dir=/tmp/my_chrome_test_profile --disable-gpu https://your-test-url.com这个方法不用动系统安全设置,测试完成后还能直接删掉
/tmp/my_chrome_test_profile清理缓存,是我现在最常用的方案修复临时目录的所有权
有时候临时目录的所属用户会意外变更,导致权限异常:- 先查看目录所有者:
ls -ld /var/folders/8c/s_296_fd25sfywfxclkjcz_w0000gp/T/ - 如果显示的不是你的当前用户,执行
sudo chown -R $USER:$USER /var/folders/8c/s_296_fd25sfywfxclkjcz_w0000gp/T/修改所有权,之后再尝试xattr命令
- 先查看目录所有者:
更新Chrome版本
旧版本的无头Chrome在High Sierra上存在一些兼容性bug,直接更新到最新稳定版,说不定不用折腾权限就能解决崩溃问题
内容的提问来源于stack exchange,提问作者Francis
相关产品推荐
相关产品推荐

