Dall'aggiornamento di novembre 2012 a Moutain Lion, continuo a ricevere questi strani problemi grafici.
L'elenco dei problemi:
OpenCL si blocca durante l'avvio dell'applicazione
A volte dopo che il laptop si è risvegliato da un lungo sonno, quando provava a lanciare qualsiasi applicazione, si bloccavano tutti con il seguente tipo di stacktrack che mostrava un problema in CoreImage / OpenCL:
Code Type: X86-64 (Native)
Parent Process: launchd [136]
OS Version: Mac OS X 10.8.3 (12D68)
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000010c8d0000
VM Regions Near 0x10c8d0000:
shared memory 000000010c8c0000-000000010c8d0000 [ 64K] r--/r-- SM=SHM
-->
CG shared images 000000011a442000-000000011a44a000 [ 32K] r--/r-- SM=SHM
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_c.dylib 0x00007fff9371c6d3 strlen + 51
1 libsystem_c.dylib 0x00007fff9376a067 strdup + 21
2 libcldcpuengine.dylib 0x000000010c2a4e72 0x10c29e000 + 28274
3 libcldcpuengine.dylib 0x000000010c2a2ac6 glrCompBuildProgram + 96
4 com.apple.opencl 0x00007fff906cb398 0x7fff906a3000 + 164760
5 com.apple.opencl 0x00007fff906b3bc3 clBuildProgram + 904
6 com.apple.CoreImage 0x00007fff92542455 -[FEOpenCLContext _loadKernel:target:testOnly:] + 1156
7 com.apple.CoreImage 0x00007fff9263c35f -[FEContext(Kernel) loadKernel:target:] + 94
8 com.apple.CoreImage 0x00007fff9257e54f FEApplyTreeNode::render1(FETreeContext*, FEShape const&, fe_kernel_target_struct*, int, float*, FETreeTexture*) + 105
9 com.apple.CoreImage 0x00007fff9257f735 FEApplyTreeNode::render2(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 1583
10 com.apple.CoreImage 0x00007fff9257c7c7 FETreeNode::render_(FETreeContext*, FEShape const*, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 169
11 com.apple.CoreImage 0x00007fff925804c5 FETreeNode::render(FETreeContext*, FEShape const&, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 107
12 com.apple.CoreImage 0x00007fff92584211 FETreeContext::renderTree(FETreeNode*, FEShape const&, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 277
13 com.apple.CoreImage 0x00007fff92584535 FETreeContext::renderImage_(FEImage*, CGRect, FEShape const*, CGAffineTransform, CGColorSpace*, FEFormat, bool, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 703
14 com.apple.CoreImage 0x00007fff92584911 FETreeContext::renderImage(FEImage*, CGRect, FEShape const*, CGAffineTransform, CGColorSpace*, FEFormat, bool, void (*)(FEContext*, void*, FEFormat), void (*)(FEContext*, void*), void*) + 459
15 com.apple.CoreImage 0x00007fff9255b1a6 -[FEImage(Internal) _renderWithContext:bounds:transform:colorSpace:format:premultiplied:setupCallback:finishCallback:callbackData:] + 339
16 com.apple.CoreImage 0x00007fff9255a5bf -[FEImage getBitmap:withContext:origin:transform:colorSpace:] + 694
17 com.apple.CoreImage 0x00007fff9250fa9a -[CIContextImpl render:toBitmap:rowBytes:bounds:format:colorSpace:] + 427
18 com.apple.CoreImage 0x00007fff9250e968 -[CIContext render:toBitmap:rowBytes:bounds:format:colorSpace:] + 77
19 com.apple.coreui 0x00007fff938ff5fc _CUICreateImageByApplyingEffectsToImageViaCI(long, CUIDescriptor const*, __CFArray const*, CGImage*, double, unsigned char) + 16220
20 com.apple.coreui 0x00007fff938f9219 CUIArtFileRenderer::DrawImage(CGRect, long, CUIDescriptor const*) + 9651
21 com.apple.coreui 0x00007fff938e7887 CUIArtFileRenderer::Draw(CUIDescriptor const*, CGAffineTransform, CUIReturnInfo&) + 1571
22 com.apple.coreui 0x00007fff938c2895 CUIRenderer::Draw(CGRect, CGContext*, __CFDictionary const*, __CFDictionary const**) + 3343
23 com.apple.coreui 0x00007fff938edbcb CUIDraw + 180
Model: MacBookAir5,2, BootROM MBA51.00EF.B02, 2 processors, Intel Core i7, 2 GHz, 8 GB, SMC 2.5f7
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In, 512 MB
(rapporto di crash tagliato per comodità)
Corruzione grafica
Ho riscontrato la stessa corruzione di artefatti grafici (rumore bianco) sovrapposti su diversi elementi dell'interfaccia utente come le finestre aperte, le icone del Finder nell'elenco Cmd + Tab, l'immagine di sfondo, ... in questo modo: Screenshot
Per le finestre danneggiate, qualsiasi azione che rimedi a ridipingere rimedia al problema, ma le altre (icona del Finder, immagine di sfondo) rimangono (probabilmente perché non vengono mai ridisegnate) finché il computer non viene riavviato.
Icone rotte
In seguito a ciò che è un problema persistente (anche dopo il riavvio), qualsiasi icona di modello (o altrimenti icone elaborate dallo shader dietro l'inquadratura) scompare da posti come barra di stato / barra degli strumenti / pannelli laterali:
Screenshot dell'area barra degli strumenti
Per quest'ultimo, i soliti trucchi di creazione di un nuovo utente o di reinstallazione di una versione precedente funzionano all'inizio, ma il problema si ripresenta più tardi.
Dato che ho attivato FileVault, non riesco nemmeno ad avviare la modalità provvisoria per svuotare manualmente le cache delle icone (lo stesso problema con la barra di caricamento del 25-30% bloccato rispetto a quello descritto altrove).
La pulizia di qualsiasi altra cartella Caches
che riesca a trovare non aiuta neanche.
Ora , la cosa interessante è che il problema 1 e il problema 3 sono entrambi elusi con una semplice azione: eseguire manualmente l'applicazione da un terminale (come in, non tramite open(1)
cioè non con launchd
come processo genitore).
In questo caso le icone si rendono perfettamente e non c'è un bizzarro crash di OpenCL per la vita di quell'istanza, sebbene in seguito non risolva il problema per le applicazioni normalmente lanciate.
Come ho scoperto Internet non sono riuscito a trovare persone con la stessa serie di problemi, quindi potrebbe semplicemente essere che la mia macchina è difettosa, ma sto postando qui in anticipo per vedere se qualcun altro ha più idee su come diagnosticare il problema (e fornire un punto di accesso Google per questo).