vbox VirtualBox: FreeBSD guest with UFS: disk I/O ceasing with PIIX4, PIIX3 and other virtual controllers

Below, why are there log entries for PIIX3 when the controller is set to PIIX4?

1640596679848.png

I have been trying (amongst other things) to boot this 12.⋯ guest temporarily in safe mode. Neither of the commands below seem to be effective – note the multiple CPUs, above, in htop(8):

nextboot -o "safemode_enable"

nextboot -o safemode_enable="YES"

Seeing the logged resets, I wonder whether the OS is restarting non-gracefully before commands can take effect.
 
I realised, the base system was not properly up-to-date (presumably the result of an unwanted reset during a prior OS upgrade routine):

VirtualBox_FreeBSD 12.2_27_12_2021_09_17_07.png

Restarting, the system appeared to do nothing for an extraordinarily long time whilst waiting for bufdaemon to stop:

VirtualBox_FreeBSD 12.2_27_12_2021_09_30_28.png

With the system properly upgraded to 12.3-RELEASE, I began upgrading packages, hoping for the system to not freeze (with another reset). Unfortunately:

1640599816109.png

– disk I/O ceased.

00:10:49.089256 VMMDev: vmmDevHeartbeatFlatlinedTimer: Guest seems to be unresponsive. Last heartbeat received 4 seconds ago

No known data errors for the pool where I store the .vhd:

Code:
root@mowa219-gjp4-8570p-freebsd:~ # zpool status -x
  pool: Transcend
 state: ONLINE
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
  scan: scrub repaired 0B in 01:32:30 with 0 errors on Sun Dec 12 16:25:35 2021
config:

        NAME                   STATE     READ WRITE CKSUM
        Transcend              ONLINE       0     0     0
          gpt/Transcend        ONLINE       0     0     0
        cache
          gpt/cache-transcend  OFFLINE      0     0     0

errors: No known data errors
root@mowa219-gjp4-8570p-freebsd:~ #
 
Again, disk I/O ceased. This time, with PIIX3:

1640603332236.png

With this 12.3 guest, it's sometimes strangely difficult to get a non-interrupted run of fsck -y in single user mode.

More generally, I get a sense that FreeBSD guests are more likely (than a Windows 10 guest with the virtual AHCI controller) to get this problem with disk I/O ceasing.

For FreeBSD guests, which type of virtual controller might be least likely to have problems?

(I already tried AHCI with this guest. I'll retry.)
 
Tentatively solved.

After various experiments and numerous failures, I achieved an uptime of over two hours, during which I reinstalled 1,029 packages ( pkg upgrade -f), with the following combination:
  • synchronous for UFS in the guest
  • AHCI virtual controller
  • host I/O cache enabled
  • EFI
  • nested paging enabled
  • PAE/NX disabled.
Output from mount in the guest:

Code:
/dev/gpt/rootfs on / (ufs, local, synchronous, journaled soft-updates)
devfs on /dev (devfs, local, multilabel)
fdescfs on /dev/fd (fdescfs)
procfs on /proc (procfs, local)
map -hosts on /net (autofs)

I can't imagine why a UFS-related change in the guest should be a factor, but it seemed that way.

Again, an extraordinarily long wait for bufdaemon to stop:

1640622805465.png

– but eventually, the stop did succeed.



From the opening post:

why are there log entries for PIIX3 when the controller is set to PIIX4?

For now, I'm happy for that to remain unanswered.
 

Attachments

I forgot about this problem, at some point (probably after moving guests from one hard disk drive to another) I changed settings, today the FreeBSD guest machine was terribly unreliable.

(A Windows 10 guest on the same drive is reliable.)

Visually stuck during a small download, disk activity continued long afterwards:

2022-04-03 19-06-13 VirtualBox, FreeBSD 12.3 guest.png

Eventually, disk activity ceased:

2022-04-03 19-08-25 VirtualBox, FreeBSD 12.3 guest.png

2022-04-03 19-11-14 VirtualBox, nested paging disabled.png

Tentatively solved. … the following combination: …

Unfortunately, that combination is no longer a workaround.

Stuck again (second screenshot):

1649011896233.png 1649012243160.png
 
… a sense that FreeBSD guests are more likely (than a Windows 10 guest …) to get this problem …

Another death of the FreeBSD 12.3 guest:

2022-04-04 00-57-59 VirtualBox, FreeBSD 12.3 frozen again.png 2022-04-04 01-05-54 VirtualBox, log.png

… No known data errors for the pool where I store the .vhd: …

It's on a mobile hard disk drive, on USB.

hselasky@ and others with USB expertise: I'm clutching at straws here.

Can you think of any reason why FreeBSD as a guest in a virtual machine might be prone to dying, only when the VirtualBox host stores the VM data over USB?

Code:
% geom disk list da2
Geom name: da2
Providers:
1. Name: da2
   Mediasize: 500107862016 (466G)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e3
   descr: StoreJet Transcend
   lunid: 5000000000000001
   ident: (null)
   rotationrate: unknown
   fwsectors: 63
   fwheads: 255

% sudo hw-probe -all -disable sysctl -upload
grahamperrin's password:
Probe for hardware ... Ok
Reading logs ... Ok
^C
% sudo hw-probe -all -upload
Probe for hardware ... Ok
Reading logs ... Ok
ERROR: the probe is larger than 500K

ERROR: failed to upload probe
% sudo hw-probe -all -disable sysctl -upload
Probe for hardware ... Ok
Reading logs ... Ok
Uploaded to DB, Thank you!

Probe URL: https://bsd-hardware.info/?probe=0c73871c49
%

<https://bsd-hardware.info/?probe=0c73871c49>
 
Back
Top