VirtualBox

Opened 4 years ago

Closed 17 months ago

#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 (1)

libvirtd.zip (66.6 KB ) - added by jagusztinl 4 years ago.
debug log

Download all attachments as: .zip

Change History (12)

comment:1 by jagusztinl, 4 years ago

Hangs immediately after this:

2020-02-16 09:02:28.320+0000: starting up libvirt version: 4.5.0, package: 35.2.module_el8.1.0+266+ba744077 (CentOS Buildsys <bugs@centos.org>, 2020-02-04-22:03:54, ), qemu version: 2.12.0qemu-kvm-2.12.0-88.module_el8.1.0+266+ba744077.2, kernel: 4.18.0-147.el8.x86_64, hostname: localhost.localdomain
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -name guest=crc,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-crc/master-key.aes -machine pc-i440fx-rhel7.6.0,accel=kvm,usb=off,dump-guest-core=off -cpu host -m 7813 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 7a79dc16-4a13-4f2c-81d5-6f2fcf7af65e -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=29,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot menu=off,strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 -drive file=/home/crc/.crc/machines/crc/crc,format=qcow2,if=none,id=drive-virtio-disk0,aio=threads -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=31,id=hostnet0,vhost=on,vhostfd=32 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:fd:fc:07:21:82,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charchannel0 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -vnc 127.0.0.1:0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -object rng-random,id=objrng0,filename=/dev/random -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x7 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on
2020-02-16 09:02:28.320+0000: Domain id=1 is tainted: host-cpu
Last edited 3 years ago by Ramshankar Venkataraman (previous) (diff)

comment:2 by jagusztinl, 4 years ago

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>
Last edited 3 years ago by Ramshankar Venkataraman (previous) (diff)

comment:3 by jagusztinl, 4 years ago

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>
Last edited 3 years ago by Ramshankar Venkataraman (previous) (diff)

by jagusztinl, 4 years ago

Attachment: libvirtd.zip added

debug log

comment:4 by jagusztinl, 4 years ago

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
Last edited 3 years ago by Ramshankar Venkataraman (previous) (diff)

comment:5 by jagusztinl, 4 years ago

Important: KVM works perfectly on the virtualized host, able to start any other VM (Centos, Ubuntu..) only CRC VM freeze

comment:6 by jagusztinl, 4 years ago

Found the problem: Virtualbox freeze with VT-X nested virtualization, if SMP option (more than one cores) set in KVM/QEMU guest!

comment:7 by jagusztinl, 4 years ago

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 by pneumann, 4 years ago

Also see ticket #19561. It appears to be a similar (or the same) issue.

comment:9 by Ramshankar Venkataraman, 3 years ago

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 }}}.

Last edited 3 years ago by Ramshankar Venkataraman (previous) (diff)

comment:10 by Ramshankar Venkataraman, 3 years ago

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 by aeichner, 17 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use