OS X 10.10.2 beta, ecco come evitare il crash di Google Chrome

di Giovanni Biasi Commenta

Sembra che la versione 39 di Google Chrome crashi inesorabilmente quando utilizzata sulla beta di OS X 10.10.2. Sarebbe colpa di alcune API del trackpad. Emerge però un workaround su Reddit per evitare temporaneamente la cosa.

Come si vede dal video che vi alleghiamo qui sopra, e come si sente da molti utenti in rete, pare che Google Chrome 39 cominci a crashare sui dispositivi con installata la beta di OS X 10.10.2, e che le soluzioni canoniche (eliminare le preferenze di Google, utilizzare Canary…) non funzionino. Niente: il browser si avvia, rimane attivo per uno o due secondi, e poi crasha senza permettere di agire in alcun modo. E sembra non funzioni nulla per migliorare le cose, a parte tornare alla versione stabile 10.10.1. A quanto pare, la causa di questi problemi sarebbe da ricercarsi dal cambiamento della gestione di alcune API del trackpad, che causerebbe il crash immediato del browser senza possibilità di scampo.
Grazie a un post su Reddit, però, siamo in grado di offrirvi un’altra soluzione (da usare chiaramente a vostro rischio e pericolo, non essendo stata suggerita ufficialmente da nessuna parte) che sembrerebbe funzionare senza alcun problema. 
11139-3815-141118-Chrome-l

  1. Per prima cosa, aprite Text Edit e incollate questo codice, salvando il file col nome di “patch.m”:
    #import <AppKit/AppKit.h>
    
    __attribute((constructor)) void Patch_10_10_2_entry()
    {
    NSLog(@"10.10.2 patch loaded");
    }
    
    @interface NSTouch ()
    - (id)_initWithPreviousTouch:(NSTouch *)touch newPhase:(NSTouchPhase)phase position:(CGPoint)position     isResting:(BOOL)isResting force:(double)force;
    @end
    
    @implementation NSTouch (Patch_10_10_2)
    - (id)_initWithPreviousTouch:(NSTouch *)touch newPhase:(NSTouchPhase)phase position:(CGPoint)position     isResting:(BOOL)isResting
    {
    return [self _initWithPreviousTouch:touch newPhase:phase position:position isResting:isResting force:0];
    }
    @end
  2. Eseguite questo comando dal Terminale:
    clang -dynamiclib -framework AppKit ~/Desktop/patch.m -o ~/Desktop/patch.dylib
  3. Eseguite quest’altro comando dal Terminale per aprire Google Chrome:
    env DYLD_INSERT_LIBRARIES=~/Desktop/patch.dylib "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

Questa operazione lascerà il Terminale aperto in background – non chiudetelo, o si chiuderà anche Google Chrome. Si tratta di un processo che non modifica nulla permanentemente, ma si limita a risolvere momentaneamente il problema. Chiudendo il browser, per riaprirlo una seconda volta sarà necessario ripetere lo step 3.

O in alternativa potete un attimo mettere da parte Chrome e usare un altro browser in attesa che un aggiornamento risolva definitivamente il problema.

via | 9to5mac