A MACOS TIME BOMB BUGJA MIATT 49,7 NAPNYI FOLYAMATOS MŰKÖDÉS UTÁN „LEESNEK A HÁLÓZATRÓL" AZ APPLE MAC-JEI

Az alapvető problémát az okozza, hogy a TCP Stack esetében a rendszer indulása óta eltelt időt egy 32-bites unsigned integerben tárolja a rendszer, ami 49,7 nap után megtelik és ekkor kezdődnek a bajok.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
2026. ápr. 10. 7:52
A macOS Time Bomb bugja miatt 49,7 napnyi folyamatos működés után „leesnek a hálózatról" az Apple Mac-jei

Az Apple macOS operációs rendszere a jelek szerint tartalmaz egy felettébb érdekes hibát, ami miatt 49,7 napnyi folyamatos működés után elkezdenek hibákat produkálni a Mac-ek: romlik a teljesítményük, a hálózati kapcsolatok lassulnak, idővel pedig nem tudnak új hálózati kapcsolatokat létrehozni és a meglévők kiszolgálása sem működik tovább.

A fura bugra a Photon csapata figyelt fel, akik egy Mac konfigurációkból álló flottát üzemeltetnek arra a célra, hogy az iMessage szolgáltatást monitorozzák velük. A csapat azt vette észre, hogy ha huzamosabb időn át nincsenek újraindítva a Mac-ek, akkor egy idő után egészen egyszerűen használhatatlanná válnak. Első körben nem tudták hova tenni, miért lassulnak be az egyes rendszerek és miért veszítik el a hálózati kapcsolatot, noha a pingre még válaszoltak, de egyéb funkciók nem akartak működni. Mivel elsőre nem találták a hibát, frusztráló módon a rendszerek újraindítását kellett választaniuk, majd a hiba ismét előjött, így a probléma mélyére ástak.

Galéria megnyitása

Hamar kiderült, hogy a problémát a Unix alapú rendszer TCP/IP rétegéhez tartozó változó, a tcp_now okozza, amelynek feladata alap esetben az, hogy mérje, mennyi idő telt el a TCP/IP réteg elindítása óta, azaz a rendszer bootolása óta. Ez a változó egy 32-bites aláíratlan egész szám formájában, azaz unsigned 32-bit integerként kezeli az idő múlását, milliszekundumban mérve. A 32-bites alapok miatt a változó 49 nap 17 óra 2 perc és 47 másodperc után elér maximális értékét, majd nem nullázódik, ahogy az elvárható lenne, hanem lényegében befagy. Ez azért baj, mert a rendszer a lezárt TCP kapcsolatokat összegyűjti és eltávolítja bizonyos időközönként, ami a macOS esetében 30 másodperc, ehhez pedig a tcp_now változó értékét használja, ami ha betelik, a kapcsolatok lezárása sem működik tovább.

Ezt követően a rendszer processzorterhelése megnő, ahogy próbál zsonglőrködni a rendelkezésre álló szabad portokkal, amelyek száma ugyancsak véges, ez az extra terhelés pedig lassulás eredményez és idővel a TCP/IP réteg is összeomlik, ami a hálózati kommunikáció végét eredményezi. Az, hogy a tcp_now változó betelése és a teljesítménycsökkenés, illetve a hálózati kommunikáció megszűnése között mennyi idő telik el, attól függ, mekkora hálózati forgalom zajlik az adott rendszeren.

A Time Bomb bug néven emlegetett hiba a jelek szerint egyéb bugokkal is összefüggésben van, így  vélhetően hamar születik rá megoldás, igaz, az Apple csapata eddig hivatalos reakciót még nem fogalmazott meg az ügyben.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

13 hozzászólás

A komment írásához előbb jelentkezz be!
gusthy
gusthy
2026. ápr. 11. 10:44
#5

Azért az unsigned integert (előjel nélküli egész) aláíratlannak fordítani vérciki.

pavai2
pavai2
2026. ápr. 10. 20:29
#4

Nekem a DENON CEOL készülékem ugyanezt a hibát produkálja. Egy bő hónap után megszűnik az internet kapcsolat, és a reggeli internet alapú zenés ébresztő nem működik. Ki kell húzni a hálózati csatlakozót a 230V-ból, várni, majd a visszacsatlakoztatás után újra működik.

Resike
Resike
2026. ápr. 10. 18:40
#3

Kibaszott birkák.

marc23
marc23
2026. ápr. 10. 12:13
#2

Es miert kell szamolni az idot a rendszer bootolas utan? Nem lenne eleg az, h indulaskor lekeri az idot azt tarolja azt ha vkinek kell, akkor a friss ido es az inditasi idobol gyorsan kiszamolja?

ilvensis
ilvensis
2026. ápr. 11. 15:58

@gusthy Igazad van. Én is tudom hogy a Unix rendszer régebb óta létezik mint a Linux. Mindössze a hasonlóságra akartam utalni, csak éppen félreérthetőre sikerült.

ilvensis
ilvensis
2026. ápr. 10. 10:09
#1

"Ez a változó egy 32-bites aláíratlan egész szám formájában, azaz unsigned 32-bit integerként kezeli az idő múlását,..."
Hogy mi? Na, ne már! Számokat nem szokás aláírni. Előjel nélküli egész számról van szó.

ilvensis
ilvensis
2026. ápr. 10. 14:54

@Zsimre69 Sajnos ez a trend. A problémák megoldására egyre gyakrabban használják ezeket az AI-nak csúfolt neuronhálózatokat. Akkor is amikor még menne saját kútfőből is. Az eredmény pedig a tömeges elbutulás.

Vissza az oldal tetejére