Une erreur a été identifiée dans le noyau Linux, entraînant des dysfonctionnements de certains programmes utilisant AVX

Dans le noyau Linux, depuis la version 5.2, se manifeste une erreur provoquant la corruption du contenu du registre AVX lors du retour d'un gestionnaire de signaux, traité lors de la génération d'une exception (page-fault). Ce problème survient lors de l'exécution de programmes multithread (« -pthread ») contenant des calculs avec le registre AVX, dans le cas où le noyau est compilé avec GCC 9 (dans les versions antérieures de GCC, l'erreur ne se manifeste pas, car GCC 9 met en cache l'adresse de la variable thread-local dans le registre, tandis que les versions antérieures de GCC la chargent à chaque fois).

Le problème entraîne une terminaison prématurée du programme avec une erreur de corruption de mémoire. Le symptôme le plus visible et fréquemment observé de l'erreur est devenu des plantages programmes, écrits en Go. En raison du problème signalé, les programmes en Go se terminent prématurément, généralement avec les erreurs « runtime error : invalid memory address or nil pointer dereference », « runtime : unexpected return pc » et « segmentation violation ». L'erreur dans le noyau ne reste pour l'instant pas corrigée. Il est envisagé d'ajouter des modifications au runtime du langage Go pour contourner sélectivement l'erreur sur les noyaux Linux problématiques, au prix de frais supplémentaires.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster