[image]https://leganerd.com/wp-content/uploads/LEGANERD_033086.jpg[/image]
[quote]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 [b]POSIX[/b] per calcolare il tempo: questa calcola la data del sistema a partire dal numero di secondi a partire dal [b]1º gennaio 1970[/b] (ignorando i secondi intercalare). Questo tipo di sistema è lo standard per i sistemi [b]Unix[/b], 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 [b]03:14:07 UTC di martedì 19 gennaio 2038[/b]. 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 [b]20:45:52 UTC di venerdì 13 dicembre 1901[/b]), causando errori di calcolo.[/quote]
“in arrivo un epic fail di tutti i datari” citando [url=https://leganerd.com/people/notker]Notker[/url]! :-D

La cosa curiosa sembra però essere che qualche problema in realtà questo bug l’ha già dato, e più precisamente 4 anni fa:
[quote]Nel [b]maggio 2006[/b] 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.[/quote]

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.
[quote]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.[/quote]

Alcuni dettagli in più si possono avere direttamente da [url=http://it.wikipedia.org/wiki/Bug_dell’anno_2038]Wikipedia[/url] o dal [url=http://2038bug.com/]sito ufficiale[/url] del bug (ebbene si, esiste un sito ufficiale!!) :-O
[spoiler]Oltre ad avere ben 3 eclissi solari e il passaggio vicino alla Terra dell’asteroide NEAR 2002 OD20, il 2038 sarà anche curiosamente caratterizzato dal ritiro della Coppa del Mondo di calcio: finiranno infatti proprio in quell’anno le targhette libere a disposizione e chi vincerà quel Mondiale si terrà la coppa a vita. Fonte [url=http://it.wikipedia.org/wiki/2038]qui[/url][/spoiler]
[spoiler]Due vigne simpatiche sull’argomento:
[image]https://leganerd.com/wp-content/uploads/LEGANERD_033088.png[/image] [image]https://leganerd.com/wp-content/uploads/LEGANERD_033089.png[/image][/spoiler]

Via [url=https://leganerd.com/forums/topic/year-2038-problem]Bazinga![/url] Grazie a [url=https://leganerd.com/people/notker]Notker[/url]