Czasami Yosemite losowo mnie wyloguje bez ostrzeżenia lub szansy na oszczędność pracy. Do tej pory zdarzyło się to dwa razy, odkąd zainstalowałem Yosemite na moim Retina MacBook Pro 2012. Nie trzeba dodawać, że jest to bardzo denerwujące i przypomina aktywność szkodliwego oprogramowania.
Z pomocą Google i przeszukiwania dzienników zdarzeń prześledziłem problem aż do awarii serwera okien. Raport o awarii można znaleźć tutaj: http://puu.sh/csTor/0012220497.crash
Czy mogę coś zrobić, aby to się nie powtórzyło?
Aktualizacja: Wygląda na to, że wyzwala go dodatkowy monitor. Dell U2412 przez HDMI. Wydaje mi się również, że jestem w stanie zapobiec awarii, unikając ekranu logowania, gdy monitor jest podłączony.
Odpowiedzi:
Nie ma sensu próbować niejasnych rozwiązań typu „złap wszystko”, takich jak czyszczenie pamięci NVRAM i kontrolerów systemowych. Problemem jest SIGSEGV lub błąd segmentacji w WindowServer. Jest to prawdopodobnie spowodowane uszkodzonymi identyfikatorami. Te identyfikatory są przechowywane w wielu miejscach, a jeśli wystarczająco dużo ulegnie uszkodzeniu, dostaniesz awarie. Podczas gdy niektóre identyfikatory są przechowywane w pamięci NVRAM (lub PRAM), wyczyszczenie tego zwykle opóźnia tylko kolejną awarię, ponieważ identyfikator ostatecznie się tam ponownie znajduje.
Jeśli WindowServer ulegnie awarii, wszystkie aplikacje GUI zatrzymają się i uruchomi się ponownie po uruchomieniu. Po uruchomieniu WindowServer najpierw wyświetla okno logowania. W rzeczywistości nie wylogowujesz się, ale cała sesja graficzna po prostu ulega awarii.
Po zerknięciu na raport o awarii wydaje się, że ten wątek ulega awarii:
Ostatnie kilka wywołań dotyczyło funkcji (lub metod) przestrzeni kolorów, co doprowadziło mnie do wniosku, że po prostu masz do czynienia z uszkodzonym profilem ICC.
Środki pieniężne mieszczą się w com.apple.CoreGraphics, a najnowsze połączenia to:
Teraz, jeśli mam rację, próbuje obliczyć skrót MD5 przestrzeni kolorów. Robi to, ponieważ chce znaleźć identyfikator przestrzeni kolorów i potrzebuje tego identyfikatora, ponieważ CGXColorSpaceRegistryCopyRegisteredColorSpace potrzebuje danych przestrzeni kolorów dla wstępnie ustawionego profilu kolorów monitora. Teraz, aby być w 100% źródłem tych awarii, potrzebowałbym jak największej liczby raportów o awariach, ponieważ jeśli wszystkie ulegną awarii z różnych przyczyn, nie ma to nic wspólnego z oprogramowaniem w twoim systemie, ale to więcej może to być problem sprzętowy, w którym fałszywe dane są wprowadzane do oprogramowania, które następnie próbuje coś zrobić z tymi danymi, których nie może zrobić, a zatem zostaje zrealizowane.
Prostym testem może być uruchomienie wbudowanego narzędzia Apple ColorSync Utility i naciśnięcie przycisku Napraw. Może to wydrukować coś takiego:
To miałoby sens, ponieważ uszkodzony MD5 może być przyczyną awarii. Więc spróbuj najpierw. W moim systemie to narzędzie ColorSync znajduje się w katalogu / Aplikacje / Narzędzia i myślę, że istnieje ono od każdej wersji systemu OS X. Daj mi znać, czy znalazło uszkodzone pliki ICC i czy można je naprawić. Jeśli nie (nic nie znaleziono lub nie można go naprawić), opublikuj wszelkie dzienniki awarii na WindowServer :)
źródło
color_space_get_md5_digest
. Znalazłem profil bardzo starego monitora (nie tego, który uruchamia się), w którym brakowało kilku pól, ale nie był to zły MD5, i usunąłem go.Możliwą przyczyną tego mogą być niepoprawne profile wygenerowane przez F.lux w celu zapewnienia płynnego przejścia między trybami GPU - oto przegląd tego, co robi z tymi profilami: https://justgetflux.com/news/2014/10/28/profile .html
W mojej nowej instalacji El Capitan utworzyłem te nieprawidłowe profile:
Narzędzie ColorSync Utility może być użyte do weryfikacji, usunięcia i / lub naprawy tych profili, lub przełączanie profilu strumienia można całkowicie wyłączyć za pomocą:
Następnie usuwane są profile.
źródło
To znany błąd w Apple. Podobny problem zgłosiłem w module do śledzenia błędów , który został zamknięty jako duplikat błędu # 18234875.
Niestety, te błędy nie mogą być przeglądane ani śledzone, poza reporterem. Oznacza to jednak, że Apple wie o problemie i, mam nadzieję, naprawi go w jednej z kolejnych aktualizacji OS X.
źródło
Spróbuj zresetować SMC i NVRAM, gdy drugi monitor jest podłączony.
Wyłącz komputer, naciśnij jednocześnie lewy Alt, Control, Shift i przycisk zasilania, przytrzymaj go przez około 5 sekund.
Uruchom komputer i tuż przed usłyszeniem gongu uruchamiania, naciśnij i przytrzymaj jednocześnie , alt, P i R, aż ponownie usłyszysz gong uruchamiania.
Może się tak zdarzyć, że ekran nie jest obsługiwany, - z jakiegoś powodu, jeśli nie jest obsługiwany, niestety nie naprawi tego.
źródło
Przeczytałem wiele z tych wątków i mam ten sam objaw po odłączeniu ostatniego wirtualnego monitora od komputera Mac Mini (Air Display).
Moja awaria przestała się dziać, wyłączając opcję kontroli misji „Wyświetlacze mają oddzielne spacje”. Daj mi znać, jeśli to Ci odpowiada.
źródło