Ticket #19315 (closed defect: fixed)
Virtualbox freeze at Redhat Codeready Containers startup (libvirt)
Reported by: | jagusztinl | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 6.1.0 |
Keywords: | libvirt | Cc: | |
Guest type: | Linux | Host type: | Windows |
Description
Tried to install Redhat Codeready Containers 4.2 on a Centos 8.1 guest in Virtualbox with nested Intel VT virtualisation. At crc (libvirt) startup, Virtualbox guest comletely frozen. Exactly the same steps working in vmware player.
Attachments
Change History
comment:2 Changed 3 years ago by jagusztinl
info: <capabilities> <host> <uuid>0682cf7e-111f-9045-a430-71558cc0add1</uuid> <cpu> <arch>x86_64</arch> <model>Westmere</model> <vendor>Intel</vendor> <topology sockets='1' cores='4' threads='1'/> <feature name='vme'/> <feature name='ht'/> <feature name='pclmuldq'/> <feature name='vmx'/> <feature name='pcid'/> <feature name='x2apic'/> <feature name='movbe'/> <feature name='xsave'/> <feature name='osxsave'/> <feature name='avx'/> <feature name='rdrand'/> <feature name='hypervisor'/> <feature name='fsgsbase'/> <feature name='avx2'/> <feature name='invpcid'/> <feature name='rdseed'/> <feature name='clflushopt'/> <feature name='md-clear'/> <feature name='rdtscp'/> <feature name='abm'/> <feature name='3dnowprefetch'/> <feature name='invtsc'/> <pages unit='KiB' size='4'/> <pages unit='KiB' size='2048'/> </cpu> <power_management> <suspend_mem/> <suspend_disk/> <suspend_hybrid/> </power_management> <iommu support='no'/> <migration_features> <live/> <uri_transports> <uri_transport>tcp</uri_transport> <uri_transport>rdma</uri_transport> </uri_transports> </migration_features> <topology> <cells num='1'> <cell id='0'> <memory unit='KiB'>9840304</memory> <pages unit='KiB' size='4'>2460076</pages> <pages unit='KiB' size='2048'>0</pages> <distances> <sibling id='0' value='10'/> </distances> <cpus num='4'> <cpu id='0' socket_id='0' core_id='0' siblings='0'/> <cpu id='1' socket_id='0' core_id='1' siblings='1'/> <cpu id='2' socket_id='0' core_id='2' siblings='2'/> <cpu id='3' socket_id='0' core_id='3' siblings='3'/> </cpus> </cell> </cells> </topology> <cache> <bank id='0' level='3' type='both' size='8' unit='MiB' cpus='0'/> <bank id='1' level='3' type='both' size='8' unit='MiB' cpus='1'/> <bank id='2' level='3' type='both' size='8' unit='MiB' cpus='2'/> <bank id='3' level='3' type='both' size='8' unit='MiB' cpus='3'/> </cache> <secmodel> <model>selinux</model> <doi>0</doi> <baselabel type='kvm'>system_u:system_r:svirt_t:s0</baselabel> <baselabel type='qemu'>system_u:system_r:svirt_tcg_t:s0</baselabel> </secmodel> <secmodel> <model>dac</model> <doi>0</doi> <baselabel type='kvm'>+107:+107</baselabel> <baselabel type='qemu'>+107:+107</baselabel> </secmodel> </host> <guest> <os_type>hvm</os_type> <arch name='i686'> <wordsize>32</wordsize> <emulator>/usr/libexec/qemu-kvm</emulator> <machine maxCpus='240'>pc-i440fx-rhel7.6.0</machine> <machine canonical='pc-i440fx-rhel7.6.0' maxCpus='240'>pc</machine> <machine maxCpus='240'>pc-i440fx-rhel7.0.0</machine> <machine maxCpus='384'>pc-q35-rhel7.6.0</machine> <machine canonical='pc-q35-rhel7.6.0' maxCpus='384'>q35</machine> <machine maxCpus='240'>pc-i440fx-rhel7.5.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.1.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.2.0</machine> <machine maxCpus='255'>pc-q35-rhel7.3.0</machine> <machine maxCpus='384'>pc-q35-rhel7.4.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.3.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.4.0</machine> <machine maxCpus='384'>pc-q35-rhel7.5.0</machine> <domain type='qemu'/> <domain type='kvm'> <emulator>/usr/libexec/qemu-kvm</emulator> </domain> </arch> <features> <cpuselection/> <deviceboot/> <disksnapshot default='on' toggle='no'/> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> <pae/> <nonpae/> </features> </guest> <guest> <os_type>hvm</os_type> <arch name='x86_64'> <wordsize>64</wordsize> <emulator>/usr/libexec/qemu-kvm</emulator> <machine maxCpus='240'>pc-i440fx-rhel7.6.0</machine> <machine canonical='pc-i440fx-rhel7.6.0' maxCpus='240'>pc</machine> <machine maxCpus='240'>pc-i440fx-rhel7.0.0</machine> <machine maxCpus='384'>pc-q35-rhel7.6.0</machine> <machine canonical='pc-q35-rhel7.6.0' maxCpus='384'>q35</machine> <machine maxCpus='240'>pc-i440fx-rhel7.5.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.1.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.2.0</machine> <machine maxCpus='255'>pc-q35-rhel7.3.0</machine> <machine maxCpus='384'>pc-q35-rhel7.4.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.3.0</machine> <machine maxCpus='240'>pc-i440fx-rhel7.4.0</machine> <machine maxCpus='384'>pc-q35-rhel7.5.0</machine> <domain type='qemu'/> <domain type='kvm'> <emulator>/usr/libexec/qemu-kvm</emulator> </domain> </arch> <features> <cpuselection/> <deviceboot/> <disksnapshot default='on' toggle='no'/> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest> </capabilities>
comment:3 Changed 3 years ago by jagusztinl
config: <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit crc
or other application using the libvirt API. -->
<domain type='kvm'>
<name>crc</name> <uuid>7a79dc16-4a13-4f2c-81d5-6f2fcf7af65e</uuid> <memory unit='KiB'>8000000</memory> <currentMemory unit='KiB'>8000000</currentMemory> <vcpu placement='static'>4</vcpu> <os>
<type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type> <boot dev='hd'/> <bootmenu enable='no'/>
</os> <features>
<acpi/> <apic/> <pae/>
</features> <cpu mode='host-passthrough' check='none'/> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices>
<emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'>
<driver name='qemu' type='qcow2' io='threads'/> <source file='/home/crc/.crc/machines/crc/crc'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk> <controller type='usb' index='0' model='piix3-uhci'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller> <controller type='pci' index='0' model='pci-root'/> <controller type='virtio-serial' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</controller> <interface type='network'>
<mac address='52:fd:fc:07:21:82'/> <source network='crc'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface> <serial type='pty'>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial> <console type='pty'>
<target type='serial' port='0'/>
</console> <channel type='pty'>
<target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics> <video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> <memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon> <rng model='virtio'>
<backend model='random'>/dev/random</backend> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</rng>
</devices>
</domain>
comment:4 Changed 3 years ago by jagusztinl
virtualbox guest log:
00:00:59.028630 VMMDev: Guest Log: 16:11:56.347491 main VBoxService 6.1.2 r135662 (verbosity: 0) linux.amd64 (Jan 13 2020 12:20:51) release log 00:00:59.028664 VMMDev: Guest Log: 16:11:56.347496 main Log opened 2020-02-17T16:11:56.347483000Z 00:00:59.028740 VMMDev: Guest Log: 16:11:56.347622 main OS Product: Linux 00:00:59.028857 VMMDev: Guest Log: 16:11:56.347735 main OS Release: 4.18.0-147.el8.x86_64 00:00:59.028923 VMMDev: Guest Log: 16:11:56.347807 main OS Version: #1 SMP Wed Dec 4 21:51:45 UTC 2019 00:00:59.028978 VMMDev: Guest Log: 16:11:56.347862 main Executable: /opt/VBoxGuestAdditions-6.1.2/sbin/VBoxService 00:00:59.028992 VMMDev: Guest Log: 16:11:56.347863 main Process ID: 2499 00:00:59.029001 VMMDev: Guest Log: 16:11:56.347864 main Package type: LINUX_64BITS_GENERIC 00:00:59.033167 VMMDev: Guest Log: 16:11:56.352052 main 6.1.2 r135662 started. Verbose level = 0 00:00:59.034346 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners 00:00:59.034378 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=5 00:00:59.035231 VMMDev: Guest Log: 16:11:56.354115 main vbglR3GuestCtrlDetectPeekGetCancelSupport: Supported (#1) 00:00:59.035749 Guest Control: GUEST_MSG_REPORT_FEATURES: 0x1, 0x8000000000000000 00:00:59.048173 GUI: UISession::sltAdditionsChange: GA state really changed, notifying listeners 00:00:59.048225 GUI: UIMachineViewNormal::adjustGuestScreenSize: Adjust guest-screen size if necessary 00:00:59.048268 GUI: UISession::sltAdditionsChange: GA state change event came, notifying listeners 00:00:59.048286 GUI: UIMachineLogicNormal::sltCheckForRequestedVisualStateType: Requested-state=0, Machine-state=5 00:00:59.059541 VMMDev: Guest Log: vboxsf: g_fHostFeatures=0x8000000f g_fSfFeatures=0x1 g_uSfLastFunction=29 00:00:59.060114 VMMDev: Guest Log: vboxsf: Successfully loaded version 6.1.2 on 4.18.0-147.el8.x86_64 SMP mod_unload modversions (LINUX_VERSION_CODE=0x41200) 00:00:59.062583 VMMDev: Guest Log: 16:11:56.381464 automount vbsvcAutomounterMountIt: Successfully mounted 'Documents' on '/docs' 00:28:08.359341 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.359365 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.360613 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.361931 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.361956 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.362138 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.363315 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.363340 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.363749 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.364890 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.364915 IEM: rdmsr(0x10a) -> #GP(0) 00:28:08.365139 IEM: rdmsr(0x10a) -> #GP(0) 00:28:13.439788 VMMDev: vmmDevHeartbeatFlatlinedTimer: Guest seems to be unresponsive. Last heartbeat received 4 seconds ago
comment:5 Changed 3 years ago by jagusztinl
Important: KVM works perfectly on the virtualized host, able to start any other VM (Centos, Ubuntu..) only CRC VM freeze
comment:6 Changed 3 years ago by jagusztinl
Found the problem: Virtualbox freeze with VT-X nested virtualization, if SMP option (more than one cores) set in KVM/QEMU guest!
comment:7 Changed 3 years ago by jagusztinl
How to reproduce: /usr/libexec/qemu-kvm -nographic -cpu host -smp cores=4 -append "console=ttyS0" -m 4096M -accel kvm -kernel /boot/vmlinuz-4.18.0-147.el8.x86_64 -net nic,model=virtio -net user,hostfwd=tcp::2222-:22
FREEZE.
comment:8 Changed 3 years ago by pneumann
Also see ticket #19561. It appears to be a similar (or the same) issue.
comment:9 Changed 2 years ago by ramshankar
Thank you for the report and sincere apologies for the late reply. I'll try to post a test build with a possible fix soon.
I've edited some of the comments with nicer formatting to make reading verbose output easier to read. In the future, please consider enclosing output from commands/dmesg etc. within {{{ and }}}.
comment:10 Changed 2 years ago by ramshankar
I think the problem should now be fixed (with SMP nested guests).
Feel free to try out the test builds from https://www.virtualbox.org/wiki/Testbuilds (6.1.x 141725 or newer) and provide your feedback here.
comment:11 Changed 7 months ago by aeichner
- Status changed from new to closed
- Resolution set to fixed
Hangs immediately after this: