Hibák jelentése
Mivel a fejlesztők nem tudnak minden konfigurációt, az operációs rendszerben minden eshetőséget kipróbálni, ezért a felhasználók visszajelzésére támaszkodunk, arra, hogy náluk hogyan működnek a dolgok, milyen kimenetet kapnak. Mivel a Haiku még fiatal, ezért nagy valószínűséggel találkozol majd valamilyen hibával. Megköszönjük, ha fordítasz időt a feltárt hibák jelzésére. Együtt képesek leszünk a Haiku hiáinak javítására.
A hibakeresőnél vedd figyelembe a Bug Tracker Etiquette-ben leírtakat.
Trac azonosító létrehozása
Egy probléma jelentéséhez szükség van egy Haiku Hibakövető azonosítóra.
Új felhasználó létrehozáskor szükséges egy e-mail cím megadása. Ha regsiztráció után nem érkezik meg az ellenőrző/visszaigazoló levél, akkor ellenőrizni kell a kéretlen levelek mappáját, mert gyakran oda kerül.
Hibajelentés készítése
Mielőtt jelentesz egy hibát, előtte győződj meg, hogy még nem létezik róla jelentés. Szintén használható a kereső is.
Miután megbizonyosodtál róla, hogy a hiba egyedi, akkor azt a lehető legpontosabban, legrészletesebben le kell írni:
Próbáld meg a hibát a legújabb verzión is előidézni. Előre elkészített képfájlok is a rendelkezésre állnak.
Add meg az alapvető információkat arra vonatkozóan, hogy miként használtad a Haiku-t (például valós gépen vagy emulátoron (VMWare, QEMU), stb.).
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.Írd le a tapasztalt problémát. Próbáld meg olyan pontosan, ahogy tudod: mi és hogyan viselkedett, és mire számítottál.
Írd le, hogy milyen lépések szükségesek ahhoz, hogy a hibát meg tudjuk ismételni. Ez a lépés segít a fejlesztőknek.
Mellékelj annyi információt, amennyit csak tudsz. Ha ez a grafikus felület, vagy egy program hibája, akkor készíts egy képernyőképet a PRINT billentyű lenyomásával.
Program hibák
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.
Kiszolgáló/szolgáltatás hibák
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.
Kernel hibák
A kernel hibák a legsúlyosabbak, és ugyanakkor a legnehezebb felderíteni is azokat. Különféle eshetőségek lehetnek, melyek leginkább a kernelel vagy egy vezérlőprogramal kapcsolatos:
A rendszer saját magától belép a kernel hibakereső felületére (KDL). A képernyő felső része törlődik, fehér hátteret kap és néhány sornyi szöveg is megjelenik. A második sor a "Welcome to Kernel Debugging Land..." (üdvözöllek a kernel hibakeresőben), az e feletti sor pedig a hibakeresőbe való belépés okát adja meg.
A rendszer spontán újraindul.
A rendszer teljesen használhatatlan ("lefagy"). Nem tudod mozgatni az egeret, és a képernyőt sem frissíti semmi. Fontos megpróbálni, hogy be tudunk-e lépni a KDL-be az ALT SysReq D (a SysReq az a PRINT sok billentyűzeten) kombinációval. Várj körülbelül egy percet, hogy történik-e valami.
A rendszer nem megfelelően indul. Néha újraindul vagy megáll egy adott ponton (például egy indító képernyő egyik ikonjának felvillanásakor). Később ismét megpróbálható a ALT SysReq D kombináció.
A teljes rendszer, vagy bizonyos eszközök nem működnek megfelelően. Például nagyon lelassul vagy valami egyártalán nem működik. Ha egy eszköz nem működik, akkor elsőként azt kell kideríteni, hogy egyártalán támogatott eszközről van-e szó (például levelező listán vagy fórumon ajánlott megkérdezni).
Ne feledd, hogy csak az utolsó pont utal eszköz hibára, azonban más problémát is okozhat egy eszközvezérlő hibája. Ha gyanítod, hogy a hibát egy adott vezérlő okozza, akkor ellenőrizd le, hogy mi változik, ha az eszközt vagy a vezérlőt eltávolítod vagy letiltod. Például, ha a Wifi-re gyanakszol, akkor próbáld meg kideríteni, hogy a BIOS-ban letiltható-e. Ha nem, akkor a gyanús vezérlőt feketelistára rakhatod (további információk a Rendszertöltő fejezetben).
Kernel Debugging Land - KDL (Kernel Hibakereső Felület)
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.
A KDL egyfajta shell. Itt néhány parancsot is használhatunk. Az alábbi parancsok érdekesek lehetnek:
bt (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 | A kezelt és nem kezelt eszköz-megszakítások megjelenítése. | |
co (continue) | Ha lehetséges, akkor kilép a hibakeresőből, és folytatja a normális működést. | |
reboot | Azonnal újraindítja a rendszert. Minden nem mentett adatot elveszítesz. Azokat is, amit bár elmentettél, de még nem lett a lemezre írva. |
További információk a Welcome to Kernel Debugging Land oldalon.
A KDL kimenete a soros porta is kiküldésre kerül (márha rendelkezünk vele). Egy kábelel egy másik számítógéphez kötve a terminálból egy program segítségével megkaphatjuk a kimenetet illetve a naplót. Ha nem tudunk kilépni a KDL-ből, akkor a napló sem kerül mentésre. Ekkor egy opció is a rendelkezésünkre áll betöltéskor (további információk alább).
QR-kód létrehozására is lehetőségünk van a KDL-ből, amit felhasználhatunk például okos telefonnal. További információk a QR Encode your KDL Output oldalán.
Rendszer napló
Ez az előnyben részesített módszer egy nem indítható rendszer információinak összegyűjtésére.
A syslog (a rendszer napló rövid neve) értékes információkat tartalmaz arról, hogy mi történt a rendszerben beleértve a KDL kimenetét is. Általában jó ötlet és hasznos is a jelentéshez csatolása. A naplót a /boot/system/var/log/syslog fájl tartalmazza. Mivel a fájl írásához működő rendszerre van szükség, ezért megeshet, hogy a legújabb üzenetek nem kerülnek bele a naplóba, főként, ha kernel probléma adódik (például ha a KDL nem válaszol, nem használható).
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.
Hibakeresés a képernyőn
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.
Eszköz/vezérlő hibák
Ha eszközhibával/vezérlővel van dolgunk, akkor az alábbi információkat is ajánlott csatolni szöveges fájlként:
- listdev | Részletes lista az eszközökről/összetevőkről a pci és a gyártó azonosítójával együtt. Hasonló a Linux lshw és lspci parancsához. | |
- listusb -v | USB-vel kapcsolatos hiba esetén. Hasonló a lsusb-hez. | |
- 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/ | Az összes használt eszközvezérlő. | |
- usb_hid_report | In case of USB input devices, add the /tmp/usb_hid_report_descriptor_*.bin file. | |
- ints | Csak a Kernel Debugging Land-ben haszálatos (lásd fejjebb). A megszakítások használatát jeleníti meg. Elvileg nem lehet túl sok amit megosztva használnak az eszközök. | |
- On screen debug output (a debug boot time option, see above). |
Az elős 4 parancsot a Terminálban kell kiadni. Kiegészítve a > output.txt paraméterrel, a parancsok kimenete nem a képernyőre, hanem egy "output.txt" (kimenet) nevű fájlba kerül, amit a jelentéshez csatolhatunk vagy levélhez mellékelhetünk.
Hogyan tovább?
Miután jeleztél egy hibát, egy fejlesztő megnézi azt, és osztályozza. Ne feledd, hogy minden fejlesztő önkéntes, így néha egy jelentés megválaszolatlan marad egy ideig. Ha új információk is rendelkezésre állnak, akkor azt is a jelentéshez ajánlott csatolni, így a probléma megoldása felgyorsulhat.
Ne feledd azt sem, hogy a hiba jelentése nem csak annyiból ál, hogy jelented, és kész. Mikor jelentesz egy hibát, akkor Te is a Haiku fejlesztésének részévé válasz. A fejlesztők is tehetnek fel kérdéseket miközben próbálják kijavítani a hibát. Kérünk, hogy a válaszaiddal segítsd a munkánkat. Ha egy jelentés 'kész', akkor az 'fixed' (javított) jelölést kap.