29
Siamo a fine anno. Il 2038 si avvicina.
dicembre 2007 da Lobotomia
Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.
![]()
Il bug dell’anno 2038 è un noto bug che riguarda la rappresentazione della data nei sistemi POSIX che, come è noto, calcolano la data di sistema come differenza di secondi dal giorno 1 Gennaio 1970.
Nella maggior parte dei sistemi UNIX (e derivati) il valore che viene usato per questo calcolo è un intero a 32 bit di tipo signed, generalmente un tipo di questo genere rappresenta numeri da -2147483648 a 2147483647, ciò significa che la più grande data rappresentabile è giovedì martedì 19 gennaio 2038, per la precisione le ore 03:14:07 di quel giorno. Superata tale data, l’intero rappresentato diventerà negativo, quindi i computer rappresenteranno le date come se fossero nel 1901.
La risoluzione del problema non è così semplice come sembra, cambiare il tipo di dato da signed ad unsigned allungherebbe solo la data di presentazione del problema al 2106, mentre adottare interi di 64 bit potrebbe rendere il software inutilizzabile in molti sistemi. Nel frattempo i sistemi stanno comunque migrando verso i 64 bit, quindi molto probabilmente il problema verrà risolto con la graduale migrazione verso questa architettura. Per controllare se un sistema affetto o meno dal bug si può utilizzare il seguente codice Perl:
#!/usr/bin/perl
use POSIX;
$ENV{'TZ'} = "GMT";
for ($clock = 2147483641; $clock < 2147483651; $clock++)
{
print ctime($clock);
}
Basta salvare il codice in un file (ad esempio test2038.pl), dargli i permessi di esecuzione (chmod + x test2038.pl) ed eseguirlo (./test2038.pl).
L’output in un sistema in cui è presente il bug sarà del tipo:
Tue Jan 19 03:14:01 2038
Tue Jan 19 03:14:02 2038
Tue Jan 19 03:14:03 2038
Tue Jan 19 03:14:04 2038
Tue Jan 19 03:14:05 2038
Tue Jan 19 03:14:06 2038
Tue Jan 19 03:14:07 2038
Fri Dec 13 20:45:52 1901
Fri Dec 13 20:45:52 1901
Fri Dec 13 20:45:52 1901
Mentre se invece il sistema non è affetto dal bug avremo un risultato del tipo:
Tue Jan 19 03:14:01 2038
Tue Jan 19 03:14:02 2038
Tue Jan 19 03:14:03 2038
Tue Jan 19 03:14:04 2038
Tue Jan 19 03:14:05 2038
Tue Jan 19 03:14:06 2038
Tue Jan 19 03:14:07 2038
Tue Jan 19 03:14:08 2038
Tue Jan 19 03:14:09 2038
Tue Jan 19 03:14:10 2038
E con questo è tutto. Se volete avere maggiori informazioni visitate il sito ufficiale di diffusione delle informazioni sul Bug Y2K38.






























Categorie: 

dicembre 29th, 2007 alle 13:17
Siamo a fine ano. Il 2038 si avvicina.
Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.
dicembre 29th, 2007 alle 13:29
[...] il 2008 è alle porte… mancano solo 30 anni al 2038 e troppi software soffrono ancora del bug Y2K38, dovremo aspettare il 2037 per vedere soluzioni funzionanti come per l’anno 2000? Intanto [...]
dicembre 29th, 2007 alle 14:11
Siamo a fine ano. Il 2038 si avvicina. | PettiNix
Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.
dicembre 29th, 2007 alle 16:23
Siamo a fine anno. Il 2038 si avvicina. | PettiNix
Natale è ormai passato da qualche giorno e la fine dell’anno si avvicina, sempre più vicini siamo all’anno 2038. Non molti sono a conoscenza del bug dell’anno 2038 (Y2K38), vediamo cos’è.
dicembre 30th, 2007 alle 14:32
Sembra che anche il mio sistema ne sia afflitto, prima del 2038 cambierò architettura.
Avevo letto qualcosa sul libro:
luci e ombre di google verso la fine.
dicembre 30th, 2007 alle 19:36
Scusami… prima di tutto ho vomitato il panettone appena ho iniziato a leggere il tuo post interessantissimo, che “cassio” ci fa la pubblicita’ di Forza Itaglia all’inizio del post? Dammi il tuo indirizzo postale che ti mando un pacco dono di 12 bombolette di DDT e dai una bella ripassata a questa tarme…
Venendo al post, oserei dire che sei oltremodo ottimista a pensare che nel 2038 dovremo ancora preoccuparci dell’ennesimo millennium bug… per allora parleremo cinese e scriveremo con gli ideogrammi e la nostra unica preoccupazione sara’ come fronteggiare la “non pensione” che ci spetta da informatici…
un abbraccio al fico d’india dal tuo inviato ai confini dell’Impero…
marzo 20th, 2008 alle 03:34
il 19 gennaio non é giovedí. È un martedì