Talkback - pomocník při pádu Mozilly

Jak na pády aplikací Mozilla.org
Některé informace na stránkách podpory mohou být zastaralé. Aktuální informace naleznete na serveru Mozilla.cz.

Co je Talkback?

Pokud používáte aplikace Mozilla.org déle, možná jste se setkali s jejich pádem – celá aplikace zmizela, objevilo se hlášení, že aplikace vykonala chybnou operaci a musela být ukončena. Dokážete popsat vývojářům aplikace, co se vlastně stalo a kde v kódu mají hledat problém? Nejspíš ne. Ale existuje nástroj, který to umí úplně báječně.

Talkback nebo též Mozilla Quality Feedback Agent je malý program přidaný k aplikacím Mozilla.org. Má jediný úkol – sbírat informace o dění v aplikaci v okamžiku pádu. Neděste se, nejde o žádný spyware, neshromažďuje žádné citlivé informace. Sebrané informace pomáhají vývojářům aplikací Mozilla.org rychle najít příčinu pádu a opravit ji. Odeslání informací o pádu je jednou z mnoha cest, jak se i vy můžete podílet na zlepšování kvality programů, které sami používáte.

Instalace

Talkback je součastí všech hlavních programů, které dnes Mozilla.org nabízí, naleznete jej tedy v Mozilla Suite, FirefoxuThunderbirdu pro Windows, GNU/Linux i Mac OS X. Pro potřeby tohoto článku jsme zvolili Talkback u Firefoxu na Windows.

Chceme-li ve Firefoxu používat Talkback, musíme již při instalaci zvolit Vlastní instalaci:

Výběr mezi Standardní a Vlastní instalací

Vlastní instalace se od Standardní příliš neliší. V následujícím kroku potvrďte složku pro instalaci, v kroku Výběr komponent zaškrtnete položku Agent pro oznamování chyb:

Volíme Agenta pro oznamování chyb

Zbylé kroky instalace potvrďte. Po skončení instalace máme nainstalovaný Firefox i s Talkbackem.

Nastavení Talkbacku

V okamžiku, kdy dojde k pádu aplikace Mozilla.org, objeví se úvodní dialog Talkbacku. Při prvním pádu se v několika krátkých krocích Talkback představí a zároveň budete mít možnost si jej nastavit.

Představení aplikace Talkback

První dialogové okno obsahuje jen představení Talkbacku a jelikož už víte, k čemu Talkback slouží, zvolte tlačítko Next.

Ochrana soukromí

V druhém kroku se dozvíte o ochraně vašeho soukromí: Talkback nesbírá bez vašeho vědomí e-mailové či jiné adresy, hesla ani jiná data z profilů uživatelů. Všechny odeslané informace budou použity pouze pro potřebu opravy chyb a zlepšení kvality aplikace, rozhodně nebudou poskytnuty třetí straně. Pokračujte tlačítkem Next.

Zapnutí či vypnutí aplikace Talkback

Ve třetím kroku máte možnost Talkback vypnout. Pokud si jej přejete používat, nechte volbu Turn Agent on zaškrtnutou a zvolte tlačítko Finish. Pokud máte přímé připojení k Internetu bez proxy serveru, máte Talkback nastavený a připravený hlásit problémy.

Jste-li k Internetu připojeni přes proxy, bude potřeba její adresu v Talkbacku nastavit. Spusťte Talkback (v odstavci Zjišťujeme Talkback incident ID zjistíte jak) a vyberte z nabídky Setting položku Options...

Nastavení proxy serveru pro aplikace Talkback

V otevřeném dialogu zvolte záložku proxy Server, zaškrtněte typ své proxy (obvykle HTTP) a vyplňte její IP adresu a port (oba údaje můžete zjistit z vašeho webového prohlížeče nebo u administrátora). Po uložení tlačítkem OK je Talkback správně nakonfigurován a může odeslat hlašení o pádu.

Odeslání hlášení o pádu

Po nastavení Talkbacku či při dalším pádu se objeví okno, které slouží pro samotné hlášení pádu aplikace.

Formulář pro doplnění informací o pádu a pro odeslání

V prvém políčku můžete vyplnit svoji e-mailovou adresu, ale není povinná. Pokud pád nastal při prohlížení webových stránek, vyplňte do následujícího políčka URL problematické stránky či alespoň adresu webu. V posledním, největším poli anglicky popište, co jste dělali těsně před pádem. Neovládáte-li angličtinu, můžete buď popis vynechat nebo napsat na začátku czech: a popsat vše v češtině.

Zaškrtnutím volby Automatically send incidents můžete nastavit Talkback na autopilota: bude hlášení odesílat sám, aniž by po vás chtěl jakoukoliv akci. Doporučujeme ponechat volbu nezaškrtnutou, tj. odesílat ručně.

Chcete-li mít jistotu o tom, jaké informace Talkback odesílá, můžete si je pomocí tlačítka Show Details zobrazit. Považujete-li některou z nich za důvěrnou (např. uživatelské jméno, seznam běžících procesů, počet spuštění Firefoxu či jméno počítače), můžete je z odesílaných informací vyřadit přepnutím zaškrtávátka. Zpět do předchozího dialogu se vrátíte tlačítkem Close.

Nyní je vše připraveno pro odeslání: stiskněte tlačítko Send. Talkback začne informace odesílat, stav odeslání vám ukazuje v malém okénku:

Průběh odesílání informací na server Talkbacku

Pokud Talkback úspěšně odešle informace o vašem pádu, uloží se na serveru Mozilla.org v Kalifornii k mnoha dalším. Hotovo, můžete znovu spustit Firefox, Thunderbird či Mozilla Suite a vrátit ke své práci nebo zábavě.

Zjišťujeme Talkback incident ID

Jste-li zvídavá povaha, můžete se vypravit na dobrodružnou cestu za hledáním příčiny vašeho pádu. K tomu budeme potřebovat zjistit Talkback incident ID, identifikaci pádu vaší aplikace přidělenou hlavním serverem Talkbacku. S požadavkem na Talkback incident ID se také můžete setkat při nahlášení chyby pádu aplikace do Bugzilly.

V adresáři, do kterého jste Firefox nainstalovali, otevřete podadresář extensions\talkback@mozilla.org\components a v něm spusťte program talkback.exe. Otevře se vám následující okno Talkbacku:

Aplikace Talkback

Hlavní plocha aplikace obsahuje přehled všech pádů, které Talkback zaznamenal, chronologicky řazený od nejnovějších po nejstarší incidenty. V každém řádku naleznete nejprve stav odeslání (informace o pádu ještě mohou čekat na odeslání), za ním následuje incident ID (řetězec jako TB15251987Q), čas zachycení pádu, typ pádu a komentář, který jste k pádu sami připsali.

Klepněte myší na první řádek, který odpovídá poslednímu pádu Firefoxu, a zkopírujte incident ID do schránky pomocí klávesové zkratky Ctrl+C.

Hledáme příčinu

Mozilla.org provozuje veřejný Talkback server, který vám umožní zobrazit informace o libovolném zaznamenaném pádu. Protože jde ale o službu dostupnou komukoliv, nezobrazuje žádné informace, které by bylo možné považovat za důvěrné.

Titulní stránka veřejného Talkback serveru

Na titulní straně serveru najdeme několik boxíků:

FastFind
Modrý formulář slouží k zobrazení informací o konkrétním pádu, zadává se do něj Talkback incident ID.
QuickSearch
Červený formulář slouží k opačnému postupu: na základě obecné charakteristiky umožňuje vyhledávat odpovídající skupiny zaznamenaných pádů.
Talkback Reports
Modrý boxík obsahuje odkazy na souhrnné statistiky pádů podle jednotlivých aplikací a dále podle verzí.

Protože chceme vědět více o našem pádu, zvolíme FastFind, do jehož políčka vložíme incident ID TB1944342K našeho pádu Firefoxu a formulář odešleme klávesou Enter nebo tlačítkem Go.

Server Talkbacku najde informace o našem pádu a zobrazí je v přehledné tabulce. Věnovat se budeme především řádce se signaturou zásobníku (Stack Signature), podle které vývojáři různé pády aplikací rozlišují. Signatura odpovídá obvykle jménu zdrojového souboru a jménu funkce, kde pád nastal.

V našem případě má signatura hodnotu nsFrameManager::GetPropertyListFor. Hodnota signatury je odkazem na všechna hlášení chyb v Bugzille, která mají v názvu či v některém z komentářů uvedenou naši signaturu. Bugzilla nám vrací seznam čtyř chyb, které by mohly s pádem souviset:

ID Sev Pri Plt Assignee Status Resolution Summary
232356 cri -- All general@dom.bugs NEW entering parent.close in the console crashes mozilla [@ n...
242213 min -- PC timeless@bemail.org RESO DUPL Random crash that doesn't make much sense [@ nsFrameManage...
244305 cri -- PC nobody@mozilla.org NEW top.close() crashes JS console [@ nsFrameManager::GetProp...
265790 cri -- PC danm.moz@gmail.com NEW "Force links ... to open in a new tab" can let a tab clos...

Hned první z nalezených chyb má svůj popis velmi podobný situaci, která způsobila náš pád. Po dalším prostudování detailů z jejího chybového hlášení můžeme prohlásit, že pád Firefoxu způsobila chyba 232356. Zároveň víme, že není potřeba zadávat do Bugzilly vlastní hlášení o této chybě, protože by šlo o duplicitní hlášení.


16. 11. 2004, CZilla Tým

Copyright © 2003–2006 tým CZilla
Hostováno: Český hosting