
Il Bug dell’anno 2038 è un noto bug informatico che ha ripercussioni su alcuni software nella gestione di date relative all’anno 2038 e successivi. Il problema riguarda programmi che usano la rappresentazione POSIX per calcolare il tempo: questa calcola la data del sistema a partire dal numero di secondi a partire dal 1º gennaio 1970 (ignorando i secondi intercalare). Questo tipo di sistema è lo standard per i sistemi Unix, e colpisce anche software per altri sistemi operativi che siano stati sviluppati in C. Sulla maggior parte dei sistemi a 32 bit il valore del dato time_t usato per questo calcolo è un numero intero a 32 bit di tipo signed. Usando questo sistema, la data più avanzata rappresentabile a partire dal 1/1/1970 sono le 03:14:07 UTC di martedì 19 gennaio 2038. Dopo questo momento, il contatore supererebbe il valore massimo, e verrebbe considerato come un numero negativo. I computer leggeranno la data non come 2038 ma come 1901 (precisamente, le 20:45:52 UTC di venerdì 13 dicembre 1901), causando errori di calcolo.
“in arrivo un epic fail di tutti i datari” citando Notker! :-D
La cosa curiosa sembra però essere che qualche problema in realtà questo bug l’ha già dato, e più precisamente 4 anni fa:
Nel maggio 2006 il software di AOLserver ha subìto un primo problema dovuto a questo bug. Il software usava una data pari a un miliardo di secondi nel futuro per classificare le richieste ad un database come “senza scadenza”. Alle 21:27:28 del 12 maggio 2006 (un miliardo di secondi prima della data fatidica del 19 gennaio 2038) il sistema di calcolo della data superò il limite critico, calcolando, quindi, una data di scadenza nel passato, e causò un crash del sistema.
La soluzione? Sembra esserci ed è quella del passaggio completo al 64-bit che usano (per l’appunto) numeri interi a 64-bit anche per il tempo.
Il passaggio a questo tipo di architetture è in corso, e ci si aspetta che sia completo prima del 2038. Tuttavia, ancora oggi esistono centinaia di milioni di sistemi a 32 bit sul mercato, di cui molti in sistemi integrati, e non è affatto certo che vengano rimpiazzati prima del 2038. Nonostante l’attuale trend di aggiornamento dei computer ogni 18-24 mesi, i computer integrati possono lavorare senza interruzioni per tutta la vita del sistema che controllano. L’uso di time_t a 32 bit è anche stato inserito in vari formati di file, cosa che comporta la persistenza del problema anche oltre la vita delle macchine stesse.
Alcuni dettagli in più si possono avere direttamente da Wikipedia o dal sito ufficiale del bug (ebbene si, esiste un sito ufficiale!!) :-O
Mostra Spoiler ▼




Non vedo il problema. Mi pare che sia appurato che il mondo finirà prima, no?
Si perchè i giovani giocando ai videogiochi violenti ammazzeranno tutti! :-P
Ma la Cappa del mondo è per i campionati mondiali di cucina?
Nuuuuuuuuuuu ahahahaa EPIC FAIL!! Correggo! :-(
Certo perchè nel 2040 ancora si useranno processori a 32 bit…
Nel 2040 no, ma nel 2038 sì.
“attuale trend di aggiornamento dei computer ogni 18-24 mesi”
WTF?
No scusate quale persona sana di mente compra un pc nuovo ogni 2 anni ?
Posso capire qualche guasto, posso capire che un portatile possa morire entro 18 mesi se messo sotto torchio ma un fisso ? (ma si sa che i notebook sono fatti per durare solo per un lasso di tempo) Il mio pc fisso ha quasi 7 anni l’ho preso nel 2004 è fa ancora il suo lavoro egregiamente, certo il processore è la scheda madre non sono il top (anzi tende spesso a surriscaldarsi, sopratutto d’estate)ma tutto continua a funzionare correttamente. Io penso che entro il 2030 si sarà passati al 64bit cavolo in 20 anni almeno 3 o 4 pc li cambio (e forse anche il doppio se si contano anche i portatili) e di sicuro e penso proprio che già nel 2030 si già si comincerà a parlare di processori a 128bit come standard per i desktop (anche se non che se ne facciano di questa potenza di calcolo la casalinga di Voghera).
ti rammento gli Apple-sbavoni °_°
Sui pc in se anche io sono sicuro che saremo tutti passati oltre ma, a quanto dice Wikipedia, il problema rimarrà comunque legato a qualche file. (perchè dovrei aver bisogno di un file di oggi fra 30 anni è ancora un’altra questione…)
Per ricordarti che sei stato giovane anche tu una volta
ma semplicemente cambiare le regole?