Skip to contentSkip to conversation

New: [bisected] Starting a VM causes the host to halt and create Machine Check Exceptions

Bug 104091 [email protected] 2 participants 6 messages Sep 6, 2015 – Oct 1, 2015 KVM

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=104091

Bug ID: 104091
Summary: [bisected] Starting a VM causes the host to halt and
create Machine Check Exceptions
Product: Virtualization
Version: unspecified
Kernel Version: 4.2
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: kvm
Assignee: [email protected]
Reporter: [email protected]
Regression: No

Created attachment 186851
--> https://bugzilla.kernel.org/attachment.cgi?id=186851&action=edit
dmesg output after starting the VM

With kernel 4.2, starting one of my VMs instantly freezes the host system and creates Machine Check Exceptions on CPUs dedicated to that particula VM:

[12316.171917] mce: [Hardware Error]: CPU 3: Machine Check Exception: 5 Bank
17: be2000000003110a
[12316.171917] mce: [Hardware Error]: RIP !INEXACT! 10:<ffffffff813217fd>
{intel_idle+0xbd/0x120}
[12316.171917] mce: [Hardware Error]: TSC 76fd7352bf6 ADDR fa137140 MISC
30f0083884509086 
[12316.171917] mce: [Hardware Error]: PROCESSOR 0:306f2 TIME 1441130705 SOCKET
0 APIC 6 microcode 2d
[12316.171917] mce: [Hardware Error]: Run the above through 'mcelog --ascii'

...

A bisection revealed that commit fd717f11015f673487ffc826e59b2bad69d20fe5 introduced the problem:

KVM: x86: apply guest MTRR virtualization on host reserved pages

Currently guest MTRR is avoided if kvm_is_reserved_pfn returns true. However, the guest could prefer a different page type than UC for such pages. A good example is that pass-throughed VGA frame buffer is not always UC as host expected.

This patch enables full use of virtual guest MTRRs.

One could argue that the following warning is an obvious hint

[12311.584431] pmd_set_huge: Cannot satisfy [mem 0x383fe0000000-0x383fe0200000]

with a huge-page mapping due to MTRR override.

but I'm able to run another VM without problems despite that warning.

Please let me know I you need additional information.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#1 lore raw

[Bug 104091] [bisected] Starting a VM causes the host to halt and create Machine Check Exceptions

https://bugzilla.kernel.org/show_bug.cgi?id=104091

--- Comment #1 from Michael Long <[email protected]> --- Created attachment 186861
--> https://bugzilla.kernel.org/attachment.cgi?id=186861&action=edit
VM configuration of the VM causing the freeze

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#2 lore raw

[Bug 104091] [bisected] Starting a VM causes the host to halt and create Machine Check Exceptions

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=104091

--- Comment #2 from Michael Long <[email protected]> --- Created attachment 186871
--> https://bugzilla.kernel.org/attachment.cgi?id=186871&action=edit
VM configuration of the VM that is still working

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#3 lore raw
In reply to [email protected]
Quoted 35 lines · On 09/06/2015 06:03 PM, [email protected] wrote:

https://bugzilla.kernel.org/show_bug.cgi?id=104091

Bug ID: 104091
Summary: [bisected] Starting a VM causes the host to halt and
create Machine Check Exceptions
Product: Virtualization
Version: unspecified
Kernel Version: 4.2
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: kvm
Assignee: [email protected]
Reporter: [email protected]
Regression: No

Created attachment 186851
--> https://bugzilla.kernel.org/attachment.cgi?id=186851&action=edit
dmesg output after starting the VM

With kernel 4.2, starting one of my VMs instantly freezes the host system and creates Machine Check Exceptions on CPUs dedicated to that particula VM:

[12316.171917] mce: [Hardware Error]: CPU 3: Machine Check Exception: 5 Bank
17: be2000000003110a
[12316.171917] mce: [Hardware Error]: RIP !INEXACT! 10:<ffffffff813217fd>
{intel_idle+0xbd/0x120}
[12316.171917] mce: [Hardware Error]: TSC 76fd7352bf6 ADDR fa137140 MISC
30f0083884509086
[12316.171917] mce: [Hardware Error]: PROCESSOR 0:306f2 TIME 1441130705 SOCKET
0 APIC 6 microcode 2d
[12316.171917] mce: [Hardware Error]: Run the above through 'mcelog --ascii'
Quoted 2 lines

...

Could you please decode it by mcelog?

Quoted 10 lines

A bisection revealed that commit fd717f11015f673487ffc826e59b2bad69d20fe5 introduced the problem:

KVM: x86: apply guest MTRR virtualization on host reserved pages

Currently guest MTRR is avoided if kvm_is_reserved_pfn returns true. However, the guest could prefer a different page type than UC for such pages. A good example is that pass-throughed VGA frame buffer is not always UC as host expected.

Quoted 5 lines

This patch enables full use of virtual guest MTRRs.

One could argue that the following warning is an obvious hint

[12311.584431] pmd_set_huge: Cannot satisfy [mem 0x383fe0000000-0x383fe0200000]

with a huge-page mapping due to MTRR override.

Just confirm: it happened on host, right?

Quoted 5 lines

but I'm able to run another VM without problems despite that warning.

Please let me know I you need additional information.

#4 lore raw

[Bug 104091] [bisected] Starting a VM causes the host to halt and create Machine Check Exceptions

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=104091

Michael Long <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Regression|No |Yes

--- Comment #3 from Michael Long <[email protected]> ---
mcelog: Family 6 Model 3f CPU: only decoding architectural errors Hardware event. This is not a software error.
MCE 0
CPU 0 BANK 17
MISC 4f0083884501086 ADDR fa000200
TIME 1441663568 Tue Sep 8 00:06:08 2015
MCG status:
MCi status:
Uncorrected error
Error enabled
MCi_MISC register valid
MCi_ADDR register valid
Processor context corrupt
MCA: corrected filtering (some unreported errors in same region) Generic CACHE Level-2 Generic Error
STATUS be2000000003110a MCGSTATUS 0
MCGCAP 7000c16 APICID 0 SOCKETID 0
CPUID Vendor Intel Family 6 Model 63

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#5 lore raw

[Bug 104091] [bisected] Starting a VM causes the host to halt and create Machine Check Exceptions

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=104091

John <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #4 from John <[email protected]> ---
Seems to be related to my problem. Please try to set the cores of the freezing VM to 2 or less.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.