qemu-devel@nongnu.org
[Top] [All Lists]

[Qemu-devel] Re: qemu-kvm.git unittest failures

Subject: [Qemu-devel] Re: qemu-kvm.git unittest failures
From: Marcelo Tosatti
Date: Fri, 2 Jul 2010 19:44:25 -0300
On Thu, Jul 01, 2010 at 01:25:51PM -0300, Lucas Meneghel Rodrigues wrote:
> Now that we already have a mechanism to perform automated and regular
> unittesting, let me start by reporting the first problems I'm seeing
> with the unittests. Some (or all) of the problems might be due to
> inappropriate parameters passed to qemu, so if that's the case, please
> point out the correction.
> 
> 1) idt_test
> 
> /home/lmr/Code/autotest-git/client/tests/kvm/qemu -name 'vm1' -monitor 
> unix:'/tmp/monitor-humanmonitor1-20100701-112446-wftX',server,nowait -serial 
> unix:'/tmp/serial-20100701-112446-wftX',server,nowait -m 512 -kernel 
> '/home/lmr/Code/autotest-git/client/tests/kvm/unittests/idt_test.flat' -vnc 
> :1 -chardev file,id=testlog,path=/tmp/testlog-20100701-112446-wftX -device 
> testdev,chardev=testlog  -S
> 11:24:48 DEBUG| VM appears to be alive with PID 12524
> 11:24:48 INFO | Waiting for unittest idt_test to complete, timeout 600, 
> output in /tmp/testlog-20100701-112446-wftX
> 11:24:49 DEBUG| (qemu) (Process terminated with status 7)
> 11:24:49 ERROR| Unit test idt_test failed
> 11:24:49 INFO | Unit test log collected and available under 
> /home/lmr/Code/autotest-git/client/results/default/kvm.unittest/debug/idt_test.log
> 
> Config entry:
> 
> [idt_test]
> file = idt_test.flat
> 
> Means no additional params other than the flat file is being used - see the 
> command line used above. The log is not very helpful stating what's going 
> wrong:

This is fixed by kvm.git's:

commit 6a7382e966e07f10137b7d6106ebabfeb76998d9
Author: Avi Kivity <avi@xxxxxxxxxx>
Date:   Thu Jun 10 17:02:15 2010 +0300

    KVM: Fix mov cr4 #GP at wrong instruction

> 
> """
> enabling apic
> Starting IDT test
> unhandled excecption
> """
> 
> Log is attached as well.

Problem caused by a recent change, fix committed to qemu-kvm.git.

> 2) access
> 
> /home/lmr/Code/autotest-git/client/tests/kvm/qemu -name 'vm1' -monitor 
> unix:'/tmp/monitor-humanmonitor1-20100701-112446-wftX',server,nowait -serial 
> unix:'/tmp/serial-20100701-112446-wftX',server,nowait -m 512 -kernel 
> '/home/lmr/Code/autotest-git/client/tests/kvm/unittests/access.flat' -vnc :1 
> -chardev file,id=testlog,path=/tmp/testlog-20100701-112446-wftX -device 
> testdev,chardev=testlog  -S
> 11:25:50 DEBUG| VM appears to be alive with PID 12636
> 11:25:50 INFO | Waiting for unittest access to complete, timeout 600, output 
> in /tmp/testlog-20100701-112446-wftX
> 11:29:28 DEBUG| (qemu) (Process terminated with status 1)
> 11:29:29 ERROR| Unit test access failed
> 11:29:29 INFO | Unit test log collected and available under 
> /home/lmr/Code/autotest-git/client/results/default/kvm.unittest/debug/access.log
> 
> Config entry:
> 
> [access]
> file = access.flat
> 
> Massive log, compressed and attached.

run
test pde.p user: FAIL: error code 5 expected 4
test pte.rw pde.p user: FAIL: error code 5 expected 4
test pte.user pde.p user: FAIL: error code 5 expected 4
test pte.rw pte.user pde.p user: FAIL: error code 5 expected 4
test pte.a pde.p user: FAIL: error code 5 expected 4
test pte.rw pte.a pde.p user: FAIL: error code 5 expected 4
test pte.user pte.a pde.p user: FAIL: error code 5 expected 4

P flag (bit 0).
This flag is 0 if there is no valid translation for the linear address
because the P
flag was 0 in one of the paging-structure entries used to translate that
address.

Avi, a walk ignoring access permissions should be done to properly set
the P flag on error code. Does anybody care?

> 3) apic
> 
> /home/lmr/Code/autotest-git/client/tests/kvm/qemu -name 'vm1' -monitor 
> unix:'/tmp/monitor-humanmonitor1-20100701-112446-wftX',server,nowait -serial 
> unix:'/tmp/serial-20100701-112446-wftX',server,nowait -m 512 -kernel 
> '/home/lmr/Code/autotest-git/client/tests/kvm/unittests/apic.flat' -vnc :1 
> -chardev file,id=testlog,path=/tmp/testlog-20100701-112446-wftX -device 
> testdev,chardev=testlog  -S
> 11:29:30 DEBUG| VM appears to be alive with PID 12713
> 11:29:30 INFO | Waiting for unittest apic to complete, timeout 600, output in 
> /tmp/testlog-20100701-112446-wftX
> 11:30:55 WARNI| VM 'vm1' failed to produce a screendump
> 11:31:46 WARNI| VM 'vm1' failed to produce a screendump
> 11:36:03 WARNI| VM 'vm1' failed to produce a screendump
> 11:36:49 WARNI| VM 'vm1' failed to produce a screendump
> 11:38:17 WARNI| VM 'vm1' failed to produce a screendump
> 11:39:31 DEBUG| Timeout elapsed
> 11:39:31 ERROR| Exception happened during apic: Timeout elapsed (600s)
> 11:39:31 INFO | Unit test log collected and available under 
> /home/lmr/Code/autotest-git/client/results/default/kvm.unittest/debug/apic.log
> 
> Config entry:
> 
> [apic]
> file = apic.flat
> smp = 2
> extra_params: -cpu qemu64,+x2apic
> 
> So, -smp 2 and -cpu qemu64,+x2apic were used on the command line.
> 
> Log attached. I am not sure whether more time is necessary to run the test. 
> Please advise.
> 
> 4) emulator
> /home/lmr/Code/autotest-git/client/tests/kvm/qemu -name 'vm1' -monitor 
> unix:'/tmp/monitor-humanmonitor1-20100701-112446-wftX',server,nowait -serial 
> unix:'/tmp/serial-20100701-112446-wftX',server,nowait -m 512 -kernel 
> '/home/lmr/Code/autotest-git/client/tests/kvm/unittests/emulator.flat' -vnc 
> :1 -chardev file,id=testlog,path=/tmp/testlog-20100701-112446-wftX -device 
> testdev,chardev=testlog  -S
> 11:39:33 DEBUG| VM appears to be alive with PID 12860
> 11:39:33 INFO | Waiting for unittest emulator to complete, timeout 600, 
> output in /tmp/testlog-20100701-112446-wftX
> 11:49:33 DEBUG| Timeout elapsed
> 11:49:33 ERROR| Exception happened during emulator: Timeout elapsed (600s)
> 11:49:33 INFO | Unit test log collected and available under 
> /home/lmr/Code/autotest-git/client/results/default/kvm.unittest/debug/emulator.log

Works for me with kvm.git.

> Config entry:
> 
> [emulator]
> file = emulator.flat
> 
> Log attached. This was also a timeout issue. Please advise.
> 
> The other tests did end up good. I hope this is a good start :)

Its great, thanks!


<Prev in Thread] Current Thread [Next in Thread>