Opened 14 months ago
Last modified 13 months ago
#21814 new defect
!!Assertion Failed!! when starting multiple VMs at the same time with VBoxHeadless
Reported by: | public_mail | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox-7.0.10 |
Keywords: | vboxheadless | Cc: | |
Guest type: | Linux | Host type: | Linux |
Description
Host: Ubuntu 22.04, kernel 6.2.
Guest: Various Linux Guests
VirtualBox: 7.0.10
If I start multiple VMs simultaneously/concurrently with VBoxHeadless, then one of the VBoxHeadless processes will sometimes fail with the following log:
Starting virtual machine: !!Assertion Failed!! Expression: RT_VALID_PTR(pVM) Location : /home/vbox/tinderbox/build-VBox-7.0/svn/src/VBox/VMM/VMMR3/VM.cpp(602) int vmR3CreateU(PUVM, uint32_t, PFNCFGMCONSTRUCTOR, void*) Stack : 00007fa095d6dd00 VBoxRT.so!RTAssertMsg2V+0x50 (rva:0x16dd00)
To reproduce this, I've created the following script:
#!/bin/bash /usr/bin/VBoxHeadless -s VM1 & /usr/bin/VBoxHeadless -s VM2 & /usr/bin/VBoxHeadless -s VM3 & /usr/bin/VBoxHeadless -s VM4 & /usr/bin/VBoxHeadless -s VM5
- First, I manually start the VBoxSVC process.
- Wait 30 seconds.
- Run the script above.
- Observe the assertion failure.
If I modify the script to put a 1 second delay between each VBoxHeadless call, then I never see any failure.
Attachments (2)
Change History (7)
follow-up: 2 comment:1 by , 14 months ago
by , 14 months ago
Attachment: | VBoxSVC.log added |
---|
by , 14 months ago
comment:2 by , 14 months ago
Replying to galitsyn:
Hi public_mail,
Please make sure that host has enough memory to run these 5 VMs. Also, please attach VBox.log for asserting VM.
Hello,
Yep - the host has like 15 GiB free even after all VMs are running.
Okay - I've just attached the logs. I also added the VBoxSVC log, which was cleared before kicking off the start of all 5 VM's. The VM that failed was "VM4".
Thanks
follow-up: 4 comment:3 by , 14 months ago
Can you check the kernel log / dmesg for anything that looks VBox related (like perhaps a "GVMMR0CreateVM: failed, rc=..." if we're lucky)?
comment:4 by , 14 months ago
Replying to bird:
Can you check the kernel log / dmesg for anything that looks VBox related (like perhaps a "GVMMR0CreateVM: failed, rc=..." if we're lucky)?
Hello,
Sure - here's my dmesg output when launching 5 VMs simultaneously (dmesg was cleared before the test). In this particular test, two out of the five VMs threw the assertion failure instead of just one.
[93344.965204] vboxdrv: 0000000000000000 VMMR0.r0 [93344.966194] show_signal: 116 callbacks suppressed [93344.966199] traps: EMT-0[34788] trap int3 ip:7f364955a3a5 sp:7f36487fecd0 error:0 in VBoxVMM.so[7f364949d000+250000] [93344.966315] traps: EMT-0[34790] trap int3 ip:7f210bb5a3a5 sp:7f210b97dcd0 error:0 in VBoxVMM.so[7f210ba9d000+250000] [93345.038182] VBoxNetFlt: attached to 'vboxnet0' / 0a:00:27:00:00:00 [93345.038390] device vboxnet0 entered promiscuous mode [93345.089059] vboxdrv: 0000000000000000 VBoxDDR0.r0 [93345.107248] VBoxNetFlt: attached to 'enp7s0' / 00:30:93:1c:02:39 [93345.112403] device enp7s0 entered promiscuous mode
The VBox.log for both of the VMs that failed was identical to the one I already attached. VBoxSVC.log was the same as well.
I noticed the following line in VBoxSVC.log:
failed to create vboxnet0, error (VERR_GENERAL_FAILURE)
However, it's worth noting that neither of the VMs that failed are attached to "vboxnet0" and that the VM that is using "vboxnet0" booted fine.
comment:5 by , 13 months ago
Corresponding forum thread: Assertion failure when starting VMs on bootup via VBoxHeadless
@bird: FWIW, another forum user reported a very similar issue (failed assertion at the same location, because pUVM->pVM == 0), on a Windows host instead of a Linux host, with the complete rtR3WinUnhandledXcptFilter output in the VBox.log file: Crash VM when simultaneous starting.
Hi public_mail,
Please make sure that host has enough memory to run these 5 VMs. Also, please attach VBox.log for asserting VM.