Bugfixes: 25 anni per sistemare un bug!

Alla base del cuore di Mac OS X c’è Darwin, un sistema operativo nato dalla fusione del kernel Mach con FreeBSD.
FreeBSD è un sistema operativo opensource di derivazione Unix, portato avanti dall’università di Berkley.

Alla base di moltissimi sistemi operativi moderni ci sono delle derivazioni di BSD, oltre al nostro Mac OS X.


Dalla sua nascita, però, il sistema ha sofferto di un bug, recentemente corretto da un programmatore svizzero, Marc Balmer.
La stranezza? Il bug è presente dalla versione 4.2BSD, nata nel 1983. Siamo nel 2008, e sono passati 25 anni da allora.

Il bug è presente nella gestione di alcune funzioni, telldir(), seekdir() and readdir(), di cui in particolare a soffrirne è seekdir(): una volta invocata, non restituisce la corretta posizione della cartella.

Ad essersi accorti per primi di questo bug sono stati gli sviluppatori del progetto Samba. Infatti nel creare la metodologia di connessione con le reti Microsoft da parte dei sistemi Unix, si sono resi conto di come quelle funzioni restituissero degli errori.
Però, invece che correggere o segnalare agli sviluppatori dei sistemi di derivazione BSD l’errore, hanno preferito scriversi le proprie routine che aggirassero il problema, lasciando il bug insoluto a permanere nei sistemi che si basano su questa distribuzione Unix.

Marc Balmer nel suo blog afferma di essere sicuro che molti altri programmatori abbiano incontrato il bug ed abbiano preferito lasciarlo dove stava senza andare a correggerlo.

La cosa strana è che Balmer abbia trovato il bug assolutamente semplice da sistemare, chiedendosi quindi per quale motivo non l’avesse fatto nessuno prima di lui, addirittura chi aveva incontrato problemi per quell’errore di programmazione ha preferito aggirarlo piuttosto che correggerlo.

Questa situazione fa comunque pensare: quanti altri bug insignificanti sono contenuti nei sistemi operativi che usiamo ogni giorno e da quanto sono presenti senza che l’utente finale se ne accorga mai?

Ma sopratutto: anche Mac OS X ne è affetto? In fondo Darwin non è una semplice distribuzione di BSD, ma è un sistema prodotto dall’unione del sistema operativo NeXT con FreeBSD, quindi potrebbe essere che le porzioni di codice errato non siano state incluse nel nostro sistema (oppure che siano state modificate come per Samba, rendendo nullo l’errore).
Infatti un commentatore del blog di Balmer ha creato un file con cui testare il problema, che se eseguito su Mac OS X restituisce un errore simile ma non identico.

Balmer ha segnalato il bug con relativa soluzione ai vari sviluppatori di sistemi derivati da FreeBSD, ora c’è da vedere se e quando Apple correggerà l’errore in Darwin.


[Via]

Emanuele L. Cavassa

View Comments

  • Ma poveri picci, gli altri programmatori avevano voluto tenersi un souvenir dal passato, Balmer non l'aveva mica capito.. :-P

Recent Posts

MacBook Pro, nel 2026 con design tutto nuovo e tecnologia OLED

Sappiamo come la scorsa settimana Apple abbia annunciato una nuova gamma di MacBook Pro con…

23 ore ago

iPhone 13 nero da 128GB, il prezzo sempre più scontato su Amazon

Può essere sicuramente ancora interessante provare ad acquistare un iPhone di qualche anno fa per…

4 giorni ago

Apple Mac mini con M4, tutto quello che c’è da sapere

Apple ha ufficializzato, come ormai sappiamo da qualche giorno, il nuovo Mac mini con processore…

4 giorni ago

iPhone 16, l’offerta super di eBay per il modello da 128GB

Continua ad essere eBay il sito di e-commerce che propone le offerte migliori per quanto…

7 giorni ago

iPad mini 7, tutte le novità da sapere prima del lancio

Dopo tre anni dall’ultimo aggiornamento dell’iPad mini, ecco che finalmente a breve sarà presentato il…

2 settimane ago

Acquista il tuo iPhone online: scopri perché Tecnosell è la migliore scelta

Dritte per acquistare un iPhone online in piena sicurezza oggi in Italia

2 settimane ago