Wiadomo już, co Windows tak naprawdę robi, gdy "szuka rozwiązania" po wysypaniu się programu

Wiadomo już, co Windows tak naprawdę robi, gdy "szuka rozwiązania" po wysypaniu się programu

Autor: Krzysztof Sulikowski

Opublikowano: 8/14/2019, 10:45 PM

Liczba odsłon: 6712

Ze świecą szukać użytkownika Windows, który nigdy nie zobaczył komunikatu błędu "Program przestał działać. Trwa wyszukiwanie rozwiązania problemu przez system Windows". Chyba niespecjalnie wielu doczekało się też w końcu tego rozwiązania... Bo na co tak właściwie czekamy? Co konkretnie dzieje się, gdy aplikacja się wysypie, a Windows wyświetla informujące nas o tym okienko dialogowe? Po wielu latach zagadka została rozwiązana!

Żarty żartami, ale rzeczywiście nieefektywność tego zaimplementowanego w Windows rozwiązania skłania do rozważań, czy aby ten komunikat i wyświetlana na nim animacja nie są tylko placeholderami pozbawionymi funkcjonalności. Czy stoi za tym jakiś działający mechanizm? Okazuje się, że tak. O tym, jak on działa, opowiedział Mark Phaedrus, inżynier oprogramowania odpowiedzialny za agenta Windows Update. Mechanizm raportowania błędów w Windows działa w uproszczeniu tak:

  1. Program się wysypuje.
  2. Do gry wchodzi Windows Error Reporting. Przechwytuje on kluczowe informacje o tym, co program robił, gdy doszło do jego wysypania.
  3. Używa on tych informacji, by stworzyć "bucket signature", czyli rodzaj sygnatury, która pozwala krótko zidentyfikować crash. Programista nie może powiedzieć, co spowodowało crash, patrząc tylko na tę sygnaturę, ale jeśli dwa lub więcej crashy posiada taką samą sygnaturę, to najprawdopodobniej wywołała je ta sama rzecz.
  4. Zakładając, że nasze ustawienia prywatności na to zezwalają, mechanizm raportowania błędów wysyła "bucket signature" do Microsoftu.
  5. W tym momencie wydarza się jedna z trzech rzeczy:
    • Może być tak, że nikt w Microsoft nie przyglądał się temu konkretnemu problemowi. W takim przypadku serwer Microsoftu po prostu odnotowuje, że wystąpił crash z taką sygnaturą. Nic więcej się nie dzieje.
    • Jeśli miało miejsce więcej crashy z taką samą sygnaturą, bug jest automatycznie generowany i przypisany do dewelopera. Prawdopodobnie będzie on potrzebował więcej informacji, by go naprawić. Przykładowo, jeśli bug występuje w Windows Update i został on przypisany Markowi Phaedrusowi, może on powiedzieć: "Potrzebuję plików logów Windows Update i zawartości dotyczącej Windows Update z rejestru kilku maszyn. Pięć by wystarczyło." Następnie, gdy dojdzie do kolejnych pięciu crashy z tą samą sygnaturą, system raportowania błędów powie: "Hej, kliencki PC, proszę, zbierz te logi i info z rejestru". Zakładając, że ustawienia prywatności na to zezwalają, informacje te zostaną przesłane do Microsoftu i Mark je przejrzy, jednym okiem stale patrząc na okienko, które przypomina mu, że jeśli użyje tych danych niewłaściwie, może stracić pracę. Użytkownik końcowy nadal nie zobaczy na końcu żadnego rozwiązania, ale przy odrobinie szczęścia Microsoftowi udało się zdobyć informacje, by móc poprawić ten bug.
    • Jeśli znaleziono rozwiązanie tego problemu i jest to rodzaj poprawki, która nie może być ogarnięta przez zwykłe zainstalowanie ostatniej łatki Windows, serwer raportowania błędów wyśle informację zwrotną do PC, w której (w zależności od natury problemu i poprawki) albo problem zostanie natychmiast rozwiązany, albo użytkownik otrzyma powiadomienie mówiące: "Hej, powinieneś zrobić X, aby rozwiązać ten problem". Jest to wprawdzie bardzo rzadkie, ale faktycznie się zdarza.

Wniosek z tego taki, że jeśli użytkownicy nie zgłaszają informacji o błędzie, Microsoft może nigdy nie dowiedzieć się, jak często on występuje, przez co poprawka może ukazać się z dużym opóźnieniem albo nie ukazać się wcale. Oczywiście każdy sam ustala, na ile telemetrii zezwala systemowi Windows.

Mając na uwadze zapewnienia, że ostatnia z wymienionych ścieżek naprawdę się przydarza (choć bardzo rzadko), mamy pytanie do Was: czy kiedykolwiek Windows wyszukał dla Was rozwiązanie po wysypaniu się aplikacji? Jeśli tak, to w jakiej aplikacji miało to miejsce? Dajcie nam znać w komentarzach!

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia