martedì 16 febbraio 2010

Aperture 3 apre ai memory leaks

Aperture 3 was barely out the door before the problems began rolling in. The newly released pro photo editing application promised to bring new functionality and high-end features. But, according to ComputerWorld, it brought something else as well.
Users of the new version of Aperture have been seeing frozen computers and "out of disk space" warnings. Reports of this problem are flooding Apple's forums. Aperture decides to fill up the computer's page file until the entire hard drive fills up, rendering the computer frozen and the user frustrated. The problem seems to occur when a user leaves the program to import their photo libraries. Some are even reporting the issue happening the second they launch the application. However, not eveyone is experiencing the issue, leaving some to believe that the problem is external to the program itself.
Some say that the problem may be caused by importing of old libraries or the new "Faces" feature that Apple integrated. However, this seems kind of strange, as Apple surely tested the software on many devices in different scenarios before launch. Apple has yet to release a public statement regarding the matter.

Fonte: Neowin

Per sommi capi: la nuova versione del programma di fotoritocco prosumer di Apple si diverte a riempire il file di paging fino a riempire l'intero disco rigido e a bloccare il computer. Il problema si manifesta quando l'utente cerca di importare le sue librerie fotografiche. Alcuni addirittura hanno questo problema lanciando semplicemente l'applicazione.

Fortunatamente, non avviene a tutti gli utenti, e già è una buona cosa.

Quel che mi chiedo però è perché Apple si ostina con questa sua idea di non voler fare Beta pubbliche. L'unica eccezione recente è stata Safari. Con una Beta pubblica un bug del genere sarebbe sicuramente venuto fuori prima. Invece, a testarlo nel candore e nella perfezione di Cupertino questo è stato il risultato.

In ogni caso, la frittata è fatta e ora la 3.0.1 è necessaria. Nonostante sia un memory leak, che non è proprio una cosa di poco conto, non mi sembra un bug complicato da risolvere, vista la zona interessata del programma, dunque ci metteranno poco tempo.

11 commenti:

  1. Spiacente doverti contraddire, ma...

    ...un memory leak, in un grosso programma, è un grosso problema. Lo dico per esperienza di lavoro.

    RispondiElimina
  2. Hai ragione. Ma è la zona che mi pare abbastanza risretta, dunque non ci dovrebbero mettere molto. Per quello penso che in qualche settimana massimo potrebbero risolvere la cosa.

    Certo, se avessero pensato a fare Beta pubbliche e non a venderle, sarebbe stato decisamente meglio...

    Ad ogni modo, ho modificato la frase per farmi capire meglio.

    RispondiElimina
  3. ma non è un grosso problema.. se fosse capitato a tutti sarebbe stato grosso..ma essendo solo di alcuni utenti è un'incompatibilità con qualcosa... quindi facilmente fixabile... io lo sto usando da ieri e per fortuna non mi da sto problema :D
    è un peccato che ultimamente apple rilasci ottimi prodotti ma faccia sempre piccoli passi falsi qua e la..

    RispondiElimina
  4. Non è facilmente fixabile un memory leak, e questa cosa la so pure io che non sono un programmatore, devi praticamente rifare quella parte di codice. Essendo che la zona è ristretta si può agire in breve tempo, questo sì.

    Non mi pare poi che siano proprio così pochi gli utenti coinvolti, se stanno inondando il forum di Apple come è scritto nell'articolo originale.

    Se facesse dei Beta testing pubblici, bug come questi non arriverebbero alla versione finale, sarebbero stati già tolti prima. Rimarrebbero altri bug, ma di minore portata e come in tutti i prodotti esistenti.

    E' un peccato che Apple si bei della sua perfezione e faccia sempre piccoli passi falsi qua e là...

    RispondiElimina
  5. innanzitutto è falsissimo che un problema di memory leak è difficilmente fixabile e bisogna riscrivere intere parti di codice perchè il memory leak non è altro una variabile a cui assegni la memoria, ci compi operazioni e ti dimentichi quando ha finito l'utilità di liberarne lo spazio...la maggior parte dei memory leak è dovuta a una riga di codice messa dopo o dimenticata..
    rifare pezzi interi di codice non serve a niente... non è un consumo eccessivo di memoria del programma dove devi riscrivere il tutto per fare in modo di sfruttare al meglio la memoria... ma si deve semplicemente deallocare lo spazio occupato di tutte le variabili quando non servono piu... naturalmente non è facilissimo trovare quale variabile causa il problema ma non bisogna riscrivere righe e righe di codice (anzi se lo facessi potrebbe benissimo risuccedere lo stesso problema)...
    detto questo questo per queste app non viene mai generalmente fatto un beta testing pubblico da nessuno...ne adobe ne le altre ditte lo fanno.. però per altri prodotti potrebbe aiutare (anche se su 100 utenti che provano la beta massimo 2 o 3 aiutano segnalando problemi)

    RispondiElimina
  6. Stai scherzando a minimizzarlo? Microsoft per un memory leak è stata costretta a rifare un intero sistema operativo, Longhorn nel 2004! Il memory leak è difficile da individuare con certezza, fai prima a riscrivere quel pezzo per bene!

    La prossima volta che sento un memory leak da parte di un programma Apple sarò più cattivo. Ve la cercate, con la vostra difesa fino alla morte anche del singolo bug. Pensa se dicevo che il bug della VDM di Windows NT era di poco conto, mi avresti rotto le palle fino allo sfinimento.

    Poi qui mi prendi per il culo, sinceramente:

    > ..ne adobe ne le altre ditte lo fanno..

    http://labs.adobe.com/

    Microsoft le fa.

    Persino Symantec le fa.

    Apple no.

    > (anche se su 100 utenti che provano la beta massimo 2 o 3 aiutano segnalando problemi)

    Certo, così poi escono tutti con problemi. C'è chi la prova tanto per fare, ma molti segnalano i problemi. Svariati dei feedback che avevo inviato in occasione della Beta di Windows 7 hanno avuto risoluzione nella RC. Vedi tu se non è utile...

    RispondiElimina
  7. evitiamo di parlare di cose che non conosciamo... vuoi paragonare i memory leak di un sistema operativo con i memory leak di un'applicazione? il sistema operativo ha accesso diretto alla memoria.. quindi per quello ci sono 3000 modi diversi con cui viene gestita la memoria... e se un metodo non è efficace o crea problemi devi riscrivere completamente la parte che accede alla memoria... una applicazione non fa altro che fare una chiamata di sistema all'os che gestisce lui l'operazione... e queste chiamate di sistema vengono scritte (nel 99% dei casi) non dal programmatore (salvo il programma sia scritto in assembler..ma dubito sia cosi) ma dal compilatore... il programmatore semplicemente dichiara la variabile e il compilatore crea automaticamente le chiamate per l'allocazione di memoria al sistema, e chiama l'opzione per la deallocazione e ilcompilatore fa le chiamate di sistema che liberano la memoria...sono due livelli completamente diversi...
    secondo: la beta ho detto che mi riferivo a programmi dello stesso tipo di aperture... un programma come aperture è photoshop...e adobe non fa beta per photoshop... l'unico programma di cui fa la beta riguardo alle foto è lightroom che è diverso dal classico programma di fotoritocco...microsoft non ha un programma di fotoritocco e symantec idem... però per altri programmi che produce apple di sicuro una beta pubblica sarebbe l'ideale...
    e se io ti dico che solo il 2-3% degli utenti segnala i bug puoi anche rispondere che han risolto molti problemi grazie a quello... ma resta il fatto che il 97% non aiuta..
    io non ho mai detto che non si trovano problemi con le beta pubbliche e che non servono.. anzi per me apple dovrebbe farle per alcuni programmi.. ma piu del 90% delle persone che scaricano una beta sono inevitabilmente utonti che vogliono solo provare il programma magari a sbafo... a mio parere la soluzione ms è quella migliore... cioè di rilasciare solo agli utenti msdn iscritti la maggior parte delle beta dei programmi...cosi può- partecipare alla beta chi vuole aiutare...

    RispondiElimina
  8. Per i memory leak, mi ritiro finché non ne saprò di più.

    Ma chi ha parlato di programmi di fotoritocco in Beta? Ho parlato in generale, mica ho citato Symantec perché mi piaceva metterla!

    > a mio parere la soluzione ms è quella migliore... cioè di rilasciare solo agli utenti msdn iscritti la maggior parte delle beta dei programmi...

    Ce l'ha pure Apple. La Apple Developer Connection. Perché non la sfrutta?!

    RispondiElimina
  9. io ho parlato di applicazioni di fotoritocco in beta... piu precisamente io ho detto che generalmente per questo tipo di app non si fanno beta, ne adobe ne altre ditte...
    tu mi hai risposto cosi(cito):
    --------
    Poi qui mi prendi per il culo, sinceramente:

    > ..ne adobe ne le altre ditte lo fanno..

    http://labs.adobe.com/

    Microsoft le fa.

    Persino Symantec le fa.

    Apple no.
    -------------
    forse non hai capito con il non far beta intendevo quel tipo di app..

    non posso che concordare con te che dovrebbe sfruttarlo di piu... eppure con iphone lo fa... rilascia in beta il firmware cosi i developer possono sia testare l'os sia provare le applicazioni e fare nuove app con nuove features..perchè con os x no? mistero...

    RispondiElimina
  10. > forse non hai capito con il non far beta intendevo quel tipo di app..

    Probabilmente. Però in generale sarebbe un bene testare approfonditamente tutte le applicazioni. Continuo a pensare che una Beta pubblica o perlomeno aperta all'ADC avrebbe fatto emergere meglio questo memory leak, e non sarebbe arrivato alla final.

    > perchè con os x no?

    Me lo chiedo anch'io. Che tenga più all'iPhone rispetto ad OS X? Che delle Beta di OS X mi pare al massimo ne rilascino solo una agli sviluppatori, il Developer Seed di presentazione, come al WWDC08 dove rilasciarono una build di Snow Leopard.

    RispondiElimina