Skip to contentSkip to conversation

VM not booting anymore after Ubuntu upgrade

DISCUSSION André Weidemann 2 participants 9 messages Aug 4, 2010 KVM

lore
Share & tools
lore
#0 lore raw

Hi,
I recently upgraded my machine from Ubuntu 9.10 to 10.4 (x86_64). Ever since I upgraded my machine I cannot get qemu-kvm to start again.

I did not install the kvm package provided by Ubuntu. Instead I pulled todays git from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git and ran ./configure && make -j6 && make install. The configure output can be found here: http://pastebin.org/447003

I am using the following command line to boot qemu-kvm:

qemu-system-x86_64 -vnc :2 -k de -m 1024 -drive file=/dev/sda,if=ide,index=0

When connecting to the VNC console I only get a black screen.

I did an strace -p $(pidof qemu-system-x86_64) and I only see those lines looping endlessly:

timer_gettime(0, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0 timer_gettime(0, {it_interval={0, 0}, it_value={0, 225694}}) = 0
select(14, [5 8 10 11 13], [], [], {1, 0}) = 1 (in [11], left {0, 999997})
read(11, "\1\0\0\0\0\0\0\0", 512) = 8
select(14, [5 8 10 11 13], [], [], {1, 0}) = 1 (in [13], left {0, 999876})
read(13, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 128) = 128 rt_sigaction(SIGALRM, NULL, {0x49f430, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f145a4c48f0}, 8) = 0
write(12, "\1\0\0\0\0\0\0\0", 8) = 8
read(13, 0x7fff5dbaa570, 128) = -1 EAGAIN (Resource temporarily unavailable)

Can anyone help me on what is going (wr)on(g) here?

Thank you in advance
André

#1 lore raw
Quoted 4 lines · André Weidemann

Hi,
I recently upgraded my machine from Ubuntu 9.10 to 10.4 (x86_64). Ever since I upgraded my machine I cannot get qemu-kvm to start again.

Quoted 8 lines

I did not install the kvm package provided by Ubuntu. Instead I pulled todays git from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git and ran ./configure && make -j6 && make install. The configure output can be found here: http://pastebin.org/447003

I am using the following command line to boot qemu-kvm:

qemu-system-x86_64 -vnc :2 -k de -m 1024 -drive file=/dev/sda,if=ide,index=0

When connecting to the VNC console I only get a black screen.

Does the monitor work? add -monitor stdio to the command line and type 'info registers' after you get the bla[nc]k screen.

Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
#2 lore raw
Quoted 12 lines · Avi Kivity
Quoted 11 lines · André Weidemann

Hi,
I recently upgraded my machine from Ubuntu 9.10 to 10.4 (x86_64). Ever since I upgraded my machine I cannot get qemu-kvm to start again.

I did not install the kvm package provided by Ubuntu. Instead I pulled todays git from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git and ran ./configure && make -j6 && make install.
The configure output can be found here: http://pastebin.org/447003

I am using the following command line to boot qemu-kvm:

Quoted 8 lines
Quoted 4 lines

qemu-system-x86_64 -vnc :2 -k de -m 1024 -drive
file=/dev/sda,if=ide,index=0

When connecting to the VNC console I only get a black screen.

Does the monitor work? add -monitor stdio to the command line and type 'info registers' after you get the bla[nc]k screen.

This is the monitor output:

QEMU 0.13.50 monitor - type 'help' for more information
(qemu) info registers
EAX=00000010 EBX=00000000 ECX=00006e82 EDX=00b81013
ESI=f2010000 EDI=000c8c00 EBP=000e8550 ESP=00006e78
EIP=0008bc2f EFL=00010086 [--S--P-] CPL=3 II=0 A20=1 SMM=0 HLT=0 ES =0000 00000000 0000ffff 0000f300
CS =0000 00000000 0000ffff 0000f300
SS =0000 00000000 0000ffff 0000f300
DS =0000 00000000 0000ffff 0000f300
FS =0000 00000000 0000ffff 0000f300
GS =0000 00000000 0000ffff 0000f300
LDT=0000 00000000 0000ffff 00008200
TR =0000 feffd000 00002088 00008b00
GDT= 000fce38 00000037
IDT= 000fdcf0 00000000
CR0=00000010 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00000000 FPR0=0000000000000000 0000 FPR1=0000000000000000 0000 FPR2=0000000000000000 0000 FPR3=0000000000000000 0000 FPR4=0000000000000000 0000 FPR5=0000000000000000 0000 FPR6=0000000000000000 0000 FPR7=0000000000000000 0000 XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000 XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000 XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000 XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

Regards,
André

#3 lore raw
Quoted 11 lines · André Weidemann
Quoted 10 lines · Avi Kivity
Quoted 9 lines · André Weidemann

Hi,
I recently upgraded my machine from Ubuntu 9.10 to 10.4 (x86_64). Ever since I upgraded my machine I cannot get qemu-kvm to start again.

I did not install the kvm package provided by Ubuntu. Instead I pulled todays git from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git and ran ./configure && make -j6 && make install.
The configure output can be found here: http://pastebin.org/447003

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

I am using the following command line to boot qemu-kvm:

qemu-system-x86_64 -vnc :2 -k de -m 1024 -drive
file=/dev/sda,if=ide,index=0

/dev/sda? is this not the host disk?

Quoted 9 lines
Quoted 6 lines
Quoted 2 lines

When connecting to the VNC console I only get a black screen.

Does the monitor work? add -monitor stdio to the command line and type 'info registers' after you get the bla[nc]k screen.

This is the monitor output:

Quoted 7 lines

QEMU 0.13.50 monitor - type 'help' for more information (qemu) info registers
EAX=00000010 EBX=00000000 ECX=00006e82 EDX=00b81013 ESI=f2010000 EDI=000c8c00 EBP=000e8550 ESP=00006e78 EIP=0008bc2f EFL=00010086 [--S--P-] CPL=3 II=0 A20=1 SMM=0 HLT=0 ES =0000 00000000 0000ffff 0000f300
CS =0000 00000000 0000ffff 0000f300

This guest is very confused (what is it?)

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on

run the guest and kill qemu immediately when you get to the blank screen (use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
#4 lore raw
Quoted 12 lines · Avi Kivity
Quoted 11 lines · André Weidemann
Quoted 10 lines · Avi Kivity
Quoted 9 lines · André Weidemann

Hi,
I recently upgraded my machine from Ubuntu 9.10 to 10.4 (x86_64). Ever since I upgraded my machine I cannot get qemu-kvm to start again.

I did not install the kvm package provided by Ubuntu. Instead I pulled todays git from git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git and ran ./configure && make -j6 && make install.
The configure output can be found here: http://pastebin.org/447003

Quoted 6 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

I am using the following command line to boot qemu-kvm:

qemu-system-x86_64 -vnc :2 -k de -m 1024 -drive
file=/dev/sda,if=ide,index=0

/dev/sda? is this not the host disk?

It is not the host disk. For some reason the Marvell Controller is found before the Intel ICH10. So the additional disk I put in for testing becomes sda.

Quoted 17 lines
Quoted 9 lines
Quoted 6 lines
Quoted 2 lines

When connecting to the VNC console I only get a black screen.

Does the monitor work? add -monitor stdio to the command line and type 'info registers' after you get the bla[nc]k screen.

This is the monitor output:

Quoted 7 lines

QEMU 0.13.50 monitor - type 'help' for more information (qemu) info registers
EAX=00000010 EBX=00000000 ECX=00006e82 EDX=00b81013 ESI=f2010000 EDI=000c8c00 EBP=000e8550 ESP=00006e78 EIP=0008bc2f EFL=00010086 [--S--P-] CPL=3 II=0 A20=1 SMM=0 HLT=0 ES =0000 00000000 0000ffff 0000f300
CS =0000 00000000 0000ffff 0000f300

Quoted 1 line

This guest is very confused (what is it?)

This guest is a Windows 7 Pro 64bit. But it does not matter which image I try to boot. Even a PXE network boot results in the same behavior.

Quoted 11 lines

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on

run the guest and kill qemu immediately when you get to the blank screen (use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

I ran the trace and put the ouptut here:
http://ilpss8.dyndns.org/~andrew/qemu-kvm.trace.gz

Regards
André

#5 lore raw
Quoted 9 lines · André Weidemann
Quoted 9 lines

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on
Quoted 7 lines
Quoted 3 lines

run the guest and kill qemu immediately when you get to the blank screen (use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

I ran the trace and put the ouptut here:
http://ilpss8.dyndns.org/~andrew/qemu-kvm.trace.gz

<...>-26008 [001] 5175193.046430: kvm_exit: reason exception rip 0xfc842 <...>-26008 [001] 5175193.046430: kvm_page_fault: address fc842 error_code 9 <...>-26008 [001] 5175193.046432: kvm_entry: vcpu 0
<...>-26008 [001] 5175193.046434: kvm_exit: reason cr_access rip 0xfc796 <...>-26008 [001] 5175193.046435: kvm_cr: cr_write 0 = 0x10 <...>-26008 [001] 5175193.046442: kvm_entry: vcpu 0
<...>-26008 [001] 5175193.046444: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046447: kvm_entry: vcpu 0
<...>-26008 [001] 5175193.046449: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046449: kvm_page_fault: address feffd066 error_code 9 <...>-26008 [001] 5175193.046453: kvm_inj_virq: irq 13

#GP at fc799.

   fc78f:       0f 20 c0                mov    %cr0,%eax
   fc792:       66 83 e0 fe             and    $0xfffffffe,%eax
   fc796:       0f 22 c0                mov    %eax,%cr0
   fc799:       ea 9e c7 00 f0          ljmp   $0xf000,$0xc79e

I think we're in big real mode and your kernel has trouble emulating the ljmp. Can you try latest seabios[1]? Commit 0f788893a8bba has a workaround.

[1] git://git.linuxtogo.org/home/kevin/seabios.git

Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
#6 lore raw
Quoted 40 lines · Avi Kivity
Quoted 9 lines · André Weidemann
Quoted 9 lines

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on
Quoted 7 lines
Quoted 3 lines

run the guest and kill qemu immediately when you get to the blank screen (use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

I ran the trace and put the ouptut here:
http://ilpss8.dyndns.org/~andrew/qemu-kvm.trace.gz

<...>-26008 [001] 5175193.046430: kvm_exit: reason exception rip 0xfc842 <...>-26008 [001] 5175193.046430: kvm_page_fault: address fc842 error_code 9
<...>-26008 [001] 5175193.046432: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046434: kvm_exit: reason cr_access rip 0xfc796 <...>-26008 [001] 5175193.046435: kvm_cr: cr_write 0 = 0x10 <...>-26008 [001] 5175193.046442: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046444: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046447: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046449: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046449: kvm_page_fault: address feffd066 error_code 9
<...>-26008 [001] 5175193.046453: kvm_inj_virq: irq 13

#GP at fc799.

fc78f: 0f 20 c0 mov %cr0,%eax
fc792: 66 83 e0 fe and $0xfffffffe,%eax
fc796: 0f 22 c0 mov %eax,%cr0
fc799: ea 9e c7 00 f0 ljmp $0xf000,$0xc79e

Quoted 5 lines

I think we're in big real mode and your kernel has trouble emulating the ljmp. Can you try latest seabios[1]? Commit 0f788893a8bba has a workaround.

[1] git://git.linuxtogo.org/home/kevin/seabios.git

Thank you very much. Running qemu-kvm with the latest seabios fixed the problem. The VM is running fine again.

Best Regards
André

#7 lore raw
Quoted 41 lines · André Weidemann
Quoted 40 lines · Avi Kivity
Quoted 9 lines · André Weidemann
Quoted 9 lines

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on
Quoted 7 lines
Quoted 3 lines

run the guest and kill qemu immediately when you get to the blank screen (use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

I ran the trace and put the ouptut here:
http://ilpss8.dyndns.org/~andrew/qemu-kvm.trace.gz

<...>-26008 [001] 5175193.046430: kvm_exit: reason exception rip 0xfc842 <...>-26008 [001] 5175193.046430: kvm_page_fault: address fc842 error_code 9
<...>-26008 [001] 5175193.046432: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046434: kvm_exit: reason cr_access rip 0xfc796 <...>-26008 [001] 5175193.046435: kvm_cr: cr_write 0 = 0x10 <...>-26008 [001] 5175193.046442: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046444: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046447: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046449: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046449: kvm_page_fault: address feffd066 error_code 9
<...>-26008 [001] 5175193.046453: kvm_inj_virq: irq 13

#GP at fc799.

fc78f: 0f 20 c0 mov %cr0,%eax
fc792: 66 83 e0 fe and $0xfffffffe,%eax
fc796: 0f 22 c0 mov %eax,%cr0
fc799: ea 9e c7 00 f0 ljmp $0xf000,$0xc79e

Quoted 8 lines
Quoted 5 lines

I think we're in big real mode and your kernel has trouble emulating the ljmp. Can you try latest seabios[1]? Commit 0f788893a8bba has a workaround.

[1] git://git.linuxtogo.org/home/kevin/seabios.git

Thank you very much. Running qemu-kvm with the latest seabios fixed the problem. The VM is running fine again.

Still I'd like to get this fixed. What's your host kernel version?

Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
#8 lore raw
Quoted 48 lines · Avi Kivity
Quoted 47 lines · André Weidemann
Quoted 46 lines · Avi Kivity
Quoted 9 lines · André Weidemann
Quoted 9 lines

Please enable ftrace:

# mount -t debugfs debugfs /sys/kernel/debug
# cd /sys/kernel/debug/tracing
# echo 100000 > buffer_size_kb
# echo kvm > set_event
# echo 1 > tracing on
Quoted 8 lines
Quoted 4 lines

run the guest and kill qemu immediately when you get to the blank screen
(use SDL so you can see it immediately). Then post /sys/kernel/debug/trace somewhere.

I ran the trace and put the ouptut here:
http://ilpss8.dyndns.org/~andrew/qemu-kvm.trace.gz

<...>-26008 [001] 5175193.046430: kvm_exit: reason exception rip 0xfc842 <...>-26008 [001] 5175193.046430: kvm_page_fault: address fc842 error_code 9
<...>-26008 [001] 5175193.046432: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046434: kvm_exit: reason cr_access rip 0xfc796 <...>-26008 [001] 5175193.046435: kvm_cr: cr_write 0 = 0x10 <...>-26008 [001] 5175193.046442: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046444: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046447: kvm_entry: vcpu 0 <...>-26008 [001] 5175193.046449: kvm_exit: reason exception rip 0xfc799 <...>-26008 [001] 5175193.046449: kvm_page_fault: address feffd066 error_code 9
<...>-26008 [001] 5175193.046453: kvm_inj_virq: irq 13

#GP at fc799.

fc78f: 0f 20 c0 mov %cr0,%eax
fc792: 66 83 e0 fe and $0xfffffffe,%eax
fc796: 0f 22 c0 mov %eax,%cr0
fc799: ea 9e c7 00 f0 ljmp $0xf000,$0xc79e

I think we're in big real mode and your kernel has trouble emulating the ljmp. Can you try latest seabios[1]? Commit 0f788893a8bba has a workaround.

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

[1] git://git.linuxtogo.org/home/kevin/seabios.git

Thank you very much. Running qemu-kvm with the latest seabios fixed the problem. The VM is running fine again.

Still I'd like to get this fixed. What's your host kernel version?

'uname -a' shows the following:
Linux vm-server 2.6.32-22-generic #35-Ubuntu SMP Tue Jun 1 14:18:25 UTC 2010 x86_64 GNU/Linux

André