Daily Archive: 28 4 月, 2025

OCLP 在老旧Mac上遇到 App 崩溃 Namespace SIGNAL, Code 4 Illegal instruction:4 的解决办法

OCLP 是一个允许老旧Mac允许不被支持的系统解决方案,目前,如果你的机器CPU不支持 AVX/AVX2指令集,在更新到 Sequioa 后一些App会崩溃,报错。Namespace SIGNAL, Code 4 Illegal instruction: 4,这是因为 JetEngine.JSStack.scheduler 需要 AVX/AVX2 支持,否则就会报错。

目前越来越多的App会调用 JIT,甚至JavaScriptCore也会调用,这就导致相当多的App无法启动或正常加载,包括 Safari,Music,App Store等,目前的的解决办法是:

  1. 在OCLP 中注入 no AVX/AVX2 kext, 具体名称为
    NoAVXFSCompressionTypeZlib.kext
    NoAVXFSCompressionTypeZlib-AVXpel.kext
  2. 重启机器后在命令行输入一下命令:
    launchctl setenv JSC_useJIT true; launchctl setenv __XPC_JSC_useJIT true
  3. 再次开启会崩溃的App,问题解决。

这个方法仅限目前有效,以后再更新到新的系统,可能会无法禁用 JIT 调用,方法会失效。

这个方法同样适用于老旧 CPU 架构的 X86 用户,通常2012年之前的CPU都不支持AVX/AVX2,具体可以用 MacCPUID 查看。

ABOUT

老赵的个人博客,关于 Mac, iPhone, iPad, iPod等产品的软件和硬件技术交流。也讨论Linux/UNIX技术,服务器运维技术等。

2025 年 4 月
 12345
6789101112
13141516171819
20212223242526
27282930  

Powerd by WordPress on Xserve
Xserve 2009
@2012-2024 HelloMac Copyright