Odd VirtualBox Audio Bug

For a long time on my Slackware 14.2 host host I have been unable to sequentially launch a functional VirtualBox Slackware Current virtual machine (VM).

After powering down the VM the subsequent launch would crash, just before mounting the system partition read-only. There are no logs at that point in the boot and with such a crash accessing dmesg is impossible.

Shutting down VirtualBox and removing the host system kernel modules did not help. Temporarily dropping to runlevel 1 did not help. Using lsof revealed no open files.

The only cure was a full host reboot. After a host reboot, the Current VM launched but a forced fsck was executed.

Temporarily attaching the Current virtual disk to a Slackware 14.2 VM and manually running fsck fixed the disk errors, but the Current VM would not launch without a host reboot.

The guest additions (GA) are not installed in the Current VM.

A nuisance bug.

I decided to no longer tolerate this nuisance. Some poking in the Current logs revealed a peculiar string of unreliable DMA position. A quick web search indicated the string is related to audio. I disabled the audio in the Current VM and thereafter could not replicate the crash. I could power down the VM and launch again.

Digging further I could select various combinations of audio driver and controller and not replicate the crash — except one combination.

The deadly combination is ALSA Audio Driver and ICH AC97. With that combination I could not launch the Current VM a second time. The VM would always crash and abort the boot.

I discovered I did not have to reboot the 14.2 host. I needed only disable audio or change the driver/controller combination and the VM would launch successfully subsequent times.

Interestingly, using ICH AC97 or Intel HD Audio always resulted in log spew complaints about the controller. The SoundBlaster 16 controller did not.

I never saw this crash in any other VM I run, including non Slackware VMs.

Or so I thought.

I updated VirtualBox to the latest release. When I update the host I update the GA in affected VMs. I noticed I could not boot two Windows 2000 (W2K) VMs. I remembered that for some time I have been plagued with that issue. Now that I was digging into this quirk I looked at the audio configs for those two W2K VMs. They were configured for ALSA Audio Driver and ICH AC97. Changing that to SoundBlaster 16 resolved the issue without a need to reboot the 14.2 host.

For historical purposes I have maintained those two W2K VMs for years. Originally I never had any issues. I don’t recall when the boot bug started.

Why does that specific audio configuration crash VMs and abort the boot?

Unknown is why a full host reboot is needed to provide remedy.

I have no idea if the bug is related only to my system.

Posted: Category: Usability Tagged: Virtual Machines

Next: Converting MBR to GPT

Previous: Moving a LUKS Partition