Mozilla jäljitti kaatumisen zlib-rs-pakkausrutiiniin (deflate), jota Firefox käyttää. Vikaantuneissa järjestelmissä 16-bittinen dist-arvo saattoi vioittua, mikä johti taulukon indeksin ylitykseen ja sitä kautta selaimen kaatumiseen.
Insinöörit havaitsivat, että vioittuminen oli yhdenmukaista tunnettujen Raptor Lake -suoritinten laitteistovirheiden (errata) kanssa:
Kun pakkausrutiiniin päätyi vääriä arvoja, selain kaatui, vaikka alkuperäinen virhe oli tapahtunut aiemmin suorittimen käsittelyputkessa.
Firefox 151.0.1 -julkaisu vahvisti viallisen koodipolun siten, että vioittuneet arvot eivät enää käynnistä kaatumisskenaariota. Tämä muutos vähentää huomattavasti Firefoxin kaatumisraporteissa havaittuja vikoja Raptor Lake -järjestelmissä.
Päivitys on kuitenkin puolustava ohjelmistotason kiertotie eikä täydellinen korjaus. Jos suoritin on jo fyysisesti rappeutunut, muut sovellukset saattavat yhä kärsiä epävakaudesta, koska perimmäinen syy on laitteistossa.
Mozilla havaitsi myös, että järjestelmissä, joissa oli uudempi Intelin mikrokoodi (kuten 0x12C), kaatumisia esiintyi huomattavasti vähemmän. Tämä osoittaa, että Intelin laiteohjelmistopäivitykset olivat jo vähentäneet ongelman esiintymistiheyttä ennen Firefoxin korjauksen julkaisua.
Suuri osa Raptor Lake -suorittimien epävakausraporteista on liitetty ilmiöön, jota Intel kutsuu ”Vmin Shift Instability” -ongelmaksi.
Vmin Shift tarkoittaa tilaa, jossa suorittimen vakaan toiminnan edellyttämä vähimmäisjännite nousee ajan myötä johtuen suorittimen IA-ytimen kellojako- (clock tree) piirin ikääntymisestä. Kun tämä piiri vanhenee korkean jännitteen tai lämpötilan vaikutuksesta, ajoitusmarginaalit pienenevät, ja suoritin saattaa alkaa tuottaa virheellisiä tuloksia tai kaatua.
Tämä epävakaus ei välttämättä ilmesty heti; se voi ilmaantua vasta pitkäaikaisen käytön jälkeen vaativissa olosuhteissa.
Korkeammat lämpötilat ja jatkuva suoritinrasitus nopeuttavat Vmin Shift -ilmiön taustalla olevaa ikääntymistä. Kun suorittimet toimivat lähellä rajojaan – erityisesti korkean jännitteen tai lämpörasituksen alaisina – ajoitusvirheiden todennäköisyys kasvaa.
Mozillan insinöörit havaitsivat kaatumistilastoissaan piikkejä Firefoxin kaatumisraporteissa alueilta, joilla oli kesähelteitä. Tämä viittaa siihen, että korkeampi ympäristön lämpötila työnsi marginaaliset suorittimet epävakauskynnyksen yli.
Toisin sanoen selaimen kaatumiset olivat usein vain näkyvä oire syvemmästä laitteistoepävakaudesta, joka laukeaa rasituksessa.
Intel vastasi ongelmaan useilla toimenpiteillä vikaantuneiden suorittimien vakauttamiseksi:
Mikrokoodipäivitykset. Intel julkaisi useita laiteohjelmistopäivityksiä – kuten 0x129, 0x12B ja myöhemmin 0x12F – jännitteenhallinnan parantamiseksi ja Vmin Shift -epävakautta aiheuttavien olosuhteiden vähentämiseksi. Nämä päivitykset toimitetaan yleensä emolevyn BIOS-päivitysten mukana.
Jännitekäyttäytymisen korjaukset. Jotkin mikrokoodiversiot vähentävät erityisesti liiallisia jännitepyyntöjä, jotka voivat nopeuttaa suorittimen rappeutumista tai epävakautta.
Laajennettu takuuturva. Intel laajensi vikaantuneiden suorittimien takuuta, jotta käyttäjät, joilla on epävakausongelmia, voivat hakea vaihtoa.
Nämä toimet auttavat rajoittamaan lisärappeutumista ja vähentämään kaatumisia, mutta ne eivät poista fyysistä kulumista, joka on jo tapahtunut piissä.
Jos käytössäsi on pöytäkone, jossa on 13. tai 14. sukupolven Intel Core -suoritin, ja olet kokenut selaimen kaatumisia tai epävakautta, seuraavat toimet voivat vähentää riskiä:
1. Päivitä Firefox. Asenna Firefox 151.0.1 tai uudempi versio, jotta tunnettu kaatumispolku on suojattu.
2. Päivitä emolevyn BIOS. Varmista, että järjestelmässäsi on Intelin uusimmat mikrokoodipäivitykset, jotka on suunniteltu vähentämään epävakautta.
3. Käytä Intelin suosittelemia suoritinasetuksia. Vältä aggressiivisia emolevyn esiasetuksia tai ylikellotusta, jotka nostavat jännitettä tai lämpötilaa.
4. Paranna jäähdytystä ja ilmavirtaa. Alemmat lämpötilat auttavat vähentämään Vmin Shift -ilmiöön liittyvää ajoitusepävakautta.
5. Harkitse takuutukea, jos epävakaus jatkuu. Järjestelmät, jotka kaatuvat edelleen oletusasetuksilla, saattavat olla jo fyysisesti rappeutuneita, ja ne voivat olla oikeutettuja vaihtoon Intelin laajennetun takuuohjelman puitteissa.
Firefoxin kaatumiset joillakin Raptor Lake -järjestelmillä osoittautuivat harvinaiseksi tapaukseksi, jossa selaimen koodi paljasti syvemmän laitteisto-ongelman. Mozillan Firefox 151.0.1 -julkaisu vähentää näkyviä kaatumisia huomattavasti vahvistamalla viallista koodipolkua, kun taas Intelin mikrokoodipäivitykset pyrkivät estämään lisäepävakautta suorittimissa.
Useimmille käyttäjille Firefoxin ja emolevyn BIOSin päivittäminen vähentää kaatumistiheyttä dramaattisesti. Mutta jos suoritin on jo kärsinyt merkittävästä jännitteen tai lämmön aiheuttamasta rappeutumisesta, suorittimen vaihtaminen saattaa olla ainoa pysyvä ratkaisu.
Mozilla jäljitti kaatumisen zlib-rs-pakkausrutiiniin (deflate), jota Firefox käyttää. Vikaantuneissa järjestelmissä 16-bittinen dist-arvo saattoi vioittua, mikä johti taulukon indeksin ylitykseen ja sitä kautta selaimen kaatumiseen.
Insinöörit havaitsivat, että vioittuminen oli yhdenmukaista tunnettujen Raptor Lake -suoritinten laitteistovirheiden (errata) kanssa:
Kun pakkausrutiiniin päätyi vääriä arvoja, selain kaatui, vaikka alkuperäinen virhe oli tapahtunut aiemmin suorittimen käsittelyputkessa.
Firefox 151.0.1 -julkaisu vahvisti viallisen koodipolun siten, että vioittuneet arvot eivät enää käynnistä kaatumisskenaariota. Tämä muutos vähentää huomattavasti Firefoxin kaatumisraporteissa havaittuja vikoja Raptor Lake -järjestelmissä.
Päivitys on kuitenkin puolustava ohjelmistotason kiertotie eikä täydellinen korjaus. Jos suoritin on jo fyysisesti rappeutunut, muut sovellukset saattavat yhä kärsiä epävakaudesta, koska perimmäinen syy on laitteistossa.
Mozilla havaitsi myös, että järjestelmissä, joissa oli uudempi Intelin mikrokoodi (kuten 0x12C), kaatumisia esiintyi huomattavasti vähemmän. Tämä osoittaa, että Intelin laiteohjelmistopäivitykset olivat jo vähentäneet ongelman esiintymistiheyttä ennen Firefoxin korjauksen julkaisua.
Suuri osa Raptor Lake -suorittimien epävakausraporteista on liitetty ilmiöön, jota Intel kutsuu ”Vmin Shift Instability” -ongelmaksi.
Vmin Shift tarkoittaa tilaa, jossa suorittimen vakaan toiminnan edellyttämä vähimmäisjännite nousee ajan myötä johtuen suorittimen IA-ytimen kellojako- (clock tree) piirin ikääntymisestä. Kun tämä piiri vanhenee korkean jännitteen tai lämpötilan vaikutuksesta, ajoitusmarginaalit pienenevät, ja suoritin saattaa alkaa tuottaa virheellisiä tuloksia tai kaatua.
Tämä epävakaus ei välttämättä ilmesty heti; se voi ilmaantua vasta pitkäaikaisen käytön jälkeen vaativissa olosuhteissa.
Korkeammat lämpötilat ja jatkuva suoritinrasitus nopeuttavat Vmin Shift -ilmiön taustalla olevaa ikääntymistä. Kun suorittimet toimivat lähellä rajojaan – erityisesti korkean jännitteen tai lämpörasituksen alaisina – ajoitusvirheiden todennäköisyys kasvaa.
Mozillan insinöörit havaitsivat kaatumistilastoissaan piikkejä Firefoxin kaatumisraporteissa alueilta, joilla oli kesähelteitä. Tämä viittaa siihen, että korkeampi ympäristön lämpötila työnsi marginaaliset suorittimet epävakauskynnyksen yli.
Toisin sanoen selaimen kaatumiset olivat usein vain näkyvä oire syvemmästä laitteistoepävakaudesta, joka laukeaa rasituksessa.
Intel vastasi ongelmaan useilla toimenpiteillä vikaantuneiden suorittimien vakauttamiseksi:
Mikrokoodipäivitykset. Intel julkaisi useita laiteohjelmistopäivityksiä – kuten 0x129, 0x12B ja myöhemmin 0x12F – jännitteenhallinnan parantamiseksi ja Vmin Shift -epävakautta aiheuttavien olosuhteiden vähentämiseksi. Nämä päivitykset toimitetaan yleensä emolevyn BIOS-päivitysten mukana.
Jännitekäyttäytymisen korjaukset. Jotkin mikrokoodiversiot vähentävät erityisesti liiallisia jännitepyyntöjä, jotka voivat nopeuttaa suorittimen rappeutumista tai epävakautta.
Laajennettu takuuturva. Intel laajensi vikaantuneiden suorittimien takuuta, jotta käyttäjät, joilla on epävakausongelmia, voivat hakea vaihtoa.
Nämä toimet auttavat rajoittamaan lisärappeutumista ja vähentämään kaatumisia, mutta ne eivät poista fyysistä kulumista, joka on jo tapahtunut piissä.
Jos käytössäsi on pöytäkone, jossa on 13. tai 14. sukupolven Intel Core -suoritin, ja olet kokenut selaimen kaatumisia tai epävakautta, seuraavat toimet voivat vähentää riskiä:
1. Päivitä Firefox. Asenna Firefox 151.0.1 tai uudempi versio, jotta tunnettu kaatumispolku on suojattu.
2. Päivitä emolevyn BIOS. Varmista, että järjestelmässäsi on Intelin uusimmat mikrokoodipäivitykset, jotka on suunniteltu vähentämään epävakautta.
3. Käytä Intelin suosittelemia suoritinasetuksia. Vältä aggressiivisia emolevyn esiasetuksia tai ylikellotusta, jotka nostavat jännitettä tai lämpötilaa.
4. Paranna jäähdytystä ja ilmavirtaa. Alemmat lämpötilat auttavat vähentämään Vmin Shift -ilmiöön liittyvää ajoitusepävakautta.
5. Harkitse takuutukea, jos epävakaus jatkuu. Järjestelmät, jotka kaatuvat edelleen oletusasetuksilla, saattavat olla jo fyysisesti rappeutuneita, ja ne voivat olla oikeutettuja vaihtoon Intelin laajennetun takuuohjelman puitteissa.
Firefoxin kaatumiset joillakin Raptor Lake -järjestelmillä osoittautuivat harvinaiseksi tapaukseksi, jossa selaimen koodi paljasti syvemmän laitteisto-ongelman. Mozillan Firefox 151.0.1 -julkaisu vähentää näkyviä kaatumisia huomattavasti vahvistamalla viallista koodipolkua, kun taas Intelin mikrokoodipäivitykset pyrkivät estämään lisäepävakautta suorittimissa.
Useimmille käyttäjille Firefoxin ja emolevyn BIOSin päivittäminen vähentää kaatumistiheyttä dramaattisesti. Mutta jos suoritin on jo kärsinyt merkittävästä jännitteen tai lämmön aiheuttamasta rappeutumisesta, suorittimen vaihtaminen saattaa olla ainoa pysyvä ratkaisu.