Obsah |
Získanie účtu v Trac Vytvorenie hlásenia o chybe Chyby aplikácií Chyby serverov Chyby jadra Kernel Debugging Land - KDL Syslog Výstup ladenia na obrazovku Chyby hardvéru/ovládačov Čo ďalej? |
Nahlasovanie chýb
Keďže je nemožné, aby naši vývojári otestovali každú kombináciu hardvéru či každý možný spôsob interakcie s operačným systémom, spoliehame sa na našich používateľov, aby nám poslali spätnú väzbu ako veci fungujú u nich. Keďže Haiku je stále relatívne mladé, je veľmi pravdepodobné, že narazíte na chyby. ďakujeme vám za čas, ktorý venujete ich nahláseniu. Spolu môžeme Haiku vylepšovať, trochu po troche.
Aby bol náš nástroj na sledovanie chýb fungoval efektívne, je nevyhnutné dodržiavať Etiketu nástroja na sledovanie chýb.
Získanie účtu v Trac
Aby ste mohli založiť hlásenie, musíte mať účet v Nástroji na sledovanie chýb Haiku.
Pri vytváraní účtu určite poskytnite vašu emailovú adresu, pretože je potrebné získať základné oprávnenia na zmenu hlásení. Určite sa krátko potom pozrite aj do spamového priečinka, pretože dôležité overovacie emaily tam často skončia.
Vytvorenie hlásenia o chybe
Pred nahlásením chyby sa prosím uisitite, že už nebola nahlásená. Tiež na to môžete použiť funkciu hľadanie.
Potom, ako ste sa uistili, že chyba je jedinečná, uveďte čo najpresnejšie vaše informácie:
Pokúste sa reprodukovať problém v aktuálnej revízii Haiku. Sú pripravené obrazy na testovacie účely.
iveďte základné infomrácie o tom ako testujete Haiku (na skutočnom hardvéri, vo VMWare, v QEMU atď.).
Mention which revision you are running. You can find this information in
from the Deskbar menu. Also mention what kind of Haiku build you are testing (x86_gcc2, x86_64). The downloadable images are named accordingly, for a self-built image you should know how you built it.Popíšte váš problém. Skúste byč čo najpresnejší: popíšte správanie, ktoré ste očakávali a správanie, ktoré ste dostali.
Popíšte kroky, ktoré je potrebné vykonať na vyvolanie chyby. To pomôže vývojárom chybu reprodukovať.
Priložte všetky informácie,ktoré máte k dispozícii. Ak je to chyba používateľského rozhrania alebo chyba v niektorej z aplikácií, skúste urobiť snímku obrazovky stlačením klávesu Print Screen.
Chyby aplikácií
When an application crashed, you can either save a report or write a core file (both saved to the Desktop) that you can attach to a bugreport, or you can evoke the Debugger.
If it's not a crashing bug, you may get useful information when starting the application from Terminal. Some applications provide logging and other options when started with certain parameters; try -h or --help to see if that is the case. As example, see the different logging levels of HaikuDepot.
Chyby serverov
When vital servers like the app server, the registrar or the input server crash, you won't see the usual crash alert. Instead the whole screen will be cleared white and the Debugger will be started in text-mode, its output appearing directly on screen. Likely you will still be able to move the mouse, which will overwrite the white and Debugger output on screen. Applications still running (like ProcessController or the clock in the Deskbar) might also draw over the debugger output on screen.
Besides everything being more ugly and inconvenient, basically the same applies as for application bugs. Most importantly procure a back trace (bt command). You may need to take a picture of the screen with a digital camera, since you won't be able to copy the text anywhere.
Depending on what exactly crashed, you can try to save a crash report on the Desktop with save-report or write-core for a core file, and then press the power button once to try shutting cleanly down. If the power button doesn't work, there are also the commands shutdown and reboot.
Chyby jadra
Chyby jadra sú zvyčajne tie, ktoré majú najzávažnejší vplyv a zároveň sa najťažšie ladia. Existujú rôzne druhy symptómov, ktoré pravdepodobne naznačujú problém s jadrom alebo ovládačom:
Systém svojvoľne vstúpi KDL (kernel debugging land). Horná časť obrazovky sa vyčistí do biela a vypíše sa na ňu niekoľko riadkov textu. Druhý riadok bude obsahovať „Welcome to Kernel Debugging Land...“ a ten nad ním bude obsahovať okamžitý dôvod, prečo bolo vyvolané KDL.
Systém sa spontánne reštartuje.
Systém kompletne zamrzne. Nemôžete hýbať myšou a žiadna aplikácia nič nevykresľuje. Dôležitý test v tejto situácii je, či ešte môžete vyvolať KDL klávesovou skratkou ALT SysReq D (SysReq je na väčšine klávesníc PRINT). Počkajte aspoň minútu, aby ste uvideli, či sa niečo stane.
Systém nenaštartuje korektne. Môže spontánne naštartovať alebo v niektorom bode zastaviť (napr. na niektorej ikone štartovacej obrazovky). V druhom prípade tiež skúste ALT SysReq D.
Celý systém alebo niektorá časť hardvéru sa nespráva korektne. Napríklad môže byť veľmi pomalý, vyskytnú sa chyby alebo niečo vôbec nefunguje. Ak nejaký hardvér vôbec nefunguje, prvá vec, ktorú treba skontrolovať je, či ho momentálne Haiku vôbec podporuje (napr. spýtať sa v poštovej konferencii alebo na fóre).
Pamätajte, že hoci iba posledný bod indikuje súvislosť s hardvérom, všetky ostatné symptómy môžu byť spôsobené aj chybou v ovládači hardvéru. Ak máte podozrenie, ktorá časť hardvéru alebo zodpovedajúci ovládač môže súvisieť s problémom, skontrolujte, či odstránenie alebo vypnutie hardvéru či ovládača pomôže. Napríklad ak podozrievate Wi-Fi, možno zistíte, že váš BIOS umožňuje ju vypnúť. Alebo ak nie, môžete odstrániť príslušný ovládač Wi-Fi z vašej inštalácie Haiku (pozri Zavádzač systému).
Kernel Debugging Land - KDL
If the system hasn't entered KDL by itself, you can do that intentionally by invoking the keyboard shortcut ALT SysReq D (SysReq being the Print key, normally).
Note that in KDL your keyboard may not work. PS/2 keyboards always do, with USB keyboards it depends on the type of USB controller (UHCI/EHCI). Generally, the keyboard should be plugged into the port directly, not via any hubs. In some circumstances, the keyboard only works if one has entered KDL via the keyboard shortcut at least once. USB OHCI is not supported at the moment.
Samotné KDL je istým druhom shellu. Môžete vykonávať príkazy, ktoré vypisujú informácie o systéme. Nasledovné príkazy môžu byť zaujímavé:
bt (aka sc) | Prints a back trace (aka stack crawl). If the system entered KDL on its on volition, a back trace is normally printed automatically. Enter the command if that didn't happen or part of it is obscured (e.g. when the stack trace is so long that it wrapped around) and your only way of providing the information to developers is by taking a picture of the screen. | |
ints | Zobrazí ošetrené a neošetrené hardvérové prerušenia. | |
co (resp. continue) | Opustí ladenie jadra a pokračuje v normálnej prevádzke systému ak je to možné. | |
reboot | Okamžite reštartuje systém. Stratíte všetky neuložené dáta a aj tie, ktoré už boli uložené, ale zatiaľ neboli zapísané na disk. |
Ďalšie informácie nájdete v článku Welcome to Kernel Debugging Land.
Výstup KDL sa zapisuje na sériový port (ak ho máte a ak máte príslušný kábel na pripojenie druhého počítača, môžete prostredníctvom neho zachytiť výstup pomocou terminálového programu) a do syslogu. Ak nemôžete opustiť KDL, nezapíše však sa do súboru syslog. Existuje voľba zavádzača systému, ktorá vám umožňuje zachytiť ho napriek tomu (pozri nižšie).
Môžete vygenerovať QR kódy z výstupu KDL, ktoré je možné previesť na text pomocou smartfónu alebo podobných zariadení. V príspevku na blogu QR Encode your KDL Output nájdete informácie o tom, ako získať dáta z KDL pomocou tejto funkcie.
Syslog
Toto je preferovaný spôsob ako získať informácie zo systému, ktorý nejde naštartovať.
Syslog (skratka system log) obsahuje cenné informácie o tom, čo sa na vašom systéme stalo vrátane výstupu ladenia KDL. Zvyčajne je dobrý nápad pripojiť ho k súvisiacemu hláseniu v systéme Trac. Syslog sa zapisuje do súboru /boot/system/var/log/syslog. Pretože zapisovanie do súbory vyžaduje, aby bol systém funkčný, je možné, že posledný výstup po výskyte problému s jadrom sa do syslogu už nedostal (obzvlášť pri samovoľných reštartoch alebo reláciách KDL, v ktorých nemožno pokračovať).
The option /boot/system/var/log/previous_syslog.
If you're not able to boot to get to the previous_syslog, you have to enter the boot loader menu by holding down SHIFT (or SPACE when booting via UEFI) while booting.
In the boot loader's you should find the entries and . The former displays the syslog on screen, the latter allows you to save it as a file to disk. Note that at the moment only FAT32 volumes are supported for saving the file. If you want to use a USB stick, but have plugged it in too late so that it isn't recognized yet, you can reset the machine and re-enter the boot loader menu. Note: Don't accidentally boot any operating system or the data will be lost.
Výstup ladenia na obrazovku
The on-screen debug output is useful only for debugging very specific issues and is known to have (timing) issues. Don't use it, if you don't have to.
This is only relevant when Haiku fails to boot on your machine and the option doesn't work for some reason. Before the Haiku boot logo appears, hold SHIFT (or SPACE when booting via UEFI) to enter the boot loader menu. Select . Near the bottom, will be listed. (Note: The other options could be enabled in an attempt to boot Haiku. If Haiku will boot only when one or more options are activated, be sure to mention which ones.)
Finally select and then .
One or more pages of text will display on the screen, only the last few lines need to be included on your ticket. There's more information on the Boot Loader.
Chyby hardvéru/ovládačov
Ak sa potýkate s chybou súvisiacou s hardvérom alebo ovládačom, mali by ste k hláseniu priložiť nasledovné informácie vo forme textových súborov:
- listdev | Podrobný výpis vášho hardvéru vrátane dodávateľa a PCI ID, podobný ako lshw a lspci v Linuxe. | |
- listusb -v | Za predpokladu, že sa problém týka USB, je podobný ako lsusb. | |
- open /var/log/syslog | The primary system log used by Haiku, see Syslog above, akin to on screen debugging during boot. With the open command you can crop down the relevant part of the syslog in a text editor. | |
- listimage | grep drivers/ | Vypíše všetky použité ovládače. | |
- usb_hid_report | In case of USB input devices, add the /tmp/usb_hid_report_descriptor_*.bin file. | |
- ints | Dostupné iba v rámci (KDL) Kernel Debugging Land (pozri vyššie). Zobrazuje použitie prerušení. Nemalo by sa vyskytovať mnoho takých, ktoré používajú viaceré zariadenia. | |
- On screen debug output (a debug boot time option, see above). |
Prvé štyri príkazy sú zadané do Terminálu. Keď za príkaz pridáte > output.txt, výstup sa zapíše do textového súboru s názvom „output.txt“, ktorý môžete priložiť k vášmu hláseniu chyby alebo emailu.
Čo ďalej?
After the bug has been reported, a developer will look at your bug and try to classify it. Remember, we are all volunteers, and as such, sometimes a bug report might go unanswered for a while. Adding new information when it becomes available usually helps getting a bug picked up quicker, but do not try to 'bump' the bug up by adding non-descriptive comments.
Remember, reporting a bug is not something you spend a little time on and then you are done. If you reported a bug, then you are part of the Haiku development process. Developers might come up with questions while they are trying to fix your bug. Please stay around to answer these. Consider your participation 'done' when the bug is marked as 'fixed'.