Π‘Π΅ΡˆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ бъг Π² ядрото Π½Π° Linux, ΠΊΠΎΠΉΡ‚ΠΎ причинява Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° някои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ AVX

Π’ ядрото Π½Π° Linux ΠΎΡ‚ вСрсия 5.2, проявява Π“Ρ€Π΅ΡˆΠΊΠ°, която причинява Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° AVX Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° ΠΏΡ€ΠΈ Π²Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΎΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° сигнали, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΏΡ€ΠΈ Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (page-fault). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ възниква, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ многонишкови ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ("-pthread"), ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ изчислСния с AVX Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, Π°ΠΊΠΎ ядрото Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ Π² GCC 9 (Π°ΠΊΠΎ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΎ Π² ΠΏΠΎ-Ρ€Π°Π½Π½ΠΈ вСрсии Π½Π° GCC, Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° Π½Π΅ сС появява, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ GCC 9 ΠΊΠ΅ΡˆΠΈΡ€Π° адрСса Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° Π·Π° Π½ΠΈΡˆΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° ΠΈ ΠΏΠΎ-Ρ€Π°Π½Π½ΠΈΡ‚Π΅ вСрсии Π½Π° GCC Π³ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ всСки ΠΏΡŠΡ‚).

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ ΠΊΠ°Ρ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Най-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ°Ρ‚Π° ΠΈ чСсто наблюдавана проява Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° стомана катастрофи прилоТСния, написан Π½Π° Π΅Π·ΠΈΠΊ Go. ΠŸΠΎΡ€Π°Π΄ΠΈ отбСлязания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Go ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ сС прСкратяват ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ с Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ β€žΠ³Ρ€Π΅ΡˆΠΊΠ° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС: Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½ адрСс Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Ρ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΡƒΠ»Π΅Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»β€œ, β€žΠ²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС: Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€β€œ ΠΈ β€žΠ½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎβ€œ. Π“Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° Π² ядрото остава нСотстранСна. Обмисля сС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° добавянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² срСдата Π·Π° изпълнСниС Π½Π° Π΅Π·ΠΈΠΊΠ° Go Π·Π° сСлСктивно заобикалянС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ Linux ядра, с Ρ†Π΅Π½Π°Ρ‚Π° Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€