4 | | 1. Attempt to reproduce your issue on the current revision of Haiku. Pre-built images for testing purposes are [http://haiku-files.org/ available] |
5 | | 1. Include basic information such as how you are testing Haiku (on real hardware, on VMWare, on QEMU, etc.),. |
6 | | 1. Mention which revision from SVN you are running. You can find this out in the 'About Haiku' application, in the Deskbar menu. |
| 4 | 1. Attempt to '''reproduce your issue''' on the current revision of Haiku. Pre-built images for testing purposes are [http://haiku-files.org/ available]. |
| 5 | 1. Include basic information such as how you are testing Haiku (on real hardware, on VMWare, on QEMU, etc.). |
| 6 | 1. Mention which '''revision from SVN''' you are running. You can find this out in the 'About Haiku' application, in the Deskbar menu. Also mention what '''kind of Haiku build''' you are testing (gcc2, gcc4, gcc2hybrid, gcc4hybrid). The downloadable images are named accordingly, for a self-built image you should know how you built it. |
22 | | == Hardware Bugs == |
23 | | For the hardware related issues, it is preferred to always create a new ticket. In the ticket, be sure to include the following, preferably as text attachments. |
| 24 | == Server Bugs == |
| 25 | |
| 26 | 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 a gdb session will be started, its output appearing directly on screen. Likely you will still be able to move the mouse, which will overwrite the white and gdb output on screen. Applications still running (like ProcessController or the clock in the Deskbar) might also draw over the debugger output on screen. Save for everything being more ugly and inconvenient basically the same applies as for [#ApplicationBugs 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. |
| 27 | |
| 28 | == Kernel Bugs == |
| 29 | |
| 30 | Kernel bugs are usual the ones with the most severe effects while at the same time being the hardest to debug. There are different kinds of symptoms, which most likely point to a kernel or driver issue: |
| 31 | * The system enters kernel debugging land (KDL) on its own volition. The upper part of the screen is cleared white and several lines of text are printed on it. The second line says "Welcome to Kernel Debugging Land...", the one above it states the immediate reason for entering KDL. |
| 32 | * The system reboots spontaneously. |
| 33 | * The system freezes completely. You can't move the mouse and no application draws anything anymore. An important test in that situation is, whether you still can enter KDL via the shortcut ''Alt-Sysreq-D''. Wait at least a minute to see, if anything happens. |
| 34 | * The system doesn't boot up correctly. It may reboot spontaneously or stop at some point (e.g. at some icon of boot screen). In the latter case also try ''Alt-Sysreq-D''. |
| 35 | * The whole system or some piece of hardware doesn't behave correctly. E.g. it could be very slow, errors occur, or something doesn't work at all. If some hardware doesn't work at all, the first obvious check is whether Haiku supports it at all at the moment (e.g. ask on a mailing list or a forum). |
| 36 | |
| 37 | Note that while only the last point seems to indicate hardware relation, all the other symptoms could be caused by a bug in a hardware driver as well. If you have a suspicion what piece of hardware or corresponding driver might have to do with the problem, check whether removing/disabling the hardware or the driver makes a difference. E.g. if you suspect Wifi you may find that your BIOS has an option to disable it. Or if not, you could remove the responsible Wifi driver from your Haiku installation (in /system/add-ons/kernel/drivers/bin). |
| 38 | |
| 39 | === Kernel Debugging Land === |
| 40 | Unless the system entered KDL by itself, you can normally do that by invoking the keyboard shortcut ''Alt-SysReq-D''. Note that in KDL your keyboard may not work. PS/2 keyboards always do, USB keyboards connected via UHCI controllers do only, if one has entered KDL via the keyboard shortcut at least once. USB OHCI is not supported at the moment. |
| 41 | |
| 42 | KDL itself is a kind of a shell. One can execute commands that print information about the system. The following commands might be of interest: |
| 43 | * `bt` (aka `sc`): Prints a back trace. If the system entered KDL on its on volition, always enter that one. |
| 44 | * `ints`: This will show the handled and unhandled hardware interrupts. |
| 45 | * `co` (aka `continue`): Leaves the kernel debugger and continues normal operation of the system, if that is possible. |
| 46 | * `reboot`: Reboots the system immediately. You will lose all unsaved data and even those that have been saved, but have not yet been written back to disk. |
| 47 | For more information, see this article: [http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land Welcome to Kernel Debugging Land] |
| 48 | |
| 49 | The KDL output is written to the serial port (if you have one, a respective cable, and a second computer to connect with, you can capture the output there via a terminal program) and to the syslog. If you can't leave KDL it won't be written to the syslog file, though. There's a boot loader debug option that allows you to capture it nonetheless. |
| 50 | |
| 51 | === Syslog === |
| 52 | The syslog (short for system log) contains valuable information about what has happened in your system, including the output of KDL sessions. It's usually a good idea to attach it to the kernel related Trac ticket. The syslog is written to the file `/var/log/syslog`. Since writing to a file requires a working system, the most recent output might not have made it to the syslog when a kernel problem occurs (particularly on spontaneous reboots or uncontinuable KDL sessions). |
| 53 | |
| 54 | The option ''Enable debug syslog'' in the boot loader's ''Debug menu'' makes the syslog somewhat persistent in memory. By default the option is enabled. "Somewhat persistent" means that it survives a reset and will still be accessible when you enter the boot loader menu directly afterwards. Booting an operating system (Haiku definitely, others likely) destroys the information, though. So you have to enter the boot loader menu, e.g. by holding down the `Shift` key. In the boot loader's ''Debug menu'' you should now find the entries ''Display syslog from previous session'' and ''Save syslog from previous session''. 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 writing the file to. 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. But again: Don't accidentally boot any operating system or the data will be lost. |
| 55 | |
| 56 | === On Screen Debug Output === |
| 57 | This is only relevant when Haiku fails to boot on your machine and the "Debug syslog option" doesn't work for some reason. Before the Haiku boot logo appears, press the `Shift` key to enter the boot loader menu. Select ''Select safe mode options''. Near the bottom, ''[ ] Enable on screen debug output'' 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 ''Return to main menu'' and then ''continue booting''. One or more pages of text will display on the screen, only the last few lines need to be included on your ticket. For more information on the [http://www.haiku-os.org/docs/userguide/en/bootloader.html Boot Loader]. |
| 58 | |
| 59 | === Hardware Issues === |
| 60 | For hardware related issues, it is preferred to always create a new ticket. In the ticket, be sure to include the following, preferably as text attachments. |
29 | | * On screen debug output (a safe mode boot time option) |
30 | | |
31 | | === Kernel Debugging Land === |
32 | | Enter the kernel debugger by invoking ''Alt-SysReq-D''. |
33 | | Then the `ints` command will output information about handled and unhandled interrupts . |
34 | | You can get out of the kernel debugger back into a usable system by typing `co` (for `continue`). |
35 | | For more information, see this article: [http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land Welcome to Kernel Debugging Land] |
36 | | |
37 | | === On Screen Debug Output === |
38 | | This is only relevant when Haiku fails to boot on your machine. Before the Haiku boot logo appears, press the space bar. This will display a text menu. Select ''Select safe mode options''. Near the bottom, ''[ ] Enable on screen debug output'' 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 ''Return to main menu'' and then ''continue booting''. One or more pages of text will display on the screen, only the last few lines need to be included on your ticket. For more information on the [http://www.haiku-os.org/docs/userguide/en/bootloader.html Boot Loader] |
39 | | |
| 66 | * On screen debug output (a safe mode boot time option). |