Kernel driver not installed (rc=-1908) - all of the sudden.

Discussions related to using VirtualBox on Linux hosts.
Post Reply
czezz
Posts: 41
Joined: 22. Apr 2012, 12:07

Kernel driver not installed (rc=-1908) - all of the sudden.

Post by czezz »

Hi everyone,

Host OS: Ubuntu 22.04.3 LTS
VirtualBox Version: virtualbox/jammy-updates,now 6.1.38-dfsg-3~ubuntu1.22.04.1 amd64

All of the sudden (after months of using virtualbox) when trying to run any of VMs I get error:

Code: Select all

 Kernel driver not installed (rc=-1908) 
I tried some google's advises first but none worked:

Code: Select all

$ sudo modinfo -n vboxdrv
modinfo: ERROR: Module vboxdrv not found.

$ sudo apt install virtualbox-ext-pack
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
virtualbox-ext-pack is already the newest version (6.1.38-1~ubuntu1.22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

$ sudo /sbin/vboxconfig
sudo: /sbin/vboxconfig: command not found

$ sudo  find / -type f -name vboxconfig
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/run/user/1000/gvfs’: Permission denied
Then I tried: sudo apt reinstall virtualbox-dkms but that ends up with following error and produce following error log:

Code: Select all

Deleting module virtualbox-6.1.38 completely from the DKMS tree.
Unpacking virtualbox-dkms (6.1.38-dfsg-3~ubuntu1.22.04.1) over (6.1.38-dfsg-3~ubuntu1.22.04.1) ...
Setting up virtualbox-dkms (6.1.38-dfsg-3~ubuntu1.22.04.1) ...
Loading new virtualbox-6.1.38 DKMS files...
Building for 6.5.0-14-generic
Building initial module for 6.5.0-14-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 6.5.0-14-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.38/build/make.log for more information.
dpkg: error processing package virtualbox-dkms (--configure):
 installed virtualbox-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
 virtualbox-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
/var/crash/virtualbox-dkms.0.crash

Code: Select all

$ cat /var/crash/virtualbox-dkms.0.crash
ProblemType: Package
DKMSBuildLog:
 DKMS make.log for virtualbox-6.1.38 for kernel 6.5.0-14-generic (x86_64)
 Mi 10 Jan 2024 14:12:10 CET
 make: Entering directory '/usr/src/linux-headers-6.5.0-14-generic'
 warning: the compiler differs from the one used to build the kernel
   The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
   You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/linux/SUPDrv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvGip.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvSem.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o: warning: objtool: SUPR0TracerFireProbe+0x7: indirect jump found in RETPOLINE build
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub+0x0: 'naked' return found in RETHUNK build
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/SUPLibAll.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/alloc-r0drv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/initterm-r0drv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/memobj-r0drv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/mpnotification-r0drv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/powernotification-r0drv.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
   CC [M]  /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’:
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1228:18: error: too many arguments to function ‘get_user_pages’
  1228 |             rc = get_user_pages(R3Ptr,                  /* Where from. */
       |                  ^~~~~~~~~~~~~~
 In file included from /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/the-linux-kernel.h:102,
                  from /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:31:
 ./include/linux/mm.h:2430:6: note: declared here
  2430 | long get_user_pages(unsigned long start, unsigned long nr_pages,
       |      ^~~~~~~~~~~~~~
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1261:33: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  1261 |                                 papVMAs                 /* vmas */
       |                                 ^~~~~~~
       |                                 |
       |                                 struct vm_area_struct **
 ./include/linux/mm.h:2400:33: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
  2400 |                            int *locked);
       |                            ~~~~~^~~~~~
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1245:18: error: too many arguments to function ‘get_user_pages_remote’
  1245 |             rc = get_user_pages_remote(
       |                  ^~~~~~~~~~~~~~~~~~~~~
 ./include/linux/mm.h:2397:6: note: declared here
  2397 | long get_user_pages_remote(struct mm_struct *mm,
       |      ^~~~~~~~~~~~~~~~~~~~~
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1304:39: error: assignment of read-only member ‘vm_flags’
  1304 |                 papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
       |                                       ^~
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeMapUser’:
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1774:35: error: assignment of read-only member ‘vm_flags’
  1774 |                     vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
       |                                   ^~
 cc1: some warnings being treated as errors
 make[3]: *** [scripts/Makefile.build:251: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Error 1
 make[3]: *** Waiting for unfinished jobs....
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyTo+0x13: redundant CLD
 /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: VBoxHost_RTR0MemKernelCopyFrom+0x13: redundant CLD
 make[2]: *** [scripts/Makefile.build:488: /var/lib/dkms/virtualbox/6.1.38/build/vboxdrv] Error 2
 make[1]: *** [/usr/src/linux-headers-6.5.0-14-generic/Makefile:2037: /var/lib/dkms/virtualbox/6.1.38/build] Error 2
 make: *** [Makefile:234: __sub-make] Error 2
 make: Leaving directory '/usr/src/linux-headers-6.5.0-14-generic'
DKMSKernelVersion: 6.5.0-14-generic
Date: Wed Jan 10 14:12:21 2024
DuplicateSignature: dkms:virtualbox-dkms:6.1.38-dfsg-3~ubuntu1.22.04.1:/var/lib/dkms/virtualbox/6.1.38/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1228:18: error: too many arguments to function ‘get_user_pages’
Package: virtualbox-dkms 6.1.38-dfsg-3~ubuntu1.22.04.1
PackageVersion: 6.1.38-dfsg-3~ubuntu1.22.04.1
SourcePackage: virtualbox
Title: virtualbox-dkms 6.1.38-dfsg-3~ubuntu1.22.04.1: virtualbox kernel module failed to build
czezz
Posts: 41
Joined: 22. Apr 2012, 12:07

Re: Kernel driver not installed (rc=-1908) - all of the sudden.

Post by czezz »

UPDATE:
I just have found this is confirmed bug:
https://bugs.launchpad.net/ubuntu/+sour ... ug/2049104
fth0
Volunteer
Posts: 5678
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Kernel driver not installed (rc=-1908) - all of the sudden.

Post by fth0 »

FWIW, it's not really a bug, but expected behavior:

VirtualBox on the host (and the VirtualBox Guest Additions in the guest) build their own kernel modules during/after installation. In consequence, incompatible changes in newer Linux kernels break the building of the kernel modules.

Linux kernel 6.5 is only supported by Oracle's VirtualBox 6.1.46 + 7.0.10 and newer. You can either wait for Ubuntu to fix their VirtualBox version, or uninstall all Ubuntu-provided VirtualBox packages and install the Oracle-provided VirtualBox version (e.g VirtualBox 6.1.48 + 7.0.12 currently).

Edit:
VirtualBox 6.1.50 + 7.0.14 are available now.
Last edited by fth0 on 16. Jan 2024, 21:50, edited 1 time in total.
raffix
Posts: 1
Joined: 16. Jan 2024, 15:02

Re: Kernel driver not installed (rc=-1908) - all of the sudden.

Post by raffix »

fth0 wrote: 12. Jan 2024, 16:45 You can either wait for Ubuntu to fix their VirtualBox version, or uninstall all Ubuntu-provided VirtualBox packages and install the Oracle-provided VirtualBox version (e.g VirtualBox 6.1.48 + 7.0.12 currently).
The problem is I have installed the current version of VirtualBox 7.0.12, but after a kernel upgrade a few days ago the kernel module of VirtualBox cannot be built.
I fixed it by installing gcc-12 on Ubuntu 22.04. This seemed to be the problem.
fth0
Volunteer
Posts: 5678
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Kernel driver not installed (rc=-1908) - all of the sudden.

Post by fth0 »

raffix wrote: 16. Jan 2024, 15:06 I fixed it by installing gcc-12 on Ubuntu 22.04. This seemed to be the problem.
But you aren't the OP of this thread, are you? ;)

The OP uses VirtualBox version 6.1.38 from September 2022 (!), and the warnings regarding the gcc version contradict themselves (in other users' reports, the "You are using:" really indicates a different gcc version.:
czezz wrote: 12. Jan 2024, 14:26 DKMS make.log for virtualbox-6.1.38 for kernel 6.5.0-14-generic (x86_64)
[...]
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
You are using: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Anyway, please try VirtualBox 6.1.50 from today.
Post Reply