macOS Sonoma 14.4 podría romper Java en tu máquina

Alcance del problema de Java / macOS 14.4

  • macOS 14.4 cambia el comportamiento de las escrituras en memoria protegida: algunos casos que antes generaban SIGSEGV/SIGBUS ahora dan como resultado SIGKILL.
  • HotSpot (y otras JVM) dependen legítimamente de SIGSEGV como parte del comportamiento normal del JIT y del tiempo de ejecución (p. ej., comprobaciones implícitas de null, safepoints, posiblemente trucos de GC), así que un SIGKILL inesperado termina los procesos de la JVM.
  • Varios comentaristas señalan que esto contradice las expectativas de POSIX para fallos de segmentación; otros dicen que usar señales de esta manera es algo de larga data y documentado, no “bizarre”.
  • Algunos usuarios informan que IDEs (JetBrains, Eclipse) y herramientas se bloquean ocasionalmente; otros dicen que no pueden reproducir el problema pese a usar Java intensivamente.
  • El impacto recae sobre todo en desarrolladores y herramientas basadas en JVM, no en los usuarios “típicos” de Mac, pero aun así afecta a muchos profesionales.

Soluciones provisionales y mitigaciones

  • Flags sugeridos para la JVM:
    • Desactivar o limitar el uso de señales (por ejemplo, -Xrs) a costa de un peor comportamiento ante interrupciones y algunas funciones del tiempo de ejecución.
    • Desactivar el JIT (-Xint o -Djava.compiler=NONE), con grandes penalizaciones de rendimiento.
  • Ejecutar Java en Docker en macOS podría evitar el fallo porque Docker usa una VM Linux, pero esto se discute como probable/posible, no confirmado.
  • Algunas organizaciones están congelando macOS en la versión 14.3 en equipos de trabajo; otras subrayan el compromiso de seguridad de retrasar las actualizaciones del sistema operativo.

QA de Apple, proceso de lanzamiento y reversibilidad

  • Muchos cuestionan cómo un cambio a nivel de kernel pudo llegar a una versión final pero no estuvo presente o fue distinto en betas anteriores.
  • Hay una crítica fuerte a la QA de Apple y a realizar un cambio de comportamiento rompedor en las señales sin una coordinación clara.
  • La irreversibilidad de las actualizaciones principales y menores de macOS es una preocupación importante: los usuarios no pueden volver atrás fácilmente si algo como esto rompe su flujo de trabajo.

macOS como plataforma para desarrolladores (debate más amplio)

  • Un gran subhilo debate macOS frente a Linux y Windows para desarrollo:
    • Algunos dicen que macOS es poco fiable, hostil con hardware de terceros (monitores, audio), tiene mala gestión de ventanas, fricción con Docker y problemas de tipo POSIX “uncanny valley”.
    • Otros describen macOS como totalmente estable, con hardware excelente, buenas terminales y una gran experiencia de uso diaria, prefiriéndolo tanto a Windows como a Linux.
  • Las quejas también abarcan la UX del Finder, el escalado en pantallas externas, fallos de audio bajo carga y la percepción de un deterioro del pulido de macOS durante la última década.