[vbox-dev] Linux-4.12-rc1 and rc2 not working as vbox guest ?
Hans de Goede
hdegoede at redhat.com
Mon May 29 14:22:09 UTC 2017
Hi,
On 29-05-17 15:12, Frank Mehnert wrote:
> Hi Hans,
>
> On Montag, 29. Mai 2017 13:27:33 CEST Hans de Goede wrote:
>> On 29-05-17 12:23, Hans de Goede wrote:
>>> On 25-05-17 11:57, Hans de Goede wrote:
>>>> On 24-05-17 18:13, Michael Thayer wrote:
>>>>> 24.05.2017 16:02, Michael Thayer wrote:
>>>>>> 24.05.2017 15:16, Hans de Goede wrote:
>>>>>> [...]
>>>>>>> I cannot get a Fedora 26 guest to boot with either distro-provided or
>>>>>>> self-built 4.12-rc# kernels, the distro-provided 4.11 kernel works fine.
>>>>>>>
>>>>>>> After selecting a 4.12# kernel in the grub menu the vm shows an empty
>>>>>>> text screen with a cursor in the top left corner and then just hangs.
>>>>>>>
>>>>>>> Anyone know how to fix this ? This is with VirtualBox 5.1.22 on a Fedora
>>>>>>> host.
>>>>>>
>>>>>> Hello Hans,
>>>>>>
>>>>>> Downloading F26 alpha now to take a look. Did you try a serial console
>>>>>> redirected to a host file to get early boot messages?
>>>>>>
>>>>>> And I am back at work now and hope look at your patches soon!
>>>>>
>>>>> Just tried 4.12-rc1 from Rawhide (is that right?) It boots fine here, Ubuntu 17.04 host. Could it be something in your virtual machine configuration or your host? A log file for the machine might tell us more.
>>>>
>>>> Ok, so here is what I did:
>>>>
>>>> 1) Download F26 nightly compose live iso
>>>> 2) Start virtualbox 5.1.20 from rpmfusion pkgs, create new vm, type "Fedora 64 bit"
>>>> 3) Use vm for a while to test vboxvideo stuff
>>>> 4) Manually install a kernel build from Torvald's latest master with the
>>>> intend to start working on putting the vboxvideo code under drivers/staging
>>>> 5) Hmm, does not boot, lets try a Fedora built 4.12-rc# kernel from rawhide
>>>> 6) Hmm still does not boot, remove 5.1.20 pkgs from rpmfusion, install
>>>> 5.1.22 from virtualbox.org
>>>> 7) Still does not boot (and the 4.11 kernel does still boot) time to mail
>>>> this list.
>
> sorry, but did you also try to boot the kernel from Torvald's latest master
> without any VBox-related kernel modules added? I'm not sure about that when
> reading your instructions.
>
> It is known that the 5.1.22 VirtualBox Guest Additions kernel modules do not
> compile against Linux 4.12-rc, therefore I assume you only added the vboxvideo
> stuff to your kernel but you didn't use any vboxguest code, is that correct?
>
>>>> I've just tried installing and booting kernel-4.12.0-0.rc1.git0.1.fc27.x86_64 and
>>>> still no luck. I guess I can try re-recreating the vm, might that help ?
>>>
>>> So this morning again I've tried to get my vm to boot with a 4.12 kernel,
>>> no luck. One thing I did notice is that the 4.11 kernel which does work
>>> gives this error very early on during boot:
>>>
>>> [ 0.000000] ------------[ cut here ]------------
>>> [ 0.000000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/fpu/xstate.c:596 fpu__init_system_xstate+0x48f/0x870
>>> [ 0.000000] XSAVE consistency problem, dumping leaves
>>> ...
>>>
>>> Which I guess is not normal. Could this be a problem with my host ?
>>> My host is a Fedora 26 install, running 4.11.3, I've tried downgrading
>>> the host kernel to 4.10.7 but that does not help.
>
> This guest warning is expected on certain CPUs. VirtualBox does not expose the
> whole XSAVE state to the guest and that causes gaps which Linux warns about.
> This is a warning, not a fatal error.
>
> I get the exact same warning if I boot a Fedora 25 guest on VBox 5.1.22 on a
> host with Linux 4.11 running on a Skylake processor.
Ok, can you try install a 4.12 kernel, e.g.:
https://koji.fedoraproject.org/koji/buildinfo?buildID=892258
Download kernel-core... and kernel-modules... and then do
rpm -ivh kernel*.rpm
as root from a dir with the 2 downloaded files and boot
that on that skylake host (see below).
>>> Maybe something with Fedora 26's gcc version ? :
>>>
>>> [hans at shalem ~]$ rpm -q gcc
>>> gcc-7.1.1-1.fc26.x86_64
>>>
>>> Causing a miscompile of the host drivers ?
>
> Very unlikely. We are using gcc 7.1 on some hosts as well.
Seems you're right downgrading gcc did not help, downgrading
binutils also did not help.
So on a hunch I removed the ssd from the working F25 Ivy Bridge
test-machine boot it in an USB enclosure and booted my main
Sky Lake workstation from it and now the working F25 4.10.5 x86_64
host + F26 4.12-rc2 x86_64 guest from that ssd of all a sudden stops
booting.
I also tried booting a Sky Lake laptop from the ssd same symptons,
booting the Ivy Bridge test machine from the ssd in the USB-enclosure
to rule out the USb enclosure playing a role gives me a working vm
again.
TL;DR: It seems that the 4.12 kernel will not boot as a guest on
Sky Lake based hosts.
>> Ok, this is indeed a host problem, I copied the vm to a Fedora 25 64 bit
>> host with a 4.10.5 kernel and there it works fine, including the 4.11
>> kernel not showing the "XSAVE consistency problem" message, and the 4.12
>> kernel working just fine.
>
> The XSAVE consistency problem and the guest being unable to boot are most
> likely two different problems.
I'm not sure, this message only shows up on Sky Lake based hosts and now with
4.12 based guests only Skylake based hosts no longer boot ?
>> Here are more complete guest kernel logs of the "XSAVE consistency problem"
>> when using A Fedora 26 64 bit host with kernel 4.10 and a 4.11 guest kernel:
>>
>> [ 0.000000] Linux version 4.11.0-2.fc26.x86_64 (mockbuild at bkernel01.phx2.fedoraproject.org) (gcc version 7.1.1 20170503 (Red Hat 7.1.1-1) (GCC) ) #1 SMP Tue May 9 15:24:49 UTC 2017
>> [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.11.0-2.fc26.x86_64 root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet LANG=en_US.UTF-8
>> [ 0.000000] ------------[ cut here ]------------
>> [ 0.000000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/fpu/xstate.c:596 fpu__init_system_xstate+0x48f/0x870
>> [ 0.000000] XSAVE consistency problem, dumping leaves
>> [ 0.000000] Modules linked in:
>> [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.11.0-2.fc26.x86_64 #1
>> [ 0.000000] Call Trace:
>> [ 0.000000] dump_stack+0x63/0x84
>> [ 0.000000] __warn+0xcb/0xf0
>> [ 0.000000] warn_slowpath_fmt+0x5a/0x80
>> [ 0.000000] ? xfeature_size+0x56/0x74
>> [ 0.000000] fpu__init_system_xstate+0x48f/0x870
>> [ 0.000000] ? get_cpu_cap+0x2a3/0x370
>> [ 0.000000] ? msr_clear_bit+0x3a/0xa0
>> [ 0.000000] ? 0xffffffff91000000
>> [ 0.000000] fpu__init_system+0x1e1/0x208
>> [ 0.000000] early_cpu_init+0x102/0x104
>> [ 0.000000] setup_arch+0xba/0xcf3
>> [ 0.000000] ? printk+0x52/0x6e
>> [ 0.000000] ? early_idt_handler_array+0x120/0x120
>> [ 0.000000] start_kernel+0xb2/0x47b
>> [ 0.000000] ? early_idt_handler_array+0x120/0x120
>> [ 0.000000] x86_64_start_reservations+0x24/0x26
>> [ 0.000000] x86_64_start_kernel+0x13c/0x15f
>> [ 0.000000] start_cpu+0x14/0x14
>> [ 0.000000] ---[ end trace 9d5a61c263f77bce ]---
>> [ 0.000000] CPUID[0d, 00]: eax=00000007 ebx=00000440 ecx=00000440 edx=00000000
>> [ 0.000000] CPUID[0d, 01]: eax=00000000 ebx=000003c0 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 02]: eax=00000100 ebx=00000240 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 03]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 04]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 05]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 06]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 07]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 08]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 09]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0a]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0b]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0c]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0d]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0e]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 0f]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 10]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 11]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 12]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] CPUID[0d, 13]: eax=00000000 ebx=00000000 ecx=00000000 edx=00000000
>> [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
>> [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
>> [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
>> [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
>> [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 1088 bytes, using 'standard' format.
>> [ 0.000000] e820: BIOS-provided physical RAM map:
Regards,
Hans
More information about the vbox-dev
mailing list