Virtualbox does not work on 20.04-edge kernel due to DKMS build failure

Bug #1904590 reported by Thomas
30
This bug affects 7 people
Affects Status Importance Assigned to Milestone
dkms (Ubuntu)
Confirmed
Undecided
Unassigned
virtualbox (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Building DKMS kernel modules for Virtualbox for kernel 5.8 (Ubuntu kernel linux-image-generic-hwe-20.04-edge) fails and subsequently Virtualbox does not work.

Ubuntu release:
~$ lsb_release -rd
Description: Ubuntu 20.04.1 LTS
Release: 20.04

Relevant Virtualbox packages/versions:
virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1
virtualbox-dkms 6.1.10-dfsg-1~ubuntu1.20.04.1
virtualbox-guest-additions-iso 6.1.10-1~ubuntu1.20.04.1
virtualbox-qt 6.1.10-dfsg-1~ubuntu1.20.04.1

Kernel packages:
~$ dpkg-query -f '${Package} ${Status}\n' -W "linux-image*" | awk '$NF == "installed"{print $1}'
linux-image-5.4.0-54-generic
linux-image-5.8.0-28-generic
linux-image-5.8.0-29-generic
linux-image-generic
linux-image-generic-hwe-20.04-edge

Kernel:
~$ uname -r
5.8.0-29-generic

I get an error when building DKMS for Virtualbox for kernel 5.8:
~$ sudo /usr/lib/dkms/dkms_autoinstaller start 5.8.0-29-generic
 * dkms: running auto installation service for kernel 5.8.0-29-generic
Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.8.0-29-generic -C /lib/modules/5.8.0-29-generic/build M=/var/lib/dkms/virtualbox/6.1.10/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.8.0-29-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.

Build log file:
~$ cat /var/lib/dkms/virtualbox/6.1.10/build/make.log
DKMS make.log for virtualbox-6.1.10 for kernel 5.8.0-29-generic (x86_64)
di 17 nov 2020 16:30:39 CET
make: Entering directory '/usr/src/linux-headers-5.8.0-29-generic'
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvGip.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvSem.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvTracer.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPLibAll.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/alloc-r0drv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/initterm-r0drv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/memobj-r0drv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/mpnotification-r0drv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/powernotification-r0drv.o
  CC [M] /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
In file included from ./include/asm-generic/percpu.h:7,
                 from ./arch/x86/include/asm/percpu.h:556,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:78,
                 from ./include/linux/spinlock.h:51,
                 from /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/../SUPDrvInternal.h:79,
                 from /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:32:
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c: In function ‘supdrvOSChangeCR4’:
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: error: ‘cpu_tlbstate’ undeclared (first use in this function); did you mean ‘cpuhp_state’?
  760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
      | ^~~~~~~~~~~~
./include/linux/percpu-defs.h:318:9: note: in definition of macro ‘__pcpu_size_call_return’
  318 | typeof(variable) pscr_ret__; \
      | ^~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: note: in expansion of macro ‘this_cpu_read’
  760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
      | ^~~~~~~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:38: note: each undeclared identifier is reported only once for each function it appears in
  760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
      | ^~~~~~~~~~~~
./include/linux/percpu-defs.h:318:9: note: in definition of macro ‘__pcpu_size_call_return’
  318 | typeof(variable) pscr_ret__; \
      | ^~~~~~~~
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.c:760:24: note: in expansion of macro ‘this_cpu_read’
  760 | RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
      | ^~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:290: /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/linux/SUPDrv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/var/lib/dkms/virtualbox/6.1.10/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
make[1]: *** [scripts/Makefile.build:519: /var/lib/dkms/virtualbox/6.1.10/build/vboxdrv] Error 2
make: *** [Makefile:1780: /var/lib/dkms/virtualbox/6.1.10/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.8.0-29-generic'

Happy to provide any additional information. Thanks!

Tags: focal
Thomas (twvd)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in dkms (Ubuntu):
status: New → Confirmed
Changed in virtualbox (Ubuntu):
status: New → Confirmed
Revision history for this message
Mateusz Bysiek (mbdev) wrote :

FYI, from the Virtualbox changelog at https://www.virtualbox.org/wiki/Changelog-6.1:

> VirtualBox 6.1.14:
> ...
> Linux host and guest: Linux kernel version 5.8 support

Therefore, it should be fixed after the VirtualBox package on Ubuntu 20.04 gets updated. After running into the same issue as you, I installed VirtualBox 6.1.16 from the Virtualbox.org contrib PPA, and the VMs run alright on my fresh 5.8.0-33-lowlatency kernel.

Revision history for this message
AsciiWolf (asciiwolf) wrote :

Still the same issue with virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1 on kernel 5.8.0.36.40~20.04.21 from linux-image-generic-hwe-20.04-edge.

tags: added: focal
Revision history for this message
Mateusz Bysiek (mbdev) wrote :

About:

> Still the same issue with virtualbox 6.1.10-dfsg-1~ubuntu1.20.04.1 on kernel 5.8.0.36.40~20.04.21

That is because the support for kernel 5.8 line was added in VirtualBox 6.1.14. I'm not sure why would anyone expect th

As the version in official Ubuntu repos is now 6.1.16-dfsg-6~ubuntu1.20.04.1 I've reverted to using official Ubuntu repos, and everything works all right.

I think this bug can be basically marked as resolved.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.