Created attachment 235596 [details] FreeBSD 13.1 Installer hang at virtio-random Vultr QEMU Q35 hangs while booting during virtio-random initialization on FreeBSD-13.1-RELEASE and FreeBSD-14.0-CURRENT. Vultr engineering has temporarily worked around it by blacklisting virtio-random on their FreeBSD images and/or falling back to i440fx virtualization. This requires that users installing FreeBSD from their own known media have to do one of the following: * modify their ISO to blacklist virtio-random * do the kludge of installing a Vultr FreeBSD image (which defaults to i440fx emulation) and then reinstalling via an attached ISO image. * setting 'hint.vtrnd.0.disabled=1’ at the loader prompt and booting. To quickly spin up a VM I use a raw image from the FreeBSD images -- customized with pre-loaded configuration -- but it has the exact same hang unless I modify it to blacklist virtio-random. This bug comment has information from Vultr engineering corroborating the issue. bug #254513, comment #c32 I’ve attached images of the FreeBSD-13.1 RELEASE via the VNC console, first from the boot installer hang and subsequently from single user with a subsequent kldload virtio-random which causes an immediate hang. Apologize for the images but the Vultr console doesn’t allow cut and paste of the screen. Please let me know if I can provide any other information.
Created attachment 235597 [details] Hang on manual load of module at single user prompt Here is the same hang after booting the installer disk single user and then doing a kldload virtio-random The system is then unresponsive. I could only take a screenshot because of vultr's video console.
I read in one related thread about the virtio-random spinning 100% cpu. All my hangs took place on a 1 vCPU VM. I just tested on a 2 vCPU VM and the system boots successfully. I'm going to test a 1vCPU VM for a couple of hours and see if it eventually gets past the hang. It would appear that there is an unfortunate interaction with a single CPU and and the virtio-random kernel module.
Ok, I had a test boot of FreeBSD 13.1 STABLE that was booted 15 hours ago and is still hung at the same place on a 1 vCPU system. Thus the hang is more than just something that will resolve in an hour or two.
Created attachment 235607 [details] CPU graph for 1 vCPU VM hanging for 16 hrs This is the CPU utilization as shown by the vultr dashboard during the boot of 13.1 stable ISO where the boot process was hung for 16 hrs.
I'd opened a case with Vultr and they've made a change (different emulated chipset? unsure - I don't have details) that allows stock ISOs to boot for me. For older VMs having an ISO attached and potentially for datacenters that haven't received the fix, the hint noted above seems to reliably work: 1. boot, access console, escape to loader prompt 2. using the lovely "paste" function at the left, set a hint: set hint.vtrnd.0.disabled=1 3. type 'boot'