Virtualbox - Crash with kernel 5.8

Good morning,

Virtualbox 6.1.12 does not start any VMs since update to kernel 5.8. This happens with default kernel and self compiled one. The general error is:

VMSetError: Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed

VBox.log running Leap_15.2 with default kernel:

00:00:00.030925 VirtualBox VM 6.1.12_SUSE r139181 linux.amd64 (no date no time) release log
00:00:00.030929 Log opened 2020-08-05T05:25:15.410194000Z
00:00:00.030930 Build Type: release
00:00:00.030937 OS Product: Linux
00:00:00.030941 OS Release: 5.8.0-lp152.2.g9bc0044-default
00:00:00.030946 OS Version: #1 SMP Tue Aug 4 07:30:59 UTC 2020 (9bc0044)
00:00:00.030980 DMI Product Name: NUC7PJYH
00:00:00.031003 DMI Product Version: J67992-403
00:00:00.031020 Firmware type: UEFI
00:00:00.031669 Secure Boot: Disabled
00:00:00.031757 Host RAM: 7537MB (7.3GB) total, 6704MB (6.5GB) available
00:00:00.031764 Executable: /usr/lib/virtualbox/VBoxHeadless
00:00:00.031765 Process ID: 2789
00:00:00.031765 Package type: LINUX_64BITS_GENERIC (OSE)
00:00:00.035884 Installed Extension Packs:
00:00:00.035900   None installed!
00:00:00.037530 Console: Machine state changed to 'Starting'
00:00:00.039136 VRDE: VirtualBox Remote Desktop Extension is not available.
00:00:00.043357 PDMLdr: pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_NO_EXEC_MEMORY szErr="SUP_IOCTL_LDR_OPEN failed"
00:00:00.043437 VMSetError: /home/abuild/rpmbuild/BUILD/VirtualBox-6.1.12/src/VBox/VMM/VMMR3/PDMLdr.cpp(733) int pdmR3LoadR0U(PUVM, const char*, const char*, const char*); rc=VERR_NO_EXEC_MEMORY
00:00:00.043441 VMSetError: Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed
00:00:00.043468 VMSetError: /home/abuild/rpmbuild/BUILD/VirtualBox-6.1.12/src/VBox/VMM/VMMR3/VM.cpp(563) int vmR3CreateU(PUVM, uint32_t, PFNCFGMCONSTRUCTOR, void*); rc=VERR_NO_EXEC_MEMORY
00:00:00.043471 VMSetError: Failed to load VMMR0.r0
00:00:00.043708 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed (VERR_NO_EXEC_MEMORY).
00:00:00.043720 Failed to load VMMR0.r0 (VERR_NO_EXEC_MEMORY)}, preserve=false aResultDetail=-96
00:00:00.043932 Console: Machine state changed to 'PoweredOff'
00:00:00.057583 Power up failed (vrc=VERR_NO_EXEC_MEMORY, rc=NS_ERROR_FAILURE (0X80004005))

VBox.log running Tumbleweed with self compiled kernel:

00:00:00.703994 VirtualBox VM 6.1.12_SUSE r139181 linux.amd64 (no date no time) release log
00:00:00.703996 Log opened 2020-08-05T06:33:58.646773000Z
00:00:00.703997 Build Type: release
00:00:00.704000 OS Product: Linux
00:00:00.704002 OS Release: 5.8.0-Own
00:00:00.704003 OS Version: #1 SMP Wed Aug 5 07:47:18 CEST 2020
00:00:00.704024 DMI Product Name: MS-7845
00:00:00.704033 DMI Product Version: 1.0
00:00:00.704042 Firmware type: BIOS
00:00:00.704080 Host RAM: 15969MB (15.5GB) total, 14982MB (14.6GB) available
00:00:00.704084 Executable: /usr/lib/virtualbox/VirtualBoxVM
00:00:00.704085 Process ID: 10203
00:00:00.704086 Package type: LINUX_64BITS_GENERIC (OSE)
00:00:00.706310 Installed Extension Packs:
00:00:00.706317   None installed!
00:00:00.707033 Console: Machine state changed to 'Starting'
00:00:00.707195 Qt version: 5.15.0
00:00:00.707201 X11 Window Manager code: 3
00:00:00.712737 GUI: UIMediumEnumerator: Medium-enumeration finished!
00:00:00.713748 X Server details: vendor: The X.Org Foundation, release: 12008000, protocol version: 11.0, display string: :0
00:00:00.713759 Using XKB for keycode to scan code conversion
00:00:00.718105 PDMLdr: pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_NO_EXEC_MEMORY szErr="SUP_IOCTL_LDR_OPEN failed"
00:00:00.718141 VMSetError: /home/abuild/rpmbuild/BUILD/VirtualBox-6.1.12/src/VBox/VMM/VMMR3/PDMLdr.cpp(733) int pdmR3LoadR0U(PUVM, const char*, const char*, const char*); rc=VERR_NO_EXEC_MEMORY
00:00:00.718142 VMSetError: Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed
00:00:00.718149 VMSetError: /home/abuild/rpmbuild/BUILD/VirtualBox-6.1.12/src/VBox/VMM/VMMR3/VM.cpp(563) int vmR3CreateU(PUVM, uint32_t, PFNCFGMCONSTRUCTOR, void*); rc=VERR_NO_EXEC_MEMORY
00:00:00.718150 VMSetError: Failed to load VMMR0.r0
00:00:00.718246 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed (VERR_NO_EXEC_MEMORY).
00:00:00.718257 Failed to load VMMR0.r0 (VERR_NO_EXEC_MEMORY)}, preserve=false aResultDetail=-96
00:00:00.718370 Console: Machine state changed to 'PoweredOff'
00:00:00.719048 GUI: UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated: Screen 0 work area is actually resized to: 1920x0 x 1920x1050
00:00:00.721994 GUI: UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated: Screen 1 work area is actually resized to: 0x36 x 1920x1044
00:00:00.725097 Power up failed (vrc=VERR_NO_EXEC_MEMORY, rc=NS_ERROR_FAILURE (0X80004005))
00:00:01.225845 GUI: UIMachineViewNormal::resendSizeHint: Restoring guest size-hint for screen 0 to 1851x921
00:00:01.225918 ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={4680b2de-8690-11e9-b83d-5719e53cf1de} aComponent={DisplayWrap} aText={The console is not powered up}, preserve=false aResultDetail=0
00:00:01.225990 GUI: Aborting startup due to power up progress issue detected...

I am not sure but it might be related to https://www.virtualbox.org/ticket/19644

Hi
Very likely the issue, since your running a bleeding edge kernel on your Leap system, you might want to ask direct with Larry as the openSUSE virtualbox maintainer?

Seems to build fine in the Development repository;
https://build.opensuse.org/package/show/Virtualization/virtualbox

There are some patches for the 6.12 Version in the virtualization Repo by Larry Finger.

The same error is here, I can not say if it is with Installation of kernel 5.8 or an update from 5.8.0-1 to 5.8.0-2, because I had not running it for a longer time.

My Virtualbox is build in my Repo as branch from Virtualization Repo.

My used packages are from my project and also linked against Virtualization- and Kernel-Stable-Repo: https://build.opensuse.org/project/show/home:Herbster0815:virtualbox

I opened a topic in VirtualBox-Forums: https://forums.virtualbox.org/viewtopic.php?f=7&t=99310

Hi
I see this, better to contact the maintainer so one channel of communication…
https://lists.opensuse.org/opensuse-kernel/2020-08/msg00000.html

When you install Virtualbox from an openSUSE repo, normally the kernel modules are pre-built against the kernel that’s provided by default (note how I tried to clarify by the specific wording).

I think I see you’re using Virtualbox from an openSUSE repo with a kernel that’s different than what is installed from the OSS which ordinarily won’t work.

If you insist on running your own kernel selection,
I’m pretty sure you have to install Virtualbox from the Oracle website so that your kernel modules are built on demand during your installation.
And, although not relevant to your current error, it looks like you haven’t been installing your Extension Pack as well.

TSU

The Problem exists with kernel 5.8 from kernel:stable Repo and maybe it will exists when Kernel 5.8 will be in the Tumbleweed Repo.

So the Bugreport and mailing list is the best choice.

Here is the bugreport: https://bugzilla.opensuse.org/show_bug.cgi?id=1174983

@TSU
the kernel modules do match the running kernel of course:

[08:20:00 @ Fr Aug 07]mediapc@Rechenzwerg~/]$uname -a
Linux Rechenzwerg 5.8.0-lp152.2.g9bc0044-default #1 SMP Tue Aug 4 07:30:59 UTC 2020 (9bc0044) x86_64 x86_64 x86_64 GNU/Linux
[08:29:34 @ Fr Aug 07]mediapc@Rechenzwerg~/]$modinfo vboxdrv
filename:       /lib/modules/5.8.0-lp152.2.g9bc0044-default/extra/vboxdrv.ko
version:        6.1.12_SUSE r139181 (0x002d0001)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     BDEB9E7CD30684FC70310D2
depends:
retpoline:      Y
name:           vboxdrv
vermagic:       5.8.0-lp152.2.g9bc0044-default SMP mod_unload modversions
sig_id:         PKCS#7
signer:         home:Herbster0815 OBS Project
sig_key:        30:5D:31:26:30:24:06:03:55:04:03:0C:1D:68:6F:6D:65:3A:48:65:
                72:62:73:74:65:72:30:38:31:35:20:4F:42:53:20:50:72:6F:6A:65:
                63:74:31:33:30:31:06:09:2A:86:48:86:F7:0D:01:09:01:16:24:68:
                6F:6D:65:3A:48:65:72:62:73:74:65:72:30:38:31:35:40:62:75:69:
                6C:64:2E:6F:70:65:6E:73:75:73:65:2E:6F:72:67:02:09:00:FB:08:
                D9:B6:7F:C7:78:6A
sig_hashalgo:   sha256
signature:      70:C1:7C:36:93:5F:93:CC:EC:4B:7E:C0:BD:E0:55:AB:3E:8D:92:38:
                AA:E7:02:25:F3:BA:EE:99:6F:52:98:C8:C1:20:F2:36:58:D8:77:3B:
                18:40:21:64:95:AF:EB:B3:0E:ED:89:31:19:BD:FD:85:CB:A5:FE:59:
                CE:3F:6E:12:02:49:E0:AD:29:3E:80:D9:0F:E8:0D:5B:8F:95:B2:3A:
                37:67:FF:92:D7:87:5F:B2:B6:11:9D:56:29:5C:34:D8:D2:3E:A1:3F:
                56:0D:3D:2E:51:4D:62:26:F3:B8:FF:07:12:39:B6:B1:B8:06:D1:F0:
                D1:48:A4:80:0A:5E:0F:C3:E3:7B:DD:C5:92:5E:5B:25:C8:8E:62:54:
                89:43:17:0E:FE:03:68:C4:FD:B5:E8:08:EE:02:D3:B6:6A:0F:7E:99:
                1C:2E:A9:46:56:92:67:D6:97:75:6D:7A:AD:05:BA:6B:3D:60:2D:3C:
                67:B7:1F:78:26:42:97:91:27:77:95:C8:86:B4:05:ED:0E:19:F2:26:
                58:21:71:6C:63:BC:76:4D:17:C1:B5:F8:73:AE:6D:BD:20:A2:E6:04:
                59:DF:94:DB:83:AC:1B:EF:DC:59:6E:88:60:53:B4:FB:2C:8D:D1:D3:
                9D:60:FB:BC:FC:75:C2:11:94:AA:14:D0:22:30:A7:FE
parm:           force_async_tsc:force the asynchronous TSC mode (int)
[08:30:15 @ Fr Aug 07]Herbie@Rosstheboss~/]$uname -a
Linux Rosstheboss 5.8.0-Own #2 SMP Fri Aug 7 07:49:21 CEST 2020 x86_64 x86_64 x86_64 GNU/Linux
[08:30:17 @ Fr Aug 07]Herbie@Rosstheboss~/]$modinfo vboxdrv
filename:       /lib/modules/5.8.0-Own/misc/vboxdrv.ko
version:        6.1.12_SUSE r139181 (0x002d0001)
license:        GPL
description:    Oracle VM VirtualBox Support Driver
author:         Oracle Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     BDEB9E7CD30684FC70310D2
depends:
retpoline:      Y
name:           vboxdrv
vermagic:       5.8.0-Own SMP mod_unload modversions
parm:           force_async_tsc:force the asynchronous TSC mode (int)

The extension pack is not needed to run a VM:

Support for USB 2.0 and USB 3.0 devices, VirtualBox RDP, disk encryption, NVMe and PXE boot for Intel cards. See this chapter from the User Manual for an introduction to this Extension Pack. The Extension Pack binaries are released under the VirtualBox Personal Use and Evaluation License (PUEL). Please install the same version extension pack as your installed version of VirtualBox.

The latest dev version works fine: https://www.virtualbox.org/download/testcase/VirtualBox-6.1.97-139689-Linux_amd64.run

Tried both, Tumbleweed and Leap. It works fine if you use the dev version. Yey, I have my pihole back :slight_smile:

● ubuntu-pihole.service - VM Ubuntu-Pihole
   Loaded: loaded (/etc/systemd/system/ubuntu-pihole.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-08-07 09:17:15 CEST; 4s ago
  Process: 17989 ExecStart=/usr/bin/VBoxManage startvm Ubuntu-Pihole --type headless (code=exited, status=0/SUCCESS)
    Tasks: 38
   CGroup: /system.slice/ubuntu-pihole.service
           ├─18003 /opt/VirtualBox/VBoxXPCOMIPCD
           ├─18009 /opt/VirtualBox/VBoxSVC --auto-shutdown
           └─18025 /opt/VirtualBox/VBoxHeadless --comment Ubuntu-Pihole --startvm 119106e6-3f31-46da-b1c4-ee4e3b3528c5 --vrde config

Aug 07 09:17:15 Rechenzwerg systemd[1]: Starting VM Ubuntu-Pihole...
Aug 07 09:17:15 Rechenzwerg VBoxManage[17989]: Waiting for VM "Ubuntu-Pihole" to power on...
Aug 07 09:17:15 Rechenzwerg VBoxManage[17989]: VM "Ubuntu-Pihole" has been successfully started.
Aug 07 09:17:15 Rechenzwerg systemd[1]: Started VM Ubuntu-Pihole.

Unfortunately I had to do do a rollback on the Leap system. The machine froze or went in a reboot loop. So I disabled my repo conatining virtualbox- and kernel-packages and installed the ones shipped with Leap by default:

kernel-default-5.3.18-lp152.33.1.x86_64
kernel-default-devel-5.3.18-lp152.33.1.x86_64
kernel-devel-5.3.18-lp152.33.1.noarch
kernel-firmware-20200107-lp152.1.1.noarch
kernel-firmware-i915-20200716-lp152.35.1.noarch
kernel-firmware-intel-20200716-lp152.35.1.noarch
kernel-firmware-iwlwifi-20200716-lp152.35.1.noarch
kernel-firmware-realtek-20200716-lp152.35.1.noarch
kernel-firmware-sound-20200716-lp152.35.1.noarch
kernel-macros-5.3.18-lp152.33.1.noarch
kernel-preempt-devel-5.3.18-lp152.33.1.x86_64
kernel-source-5.3.18-lp152.33.1.noarch
kernel-syms-5.3.18-lp152.33.1.x86_64
nfs-kernel-server-2.1.1-lp152.8.3.x86_64
purge-kernels-service-0-lp152.4.1.noarch
virtualbox-6.1.10-lp152.1.1.x86_64
virtualbox-kmp-default-6.1.10_k5.3.18_lp152.18-lp152.1.1.x86_64

Now the system is really stable and the pihole-VM is running fine.

On Tumbleweed the dev version of VirtualBox runs stable with Kernel 5.8. Not sure what is making the difference.

Same problem here on Tumbleweed. zypper dup installed kernel 5.8.0-1.1 and also an update for Virtual Box (virtualbox-kmp-default-6.1.12_k5.8.0_1-1.6), but trying to start a VM also results in “Failed to load R0 module” message. Since I need the VM while in Home Office I rolled back to kernel 5.7.11 and locked Kernel and VBox updates for now.

I did a zypper dup yesterday, which upgraded my system to 5.8, and when I tried to start Virtualbox today, I am getting this message for all VMs:

“Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed (VERR_NO_EXEC_MEMORY).
Failed to load VMMR0.r0 (VERR_NO_EXEC_MEMORY).”

(Edit: Using Tumbleweed)

The Problem is Virtualbox, not the kernel.

If there is an older kernel installed, switch to that one in grub.

Hi
Go for the Maintainers second option, I don’t think there will be a fix coming in the short term, sort of defeats the purpose of using Tumbleweed?

Yes, and should be able to run on older 5.7 kernel (if you have it).
Looking up VBox bug reports, our (openSUSE) Lfinger who maintains the openSUSE version identified the kernel 5.8 problem about a month before 5.8 scheduled release and almost heroically pushed hard for a resolution but no resolution was found.

But, don’t blame this entirely (or maybe at all) on Virtualbox, apparently there is currently no resolution for VMware, either.
I read a hint that KVM has something special written into the kernel so it’s not broken.

The basic problem seems to be related to some extreme tightening in security between kernel modules and the initrd since approx kernel 5.5, apparently kernel 5.8 finally closed the “loophole” 3rd party virtualization products had been relying on.
I didn’t locate any discussion by kernel maintainers related to this, so there may be an impasse.
Since yesterday VMware went ahead and announced their next version will be released shortly, there is a suspicion that VMware figured out some solution.

TSSU