Yellow Diamond
Valid HTML 4.01 Transitional

Intel NUC11PAHi5
Baobei's Faceplant

Jim Carter, 2021-11-18

2025 has been a bad year in many ways. Diamond runs a virtual machine called Baobei, with Microsoft Windows, for financial and tax preparation software that isn't available for Linux. On 2025-04-13 we started up Baobei and it did an infinite loop in both cores, as judged by top on the host, Diamond. The framebuffer was initialized but there was no splash screen for the Intel TianoCore EFI pre-booter nor anything else on the framebuffer, just a black screen. 20 minutes of patience yielded no joy. I destroyed the VM and retried startup: same result but I destroyed it after 2 minutes.

Messages in syslog looked normal except for one item per startup attempt:
Apr 13 12:28:25 diamond kernel: [T175479] x86/split lock detection: #AC: CPU 1/KVM/175479 took a split_lock trap at address: 0x7efb5050
I think the split lock is a red herring. See this ProxMox wiki article on Split Lock Detection. An atomic instruction does something to a datum that's in two cache rows, often because it's misaligned. To ensure integrity the executing core has to lock out all the other CPUs. This is terrible for performance, and in a virtual machine situation, split locks can be used as a DoS attack, so hypervisors have mitigation strategies that are even worse for performance. A few split lock traps aren't a big deal (as in my case) but software that doesn't take alignment seriously can really slow down itself and its neighboring cores. Apparently Steam is (or was in 2022) a big culprit.

We need our financial records now.

Rather than running around like a chicken minus its head (a popular strategy this year), I'm putting together some preliminary plans and scoping out options. In summary, the possibilities are:

Yellow Diamond
Photo Credit