Actualité

Mac

Attention, macOS Sonoma 14.4 fait planter les Apps Java !

Par June Cantillon - Publié le

Décidément, la dernière mouture de macOS Sonoma ne fait pas que des heureux, et serait tout simplement à éviter pour les utilisateurs d'applications Java.

macOS Sonoma 14.4 problème Java


macOS Sonoma fait planter les Apps Java !



Après les soucis avec les hubs USB et les imprimantes qui ne répondent plus, voici que macOS Sonoma 14.4 fait tout simplement planter les applications Java. Au sein d'un billet de blog officiel, Oracle met en garde les utilisateurs de macOS Sonoma et d'applications basées sur Java depuis la version 8 jusqu'au dernières itérations sur les Mac Apple Silicon. Ce souci n'a pas été détecté avant la sortie de la version finale car le problème n'affectait pas les versions bêta de macOS Sonoma 14.4

Attention, macOS Sonoma 14.4 fait planter les Apps Java !


Une mise à jour à éviter selon Oracle



En effet, depuis la dernière mise à jour de macOS Sonoma, numérotée 14.4 et déployée le 7 mars dernier, le système rend les Apps Java totalement instables et les force à quitter inopinément. Selon Aurelio Garcia-Ribeyro, dirigeant la section gestion des produits chez Oracle :

macOS sur les processeurs Apple Silicon (M1, M2 et M3) inclut une fonctionnalité qui contrôle comment et quand le code généré dynamiquement peut être produit (écrit) ou exécuté par thread.

Dans le cadre normal du cycle de compilation et d’exécution, les processus exécutés sur macOS peuvent accéder à des régions de mémoire protégées. Avant la mise à jour macOS 14.4, dans certaines circonstances, le noyau macOS répondait à ces accès mémoire protégés en envoyant un signal, SIGBUS ou SIGSEGV, au processus. Le processus pourrait alors choisir de gérer le signal et de poursuivre l’exécution. Avec macOS 14.4, lorsqu'un thread fonctionne en mode écriture, si un accès mémoire à une région mémoire protégée est tenté, macOS enverra le signal SIGKILL à la place. Ce signal ne peut pas être géré par le processus et le processus est terminé sans condition.

La machine virtuelle Java génère du code de manière dynamique et exploite le mécanisme de signal d'accès à la mémoire protégé à la fois pour l'exactitude (par exemple, pour gérer la troncature des fichiers mappés en mémoire) et pour les performances. Avec macOS 14.4, les programmes qui tentent cela se termineront désormais au lieu d'avoir la possibilité de gérer le signal.

Les applications compilées à l'avance créées avec GraalVM Native Image ne devraient pas être affectées, mais votre capacité à créer de nouvelles images peut l'être.

Oracle a informé ses clients, Apple et nos partenaires OpenJDK de cette situation. Nous recommandons aux utilisateurs de Java sur des appareils Apple basés sur ARM exécutant macOS 14 de retarder l'application de la mise à jour jusqu'à ce que ce problème soit résolu.


Faute de solution disponible actuellement, Oracle conseille donc aux utilisateurs d'applications Java et de Mac Apple Silicon de ne pas mettre à jour leur système vers la version 14.4 de Sonoma. Devant le nombre de bugs et soucis de cette mouture, nous devrions rapidement voir arriver une nouvelle mise à jour mineure, contenant, espérons-le, plus de correctifs que de nouveaux problèmes.