Jak přispívat do LibreOffice VIII – Nalezení a testování chyby

LO.png V následujících třech dílech se seznámíme s činností, která je pro běžného uživatele z celého seriálu nejužitečnější: s hlášením chyb. V dnešní části si představíme konkrétní příklady nepříjemných chyb, pokusíme se je objevit v už nahlášených chybách a ukážeme si, co všechno bychom měli před nahlášením vyzkoušet.  

V tomto pokračování by měli zbystřit všichni, kdo předchozí díly seriálu systematicky přeskakovali. Zatímco špatný český překlad nebo chybějící nápověda uživatele zpravidla netrápí, otravná chyba či chybějící vlastnost kancelářského balíku v lepším případě znepříjemní jeho každodenní používání, v horším může způsobit ztrátu mnoha hodin práce.

Nadávat na chyby softwaru je obvyklý a často oprávněný folklór. Méně uživatelů si je však vědomo toho, co by mělo být součástí počítačové gramotnosti: že prostým nahlášením můžeme docílit toho, že další verze programu bude chyby úspěšně zbavena. To samozřejmě platí jen v případě, že se vývojáři daného softwaru hlášeními poctivě zabývají.

LibreOffice mezi živé projekty patří a problémy se v něm řeší, přestože se vývojáři – vzhledem k množství nových hlášení – nemůžou zabývat vším. Máme však slušnou pravděpodobnost, že naše snaha nevyjde vniveč, navíc ji správným nahlášením můžeme zvýšit.

Označení „chyba“, resp. anglický výraz „bug“, bývá používáno také v širším významu, který kromě chyb v pravém slova smyslu (mezi něž patří dále uváděný příklad) zahrnuje také požadavky na nové vlastnosti. Při jejich zadávání proto postupujeme stejně jako při hlášení opravdové chyby.

Vyskytla se chyba, aneb „cosi shnilého v Calcu“

Čtenářům předchozích dílů seriálu je jasné, kam by se měl s chybou v LibreOffice obrátit uživatel nevládnoucí angličtinou: buď na zdejší fórum, jež má pro chyby programu samostatnou sekci, nebo do české uživatelské mailové konference na adrese uzivatele@cz_libreoffice_org. Vždy je potřeba uvést číslo chybné verze a postup pro zopakování chyby, případně doplňující informace popsané dále.

Například v tomto vláknu zmíněného fóra zodpovědný uživatel názorně (včetně ukázkového dokumentu) popsal chybu v chování Calcu, kterou můžeme ve verzích 4.2.0 až 4.2.4 zopakovat následovně:

  • Do buněk A1 a A2 zadáme číslo 1, do buňky B2 vzorec =SUM(A1:A2). V B2 se objeví číslo 2.
  • Do buňky C2 zadáme vzorec =B2, takže se v ní objeví také číslo 2.
  • Klepneme pravým tlačítkem do záhlaví prvního řádku a v místní nabídce vybereme „Smazat vybrané řádky“. Na místo buňky B1 se dostane suma, ta je nyní správně 1, ale v C1 překvapivě zůstává číslo 2. (Na jedničku se změní až po ručním přepočítání, například zkratkou Ctrl+Shift+F9.)

Taková chyba už dokáže zamotat hlavu nejednomu uživateli. Aby toho nebylo málo, po chvíli pokusů můžeme narazit na jinou zákeřnost (vyskytuje se ve verzích 4.2.0 až 4.3.3):

Do buňky A1 zadáme číslo 1, do B1 vzorec =A1 a do C1 vzorec =B1. V řadě máme tři jedničky.

Odstraníme sloupec A obdobně, jako jsme předtím odstranili první řádek. V sloupci A se podle očekávání zobrazí #REF!, značící, že odkazovaná buňka byla odstraněna. Ve sloupci B ale nadále zůstává jednička (a až po přepočítání se v ní ukáže správné #REF!).

Reprodukce chybného přepočítání při odstranění sloupce v Calcu Reprodukce chybného přepočítání při odstranění sloupce v Calcu

Hledání dvojníka v bugzille

Vypátrali jsme (resp. zodpovědný uživatel vypátral) v Calcu dva průšvihy, které bychom si rozhodně neměli nechat pro sebe. Jak už v tomto seriálu vícekrát zaznělo, skladištěm chyb a místem pro jejich hlášení je v případě LibreOffice bugzilla.

Bugzilla je webový systém pro hlášení, správu a sledování chyb vyvíjený společností Mozilla Foundation, slovo „bugzilla“ se ale někdy používá i jako obecné označení těchto systémů. Každá chyba má v systému přiděleno jedinečné číslo a je jí věnována samostatná stránka s popisem a komentáři.

LibreOffice využívá od 24. ledna 2015 samostatnou bugzillu spravovanou organizací The Document Foundation (TDF) na adrese bugs.documentfoundation.org. Do té doby se chyby hlásily do bugzilly na infrastruktuře freedesktop.org (bugs.freedesktop.org), která obsahuje i jiné projekty. Kvůli tomu netvoří čísla chyb LibreOffice zadaných před dnem přesunu souvislou řadu.

Pro přispívání na bugzillu TDF je nutná registrace (odkaz „New Account“ v pravé horní části).

Než začneme vyplňovat novou chybu, nesmíme zapomenout zkontrolovat, zda už stejnou chybu někdo nenahlásil dříve, jak tomu často bývá v případě vážnějších problémů (za které se naše dvě chyby dají považovat). Nejdůležitějším parametrem rozšířeného vyhledávání je pochopitelně text hledaný v názvu chyby („Summary“). Abychom výsledky příliš nezúžili, zadáme pouze slovo „recalculate“, týkající se obou problémů. Z dalšího nastavení vyhledávání zvolíme:

  • LibreOffice jako „Product“ – bugzilla je totiž určena také pro další software vydávaný The Document Foundation (knihovny projektu Document Liberation a aplikace pro dálkové ovládání prezentace),
  • kategorii „Spreadsheet“, jelikož naše chyby jsou specifické pro Calc,
  • všechny položky v oddílech „Status“ a „Resolution“ – zajímají nás jakékoliv záznamy včetně těch, které se týkají již uzavřených nebo nepotvrzených chyb.

Pokud bychom chtěli vyhledávat text nejen v názvu chyby, museli bychom jej v dolní části „Custom search“ přiřadit k položce „Content“. Vyhledávat lze ještě podle spousty dalších parametrů, které se však při obecném hledání většinou neuplatní.

Nastavení rozšířeného vyhledávání Nastavení rozšířeného vyhledávání

Na stránce s výsledky se nám vypsal rozumný počet 16 chyb (v čase vkládání chyby, aktuální výsledky se liší). Pokud jsme přihlášeni, můžeme využít šikovnou možnost zapamatovat si nastavení vyhledávání („Remember search as“), díky němuž si můžeme kdykoliv v budoucnu zobrazit aktualizované výsledky.

Výsledky vyhledávání Výsledky vyhledávání

Nadějným kandidátem se zdá být chyba nazvaná „Calc doesn’t recalculate formula automatically when deleting a row“. Z komentářů k ní zjistíme, že se skutečně jedná o námi hledaný problém. Dobrou zprávou je, že chyba již byla před vydáním řady 4.3 a pro verzi 4.2.5 opravena. Druhou chybu však ve stávajících nenalezneme a nezbývá tedy než ji nahlásit.

Postup pro zopakování chyby a doplňující údaje

I když to zní podivně, v první řadě se přesvědčíme, že chyba opravdu existuje; může se totiž jednat o výsledek momentální kombinace nejrůznějších okolností. Aby s chybou mohli správci chyb a vývojáři dále pracovat, musíme být schopni předložit postup, jehož zopakováním chybu vždy vyvoláme; příkladem jsou postupy popsané v úvodu článku.

Takový postup by měl být co nejjednodušší, neměl by tedy zahrnovat žádné kroky, bez kterých se vyvolání chyby obejde. Pokud si při něm nevystačíme s výchozím novým dokumentem, použijeme vlastní vzorový, ani tam by se však neměl nacházet s chybou nesouvisející obsah. Je asi zbytečné dodávat, že v jednom hlášení nelze kombinovat vícero chyb – každé by mělo představovat samostatný, atomický problém.

Jelikož chyba může být způsobena také aktuálním nastavením LibreOffice, je dobré se přesvědčit, zda se projevuje i s použitím čistého uživatelského profilu. Funkčnost programu mohou ovlivňovat i rozšíření. Za vyzkoušení tak stojí i možnost zakázat všechna rozšíření, a to nejen uživatelská (Nástroje › Správce rozšíření).

Uživatelský profil je adresář, v němž jsou uložena veškerá uživatelská nastavení LibreOffice, tj. nastavení hodnot v dialogových oknech, uživatelská rozšíření, vlastní šablony a podobně. Adresář se v linuxových systémech nachází v ~/.config/libreoffice, ve Windows v Users\<uzivatel>\AppData\Roaming\LibreOffice. Chceme-li vyzkoušet čistý profil, stačí adresář přejmenovat, poté si LibreOffice vytvoří nový výchozí. Abychom si vlastní nastavení zachovali, název adresáře změníme po vyzkoušení nazpět.

Klíčovým údajem je číslo verze, v níž se chyba projevuje. Uživatelé zpravidla nemají zálibu v používání různých verzí téhož programu, a v hlášení proto mohou uvést jediné číslo. Ošidné to může být v případě, že se nejedná o verzi nejnovější – chyba mohla být mezitím opravena, a to i nevědomky, takže v bugzille o tom nenajdeme záznam. Je tudíž velmi žádoucí ještě před tím, než zamíříme do bugzilly, nejnovější verzi vyzkoušet.

Myslíme-li to s hlášením chyb vážněji a nejde nám jen o jednorázové oznámení, není problém nainstalovat vedle sebe více řad LibreOffice (aktuálně například vydané řady 4.3 a 4.4 a vývojovou 4.5). Ve Windows jsou k tomu obzvlášť vhodné přenositelné verze z dílny PortableApps. S více verzemi můžeme odhalit, zda je chyba v LibreOffice od prvopočátku (od oddělení od OpenOffice.org), nebo v jaké řadě se objevila poprvé (možnost vzniku chyby mezi opravnými verzemi v rámci jedné řady je velmi malá). Jak ještě uvidíme, tato informace může ovlivnit rychlost nápravy.

Vyzkoušíme-li v různých verzích naši ukázkovou chybu v Calcu, jasně vyplyne, že se objevila spolu s řadou 4.2. Náruživého čtenáře poznámek k vydání to ani v nejmenším nepřekvapí: pro verzi 4.2 byly od základů přepracovány výpočetní vnitřnosti Calcu a tato chyba je dokladem toho, že se funkčnost nepodařilo obnovit v plné míře.

Chyba může být podmíněna i určitým operačním systémem (případně desktopovým prostředím a dalšími okolnostmi jako architekturou procesoru), a máme-li tu možnost, určitě ji pro různé systémy vyzkoušíme. Záležitosti ovlivněné lokalizací (vzpomeňme například na proslulou červnovou a červencovou chybu) je zase vhodné otestovat i pro jiné národní prostředí či jazyk uživatelského rozhraní (Nástroje › Možnosti › Jazyková nastavení › Jazyky). Naproti tomu problematický překlad je mnohem lepší nahlásit jinam než do bugzilly, podrobnosti obsahoval druhý díl tohoto seriálu.

Pokračování příště

Pokud jsme ověřili, že chybu lze jednoznačně zopakovat a dosud není v bugzille zadána, nastal čas ji tam k tisícům dalších chyb přidat. V příštím díle si na příkladu chybného přepočítávání v Calcu ukážeme, jak v bugzille vyplnit potřebné údaje a jaký může být další osud hlášení.

(Jako ve škole) Průměr: 1,00 | Hodnotilo: 1
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
EDU Trainings
Stanislav Horáček

Stanislav Horáček

OpenOffice.org jsem objevil ve verzi 1.1, posléze jsem přešel na LibreOffice. Nejvíc používám Writer, ostatní součásti spíš doplňkově. Přispívám ke tvorbě LibreOffice (česká lokalizace, drobné úpravy nápovědy), vytvářím rozšíření „České CC0 slovníky“ a jeho stránku ceskeslovniky.cz. Od roku 2014 jsem členem The Document Foundation.

 
IT Systems - předplatné
 
 
woo jaw demo hz