VirtualBox

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)

VBoxSVC.log (4.8 KB ) - added by public_mail 14 months ago.
VBox.log (1.4 KB ) - added by public_mail 14 months ago.

Download all attachments as: .zip

Change History (7)

comment:1 by galitsyn, 14 months ago

Hi public_mail,

Please make sure that host has enough memory to run these 5 VMs. Also, please attach VBox.log for asserting VM.

by public_mail, 14 months ago

Attachment: VBoxSVC.log added

by public_mail, 14 months ago

Attachment: VBox.log added

in reply to:  1 comment:2 by public_mail, 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

comment:3 by bird, 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)?

in reply to:  3 comment:4 by public_mail, 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 fth0, 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.

Last edited 13 months ago by fth0 (previous) (diff)
Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette