Bugs: Difference between revisions

From KVM
No edit summary
No edit summary
Line 19: Line 19:


In case qemu-kvm exits with SIGSEGV (Segmentation fault) or SIGBUS (Bus error), please make sure ulimit is configured so that a core file can be generated (ulimit -a to report, ulimit -c unlimited to allow unlimited size core files). Then get a backtrace of the error with
In case qemu-kvm exits with SIGSEGV (Segmentation fault) or SIGBUS (Bus error), please make sure ulimit is configured so that a core file can be generated (ulimit -a to report, ulimit -c unlimited to allow unlimited size core files). Then get a backtrace of the error with
(gdb) info threads
And for every thread present do:
(gdb) thread n
(gdb) bt
Attach the output to the bug report.


== Getting a serial console from the guest ==
== Getting a serial console from the guest ==

Revision as of 16:05, 13 April 2009

Bugs

You can submit bug reports either through the sourceforge bug tracker or directly to the [mailto: kvm@vger.kernel.org mailing list] (no need to subscribe). Bugs submitted through the bug tracker show up on the list as well.

Submitting a bug report

When submitting a bug report, make sure to provide the following information:

  • what cpu model (examples: Intel Core Duo, Intel Core 2 Duo, AMD Opteron 2210). See /proc/cpuinfo if you're not sure.
  • what kvm version you are using. If you're using git directly, provide the output of 'git describe'.
  • the host kernel version
  • what host kernel arch you are using (i386 or x86_64)
  • what guest you are using, including OS type (Linux, Windows, Solaris, etc.), bitness (32 or 64), kernel version
  • the qemu command line you are using to start the guest
  • whether the problem goes away if using the -no-kvm-irqchip or -no-kvm-pit switch.
  • whether the problem also appears with the -no-kvm switch.

Please use the latest release version of kvm at the time you submit the bug. Even if you use kvm from a distribution (Ubuntu starting from Feisty or Fedora starting from 7), it is important to use the latest sources.

In case qemu-kvm exits with SIGSEGV (Segmentation fault) or SIGBUS (Bus error), please make sure ulimit is configured so that a core file can be generated (ulimit -a to report, ulimit -c unlimited to allow unlimited size core files). Then get a backtrace of the error with

(gdb) info threads

And for every thread present do:

(gdb) thread n

(gdb) bt

Attach the output to the bug report.

Getting a serial console from the guest

If a guest crashes on boot, it is sometimes useful to have its console output. This can be done using qemu's -serial option to emulate a serial port:

qemu-system-x86_64 -serial file:serial.log


Depending on the guest OS you will need to do some additional changes to instruct it to use the serial port as a console as shown below :

Linux

Change the guest kernel's command line (in the GRUB or LILO menu) to include the string

console=ttyS0,115200


If after a crash, there is still no output in the serial.log file and the guest kernel was configured touse a serial console; chances are that the crash was too early in the process to have the console initialized and then the following kernel command line should be used additionally (only to be used as a last resort as it interacts badly with the console boot parameter)

earlyprintk=serial,ttyS0,115200


OpenSolaris

Change the guest kernel's entry in the GRUB menu to include the string

-B console=ttya


if there is already a -B option just add the console parameter to it after a comma "," and beware that since this will redirect the console to the file you'll need to tail the serial.log file to see it boot asthere will be no output in the SDL console and you won't be able to interact with it through the keyboard.