Nagłe, nieoczekiwane wylogowania

20

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.

mm201
źródło
> Czy może to mieć coś wspólnego z (?): Preferencje systemowe - Bezpieczeństwo i prywatność - Zaawansowanie - Wyloguj się po XXX minutach bezczynności. Wątek MacRumors
Cmag
Ta opcja jest wyłączona i nie powinna powodować rejestrowania awarii.
mm201
Używam OSx 10.10.1 na nowym 5-dniowym MacBooku Pro 13 cali i mam dokładnie ten sam problem. Może po prostu działać i nagle wszystkie moje aplikacje zostają zamknięte i jestem wylogowany. Jest to bardzo denerwujący i wyraźnie błąd OSX. Oto powiązany wątek, więc nie jesteś sam na temat tego problemu. forums.macrumors.com/showthread.php?t=1770330
Miałem to dzisiaj na moim Macbooku Pro. Jeśli kiedykolwiek zabiłeś WindowServer z wiersza poleceń, to dokładnie tak wygląda. Podejrzewam więc, że z jakiegoś powodu awaria WidowServer zawiesza się, co zabierze cię bezpośrednio do okna logowania bez przechodzenia ... edytuj .. (co widzę, już zauważyłeś .. doh)
markhunte
1
Cierpię również na ten problem. Czy ktoś próbował wersji 10.10.2 beta, jeśli ten problem nadal występuje? @joelittlejohn: Mogę potwierdzić, że jest to w jakiś sposób związane z ekranem podłączonym przez HDMI. W biurze, w którym korzystam z wyświetlacza Thunderbolt, nigdy nie miałem tego problemu. Jednak w domu, gdzie używam wyświetlacza podłączonego przez HDMI, zdarza się to dość często, zwykle krótko po podłączeniu ekranu.
aaronk6

Odpowiedzi:

16

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:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread

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:

color_space_get_md5_digest + 57
color_space_get_identifier + 9
CGXColorSpaceRegistryCopyRegisteredColorSpace + 42
_CGXCopyColorSpace + 27
_XCopyColorSpace + 57

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:

Header message digest (MD5) is not correct. Fixed.

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 :)

John Keates
źródło
OSX automatycznie usunął stare, zanim zacząłem unikać ekranu logowania. Ten z dnia dzisiejszego jest rzeczywiście awarią 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.
mm201
+1 już, fajna odpowiedź. Oto moja ostatnia awaria: pastebin.com/raw.php?i=g9qWyfu2 Moja maszyna była bezczynna przez chwilę (10 minut?), Kiedy wróciłem i zalogowałem się (o 12:26) zauważyłem, że wszystkie moje aplikacje były ponowne uruchomienie.
joelittlejohn
I dziennik awarii: pastebin.com/raw.php?i=WMVLjy6A
joelittlejohn
1
Cóż, joelittlejohn, twoja instalacja wydaje się być poważnie zniekształcona! Tyle problemów w twoim systemie! Wygląda na to, że odzyskuje większość z nich, ale może nadszedł czas, aby zrobić nową instalację i zaktualizować wszystko ... Jeśli chodzi o awarię: WindowServer rzeczywiście się zawiesił, ale z innego powodu. Próbował odczytać plik pamięci podręcznej przestrzeni kolorów i zrobił to z powodu nowego połączenia programu i zawiesił się podczas odpowiedzi na żądanie połączenia. Uruchom pierwszą pomoc ColorSync, wyczyść wszystkie pamięci podręczne i sprawdź Emacsa, była to ostatnia rozmowa z WindowServer. Ponadto: sprawdź kable wyświetlacza.
John Keates
3

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: 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ą:

defaults write org.herf.Flux disableProfile 1

Następnie usuwane są profile.

niebezpieczne. fasola
źródło
2

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.

Arne
źródło
Czy nadal masz ten problem w 10.10.2?
aaronk6
Trudno mi się rozmnażać. Jeśli to powtórzę, postaram się zgłosić tutaj.
Arne
Mam wrażenie, że 10.10.2 naprawiło przyczynę. Nigdy nie możemy być pewni, które (jeśli w ogóle) obejścia faktycznie działały.
mm201
0

Spróbuj zresetować SMC i NVRAM, gdy drugi monitor jest podłączony.

  • Zresetuj SMC

Wyłącz komputer, naciśnij jednocześnie lewy Alt, Control, Shift i przycisk zasilania, przytrzymaj go przez około 5 sekund.

  • Zresetuj NVRAM

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.

Wyświetlana nazwa
źródło
Obawiam się, że to nie jest realne rozwiązanie. Nie mogę ponownie uruchomić maszyny wiele razy za każdym razem, gdy muszę przejść na inny wyświetlacz zewnętrzny.
joelittlejohn
Nie musisz tego robić za każdym razem.
DisplayName
jak widzę, w takim przypadku tak, próbowałem tego wiele razy i to nie rozwiązuje problemu. Najlepsze, co udało mi się osiągnąć, to odłączenie monitora, a następnie zresetowanie SMC i VRAM. Wydaje się, że to rozwiązuje problem, ale wymuszone wylogowanie powraca, gdy zaczynam korzystać z zewnętrznych wyświetlaczy, niezależnie od tego, czy resetuję, czy nie.
joelittlejohn
Wygląda na to, że zadziałało dla mnie. Z drugiej strony, robię instalacje aktualizacji od Lion'a, więc uszkodzenie wydaje się prawdopodobne.
mm201
Fałszywy alarm. Właśnie miałem kolejny po 2 dniach. Losowość jest bardzo frustrująca.
mm201
0

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.

Juhana
źródło
Moja awaria była związana z profilami kolorów i ostatecznie została naprawiona przez Apple. Mam nadzieję, że ta odpowiedź przyda się komuś innemu.
mm201