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 (
-Xinto-Djava.compiler=NONE), con grandes penalizaciones de rendimiento.
- Desactivar o limitar el uso de señales (por ejemplo,
- 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.