** Description changed:
+ [Impact]
+ Our Bionic 4.15 kernel lack of movups/movupd emulation support.
+
+ With the following commit added into the emulator test in
ubuntu_kvm_unit_tests:
+ 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit
+ commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9
+ Author: Jacob Xu <[email protected]>
+ Date: Wed Apr 21 16:12:57 2021 -0700
+
+ x86: add movups/movupd sse testcases to emulator.c
+
+ Here we add movups/movupd tests corresponding to functionality
+ introduced in commit 29916968c486 ("kvm: Add emulation for
movups/movupd").
+
+ Signed-off-by: Jacob Xu <[email protected]>
+ Message-Id: <[email protected]>
+ Signed-off-by: Paolo Bonzini <[email protected]>
+
+
+ It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:
+ PASS: movdqu (read)^M
+ PASS: movdqu (write)^M
+ PASS: movaps (read)^M
+ PASS: movaps (write)^M
+ PASS: movapd (read)^M
+ PASS: movapd (write)^M
+ KVM internal error. Suberror: 1
+ emulation failure
+ RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd
RDX=00000000000003f8
+ RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490
RSP=000000000051b470
+ R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d
R11=0000000000000000
+ R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000
R15=3333333333333333
+ RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
+ ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
+ SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]
+ LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
+ TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy
+ GDT= 000000000041100a 0000106f
+ IDT= 0000000000410000 00000fff
+ CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220
+ DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
+ DR6=00000000ffff0ff0 DR7=0000000000000400
+ EFER=0000000000000500
+ Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03
48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8
07
+ qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)
+ FAIL emulator (timeout; duration=90s)
+
+
+ [Fix]
+ * 6ce08235f2 kvm: Add emulation for movups/movupd
+
+ This patch can be cherry-picked into Bionic.
+
+
+
+ [Original Bug Report]
Found this on B/KVM, current cycle (sru-20210531):
18:27:11 DEBUG| [stdout] PASS: movapd (write)^M
18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1
18:27:11 DEBUG| [stderr] emulation failure
18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000
RCX=00000000000003fd RDX=00000000000003f8
18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991
RBP=000000000051b440 RSP=000000000051b420
18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8
R10=000000000000000d R11=0000000000000000
18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111
R14=ffffffffffffd000 R15=3333333333333333
18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0
II=0 A20=1 SMM=0 HLT=0
18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0
CS64 [-RA]
18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0
TSS64-busy
18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f
18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff
18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000
CR3=0000000001007000 CR4=00000220
- 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000
DR2=0000000000000000 DR3=0000000000000000
+ 18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000
DR2=0000000000000000 DR3=0000000000000000
18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400
18:27:11 DEBUG| [stderr] EFER=0000000000000500
18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66
0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41
00 b8 00 00 00 00 e8 05
18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from
pid 13634 (timeout)
18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s)
[...]
TestError: Test failed for emulator
18:28:40 ERROR| child process failed
18:28:40 DEBUG| Traceback (most recent call last):
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25,
in fork_start
18:28:40 DEBUG| l()
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in
<lambda>
18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in
runtest
18:28:40 DEBUG| job.sysinfo.log_after_each_iteration)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
913, in runtest
18:28:40 DEBUG| mytest._exec(args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
411, in _exec
18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
823, in _call_test_function
18:28:40 DEBUG| return func(*args, **dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
291, in execute
18:28:40 DEBUG| postprocess_profiled_run, args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
212, in _call_run_once
18:28:40 DEBUG| self.run_once(*args, **dargs)
18:28:40 DEBUG| File
"/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py",
line 82, in run_once
18:28:40 DEBUG| raise error.TestError("Test failed for
{}".format(test_name))
18:28:40 DEBUG| TestError: Test failed for emulator
18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator
ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18
18:28:41 Test failed for emulator
18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator
ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18
18:28:41
** Changed in: linux (Ubuntu)
Status: Confirmed => Fix Released
** Description changed:
[Impact]
- Our Bionic 4.15 kernel lack of movups/movupd emulation support.
+ Our Bionic 4.15 kernel lacks of movups/movupd emulation support.
With the following commit added into the emulator test in
ubuntu_kvm_unit_tests:
8726f9771911d6749dbd36ab2fc70f0f25e2b1a9 is the first bad commit
commit 8726f9771911d6749dbd36ab2fc70f0f25e2b1a9
Author: Jacob Xu <[email protected]>
Date: Wed Apr 21 16:12:57 2021 -0700
- x86: add movups/movupd sse testcases to emulator.c
+ x86: add movups/movupd sse testcases to emulator.c
- Here we add movups/movupd tests corresponding to functionality
- introduced in commit 29916968c486 ("kvm: Add emulation for
movups/movupd").
+ Here we add movups/movupd tests corresponding to functionality
+ introduced in commit 29916968c486 ("kvm: Add emulation for
movups/movupd").
- Signed-off-by: Jacob Xu <[email protected]>
- Message-Id: <[email protected]>
- Signed-off-by: Paolo Bonzini <[email protected]>
-
+ Signed-off-by: Jacob Xu <[email protected]>
+ Message-Id: <[email protected]>
+ Signed-off-by: Paolo Bonzini <[email protected]>
It will cause the emulator test in ubuntu_kvm_unit_tests fail with timeout:
- PASS: movdqu (read)^M
- PASS: movdqu (write)^M
- PASS: movaps (read)^M
- PASS: movaps (write)^M
- PASS: movapd (read)^M
- PASS: movapd (write)^M
- KVM internal error. Suberror: 1
- emulation failure
- RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd
RDX=00000000000003f8
- RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490
RSP=000000000051b470
- R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d
R11=0000000000000000
- R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000
R15=3333333333333333
- RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
- ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
- CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
- SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
- DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
- FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
- GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]
- LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
- TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy
- GDT= 000000000041100a 0000106f
- IDT= 0000000000410000 00000fff
- CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220
- DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
- DR6=00000000ffff0ff0 DR7=0000000000000400
- EFER=0000000000000500
- Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03
48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8
07
- qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)
- FAIL emulator (timeout; duration=90s)
-
+ PASS: movdqu (read)^M
+ PASS: movdqu (write)^M
+ PASS: movaps (read)^M
+ PASS: movaps (write)^M
+ PASS: movapd (read)^M
+ PASS: movapd (write)^M
+ KVM internal error. Suberror: 1
+ emulation failure
+ RAX=000000000000000a RBX=ffffffffffffe000 RCX=00000000000003fd
RDX=00000000000003f8
+ RSI=0000000000419991 RDI=0000000000419991 RBP=000000000051b490
RSP=000000000051b470
+ R8 =000000000000000a R9 =00000000000003f8 R10=000000000000000d
R11=0000000000000000
+ R12=ffffffffffffe000 R13=1111111111111111 R14=ffffffffffffd000
R15=3333333333333333
+ RIP=0000000000400a1f RFL=00010006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
+ ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
+ SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
+ GS =0010 000000000051a510 ffffffff 00c09300 DPL=0 DS [-WA]
+ LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
+ TR =0080 000000000041207a 0000ffff 00008b00 DPL=0 TSS64-busy
+ GDT= 000000000041100a 0000106f
+ IDT= 0000000000410000 00000fff
+ CR0=80010011 CR2=0000000000000000 CR3=0000000001007000 CR4=00000220
+ DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
+ DR6=00000000ffff0ff0 DR7=0000000000000400
+ EFER=0000000000000500
+ Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66 0f 6f 45 e0 <0f> 11 03
48 89 de 48 8d 7d e0 e8 e5 f9 ff ff 0f b6 f8 be a1 8f 41 00 b8 00 00 00 00 e8 07
+ qemu-system-x86_64: terminating on signal 15 from pid 15758 (timeout)
+ FAIL emulator (timeout; duration=90s)
[Fix]
* 6ce08235f2 kvm: Add emulation for movups/movupd
This patch can be cherry-picked into Bionic.
-
-
[Original Bug Report]
Found this on B/KVM, current cycle (sru-20210531):
18:27:11 DEBUG| [stdout] PASS: movapd (write)^M
18:27:11 DEBUG| [stderr] KVM internal error. Suberror: 1
18:27:11 DEBUG| [stderr] emulation failure
18:27:11 DEBUG| [stderr] RAX=000000000000000a RBX=ffffffffffffe000
RCX=00000000000003fd RDX=00000000000003f8
18:27:11 DEBUG| [stderr] RSI=0000000000419991 RDI=0000000000419991
RBP=000000000051b440 RSP=000000000051b420
18:27:11 DEBUG| [stderr] R8 =000000000000000a R9 =00000000000003f8
R10=000000000000000d R11=0000000000000000
18:27:11 DEBUG| [stderr] R12=ffffffffffffe000 R13=1111111111111111
R14=ffffffffffffd000 R15=3333333333333333
18:27:11 DEBUG| [stderr] RIP=0000000000400a0c RFL=00010006 [-----P-] CPL=0
II=0 A20=1 SMM=0 HLT=0
18:27:11 DEBUG| [stderr] ES =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] CS =0008 0000000000000000 ffffffff 00a09b00 DPL=0
CS64 [-RA]
18:27:11 DEBUG| [stderr] SS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] DS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] FS =0010 0000000000000000 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] GS =0010 000000000051a4d0 ffffffff 00c09300 DPL=0 DS
[-WA]
18:27:11 DEBUG| [stderr] LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
18:27:11 DEBUG| [stderr] TR =0080 000000000041207a 0000ffff 00008b00 DPL=0
TSS64-busy
18:27:11 DEBUG| [stderr] GDT= 000000000041100a 0000106f
18:27:11 DEBUG| [stderr] IDT= 0000000000410000 00000fff
18:27:11 DEBUG| [stderr] CR0=80010011 CR2=0000000000000000
CR3=0000000001007000 CR4=00000220
18:27:11 DEBUG| [stderr] DR0=0000000000000000 DR1=0000000000000000
DR2=0000000000000000 DR3=0000000000000000
18:27:11 DEBUG| [stderr] DR6=00000000ffff0ff0 DR7=0000000000000400
18:27:11 DEBUG| [stderr] EFER=0000000000000500
18:27:11 DEBUG| [stderr] Code=00 c7 45 e8 03 00 00 00 c7 45 ec 04 00 00 00 66
0f 6f 45 e0 <0f> 11 03 48 89 de 48 8d 7d e0 e8 f8 f9 ff ff 0f b6 f8 be a1 8f 41
00 b8 00 00 00 00 e8 05
18:28:40 DEBUG| [stderr] qemu-system-x86_64: terminating on signal 15 from
pid 13634 (timeout)
18:28:40 DEBUG| [stdout] FAIL emulator (timeout; duration=90s)
[...]
TestError: Test failed for emulator
18:28:40 ERROR| child process failed
18:28:40 DEBUG| Traceback (most recent call last):
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/parallel.py", line 25,
in fork_start
18:28:40 DEBUG| l()
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/job.py", line 505, in
<lambda>
18:28:40 DEBUG| l = lambda: test.runtest(self, url, tag, args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/test.py", line 125, in
runtest
18:28:40 DEBUG| job.sysinfo.log_after_each_iteration)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
913, in runtest
18:28:40 DEBUG| mytest._exec(args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
411, in _exec
18:28:40 DEBUG| _call_test_function(self.execute, *p_args, **p_dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
823, in _call_test_function
18:28:40 DEBUG| return func(*args, **dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
291, in execute
18:28:40 DEBUG| postprocess_profiled_run, args, dargs)
18:28:40 DEBUG| File "/home/ubuntu/autotest/client/shared/test.py", line
212, in _call_run_once
18:28:40 DEBUG| self.run_once(*args, **dargs)
18:28:40 DEBUG| File
"/home/ubuntu/autotest/client/tests/ubuntu_kvm_unit_tests/ubuntu_kvm_unit_tests.py",
line 82, in run_once
18:28:40 DEBUG| raise error.TestError("Test failed for
{}".format(test_name))
18:28:40 DEBUG| TestError: Test failed for emulator
18:28:41 INFO | ERROR ubuntu_kvm_unit_tests.emulator
ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18
18:28:41 Test failed for emulator
18:28:41 INFO | END ERROR ubuntu_kvm_unit_tests.emulator
ubuntu_kvm_unit_tests.emulator timestamp=1624040921 localtime=Jun 18
18:28:41
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1932966
Title:
kvm_unit_tests: emulator test fails on 4.15 kernel, timeout
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1932966/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs