ZBOG BUGA MACOS TIME BOMB APPLEOVI MACOVI NAKON 49,7 DANA NEPREKIDNOG RADA „ISPADAJU S MREŽE"

Temeljni problem je u tome što TCP stog vrijeme proteklo od pokretanja sustava pohranjuje u 32-bitni neoznačeni cijeli broj (unsigned integer), koji se nakon 49,7 dana napuni i tada počinju problemi.
J.o.k.e.r
J.o.k.e.r
10. tra 2026. 07:52
Zbog buga macOS Time Bomb Appleovi Macovi nakon 49,7 dana neprekidnog rada „ispadaju s mreže"

Appleov operacijski sustav macOS, čini se, sadrži vrlo zanimljivu grešku zbog koje Macovi nakon 49,7 dana neprekidnog rada počinju zapinjati: performanse im se pogoršavaju, mrežne veze usporavaju, a s vremenom ne mogu uspostaviti nove mrežne veze, pa prestaje i posluživanje postojećih.

Na čudan bug upozorio je tim iz Photona, koji drži flotu Mac konfiguracija za nadzor usluge iMessage. Tim je primijetio da Macovi koji se dulje vrijeme ne restartaju nakon nekog vremena jednostavno postanu neupotrebljivi. U početku nisu znali zašto se pojedini sustavi usporavaju i gube mrežnu vezu, iako su na ping još odgovarali, ali ostale funkcije nisu htjele raditi. Budući da prvo nisu uspjeli pronaći grešku, frustrirajuće su morali odabrati restart sustava, a kad se problem ponovno pojavio, krenuli su u dubinsku analizu.

Otvorite galeriju

Brzo se pokazalo da problem uzrokuje varijabla tcp_now iz TCP/IP sloja sustava temeljenog na Unixu, čija je zadaća u normalnim okolnostima mjeriti koliko je vremena proteklo od pokretanja TCP/IP sloja, odnosno od podizanja sustava. Ta varijabla protok vremena bilježi kao 32-bitni neoznačeni cijeli broj, odnosno unsigned 32-bit integer, izmjeren u milisekundama. Zbog 32-bitne osnove varijabla nakon 49 dana, 17 sati, 2 minute i 47 sekundi dostiže maksimalnu vrijednost, a zatim se ne vraća na nulu, kako bi se očekivalo, nego se zapravo zamrzne. To je problem jer sustav zatvorene TCP veze u određenim razmacima prikuplja i uklanja, što u macOS-u iznosi 30 sekundi, a za to koristi vrijednost varijable tcp_now; kad se ona napuni, prestaje funkcionirati i zatvaranje veza.

Nakon toga se opterećenje procesora sustava povećava dok pokušava žonglirati slobodnim portovima kojih je također ograničen broj, a to dodatno opterećenje uzrokuje usporavanje, da bi s vremenom i TCP/IP sloj doživio slom, što znači kraj mrežne komunikacije. Koliko vremena prođe između punjenja varijable tcp_now i pada performansi, odnosno prestanka mrežne komunikacije, ovisi o tome koliki se mrežni promet odvija na određenom sustavu.

Greška, koja se spominje pod nazivom Time Bomb bug, čini se povezana i s drugim bugovima, pa se vjerojatno brzo može očekivati rješenje, iako Appleov tim o tome do sada nije dao službenu reakciju.

Pretplata na newsletter

0 komentara

Da biste napisali komentar, prvo Prijaviti se!

Za ta članek še ni komentarjev

Pomozite drugima, recite nam što mislite o članku.
Nazad na vrh stranice