Son zamanlarda — tam olarak ne zaman emin değilim — iPhoto 9.5.1 Mac'imde çok garip davranmaya başladı. Etkinlikler, albümler ve fotoğraflar arasında gezinmek iyi çalışıyor gibi görünüyor. Bununla birlikte, bir fotoğrafı işlemek için Düzenle simgesine tıkladığımda, tamamen siyah bir çalışma alanı görüyorum veya görüntü verilerinde bozuk görünen bir şey görüyorum.
İlginç bir şekilde, ne yaptığımı göremesem de fotoğrafı gerçekten düzenleyebilirim. Örneğin, fotoğrafı döndürürsem ve olay görünümüne geri dönersem, küçük resim döndürülmüş olarak görünür. Ayrıca, bu yalnızca belirli boyutlardaki görüntüleri de etkiler: çok küçük bir fotoğrafla başlarsam (örneğin, 600x600 piksel), düzenleme iyi çalışır.
İşte nasıl göründüğüne bir örnek:
Çevrimiçi bulduğum çeşitli önerileri denedim (özellikle Apple'ın destek forumlarında):
- İPhoto kütüphanesini onarma.
- İPhoto kütüphanesini yeniden oluşturma.
- İPhoto tercih dosyalarını kaldırma.
- İPhoto önbellek dosyalarını /Users/user/Library/Containers/com.apple.iPhoto/Data/Library/Caches adresinden kaldırmak.
- Tamamen yeni bir test kütüphanesi oluşturmak.
- Mac'imi yeniden başlatıyorum.
- İPhoto’yu silme ve uygulama mağazası aracılığıyla yeniden yükleme.
Ne yazık ki, bu yaklaşımların hiçbiri sorunu çözmedi.
İlginçtir, Mac bilgisayarımdaki diğer kullanıcılar iPhoto’yu sorunsuz bir şekilde kullanabilir. Aslında, farklı bir kullanıcı olarak giriş yaparsam ve yukarıda açıklandığı şekilde oluşturduğum aynı test kütüphanesini yüklersem, iyi çalışır.
Aklımda, hesap yapılandırmamda, bu soruna neden olan bir şey olduğu, kütüphane ile ilgili bir sorun olmaktan çıkıyor, ancak bunun ne olduğunu açıklamaktan kaçınıyorum.
Güncelleme
Hala bu sorunu yaşıyorum, ancak iPhoto’yu komut satırından çalıştırmayı denedim ve uygulama her bir fotoğrafı düzenleme modunda göstermeye çalıştığında bu iletinin günlüğe kaydedildiğini fark ettim:
clBuildProgram() failed (-11) for kernel _CIClampToAlpha.
Bu mesaj , iPhoto’yu farklı bir kullanıcı olarak çalıştırdığımda, aynı kütüphaneyi kullanırken bile görünmüyor, bu yüzden yaşadığım sorunla ilgili görünüyor, ancak hala nasıl bağlandıkları konusunda emin değilim. .
Güncelleme # 2
Bazı ek okumalara dayanarak, iPhoto’yu şu şekilde çalıştırmayı denedim:
CL_LOG_ERRORS=stdout /Applications/iPhoto.app/Contents/MacOS/iPhoto
Bir fotoğrafı düzenlemeye çalıştığımda, bu bazı ek log çıktıları üretti:
[CL_DEVICE_NOT_AVAILABLE] : OpenCL Error : Error: build program driver returned (-2)
Break on OpenCLErrorBreak to debug.
OpenCL Warning : clBuildProgram failed: could not build program for 0xffffffff (Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz) (err:-2)
Break on OpenCLWarningBreak to debug.
[CL_BUILD_ERROR] : OpenCL Build Error : Compiler build log:
fatal error: cannot open file '/System/Library/Frameworks/OpenCL.framework/Versions/A/lib/clang/3.2/include/cl_kernel.h': Too many open files in system
Bu ilginç görünüyordu, çünkü bu hata iPhoto’yu farklı bir kullanıcı olarak (başarılı bir şekilde) çalıştırdığımda görünmüyor. Ancak, "sistemdeki" açık dosyaların sayısı bu durumlarda önemli ölçüde farklı değildir, özellikle kullanıcılar arasında geçiş yapmak için hızlı kullanıcı değiştirme kullanıyorum, bu nedenle çağrılar arasında fazla bir şey değişmiyor. İşte hesabımda iPhoto’daki ve dosya genelindeki açık dosyaların sayısı:
<shadow>:~ $ lsof -p 11989 | wc -l # open files in the iPhoto process on my account
221
<shadow>:~ $ sudo lsof | wc -l # open files, system-wide while iPhoto is open
12245
Ve işte iPhoto’daki açık dosya sayısı ve başka bir kullanıcı iPhoto’yu çalıştırırken sistem genelinde:
<shadow>:~ $ lsof -p 12163 | wc -l # open files in the iPhoto process in another account
226
<shadow>:~ $ sudo lsof | wc -l # open files, system-wide while iPhoto is open
12466
Gördüğünüz gibi, iPhoto farklı bir kullanıcı olarak çalıştırıldığında açık dosya sayısı önemli ölçüde farklı değil, bu yüzden yine hesabımla ilgili tuhaf bir şey var gibi görünüyor. Bununla birlikte, ne olabileceğine dair bir zararım var.
Açık dosya sayısının sistem genelinde sınırını arttırmayı denediğimi unutmayın:
<shadow>:~ $ sudo sysctl -w kern.maxfiles=20480
kern.maxfiles: 12288 -> 20480
Ne yazık ki, bunun bir etkisi olmadı.