不要升级!不要升级!MacOS 14.4 引发Java 应用崩溃

如果最近您收到了MacOS 14.4的升级提醒,那么建议你暂时先不要升级!

在x上,Java开发领域的一些大v们,也发现了这个问题,并提醒大家不要升级。

根据Java官方发布的文章了解到,该问题主要是由于macOS上运行的进程可能会访问受保护内存区域中的内存。在 macOS 14.4 更新之前,在某些情况下,macOS 内核会通过向进程发送信号 SIGBUS 或 SIGSEGV 来响应这些受保护的内存访问。然后该进程可以选择处理该信号并继续执行。而在最新 macOS 14.4 中,当线程在写入模式下运行时,如果尝试对受保护的内存区域进行内存访问,macOS 将发送信号SIGKILL。该进程无法处理该信号,并且该进程将无条件终止。

更多关于该问题的Java官方文章可见: https://blogs.oracle.com/java/post/java-on-macos-14-4

欢迎关注博客连载的Java新特性专栏:https://www.didispace.com/java-features/

目前该问题主要受影响的Mac机型和Java版本包括:

  • Mac机型:M1、M2、M3(Apple Silicon m* 芯片)
  • Java版本:Java 8 - Java 22 所有版本

M系列的芯片已经发布挺久了,很多开发者都已经开始使用,同时Java版本的影响范围几乎是全部,所以这个问题的影响范围还是非常大的。当然,如果还在使用Intel芯片的话,这次不受影响。

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源