virtualbox-guest-dkms 4.2.16-dfsg-3: virtualbox-guest kernel module failed to build [error: ‘struct mm_struct’ has no member named ‘numa_next_reset’]

Bug #1254803 reported by W00ster on 2013-11-25
82
This bug affects 15 people
Affects Status Importance Assigned to Milestone
virtualbox (Debian)
Fix Released
Unknown
virtualbox (Ubuntu)
Medium
Unassigned

Bug Description

Not much I know, this must have come from building kernel modules.

ProblemType: Package
DistroRelease: Ubuntu 13.10
Package: virtualbox-guest-dkms 4.2.16-dfsg-3
Uname: Linux 3.12.0-031200rc5-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.1
Architecture: amd64
DKMSKernelVersion: 3.13.0-rc1
Date: Sat Nov 23 12:56:03 2013
DuplicateSignature: dkms:virtualbox-guest-dkms:4.2.16-dfsg-3:/var/lib/dkms/virtualbox-guest/4.2.16/build/vboxguest/r0drv/linux/memobj-r0drv-linux.c:1539:26: error: ‘struct mm_struct’ has no member named ‘numa_next_reset’
InstallationDate: Installed on 2013-10-18 (38 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
MarkForUpload: True
PackageArchitecture: all
PackageVersion: 4.2.16-dfsg-3
SourcePackage: virtualbox
Title: virtualbox-guest-dkms 4.2.16-dfsg-3: virtualbox-guest kernel module failed to build
UpgradeStatus: No upgrade log present (probably fresh install)

W00ster (svein-brostigen) wrote :
tags: removed: need-duplicate-check
summary: virtualbox-guest-dkms 4.2.16-dfsg-3: virtualbox-guest kernel module
- failed to build
+ failed to build [error: ‘struct mm_struct’ has no member named
+ ‘numa_next_reset’]
Launchpad Janitor (janitor) wrote :

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

Changed in virtualbox (Ubuntu):
status: New → Confirmed
Daniel Eckl (daniel-eckl) wrote :

I guess that code cannot compile under kernel 3.13, as they removed numa_next_reset and some other NUMA functions.

I think I found the offending commit here: http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=930aa174fcc8b0efaad102fd80f677b92f35eaa2

Daniel Eckl (daniel-eckl) wrote :

By looking at the affected lines in the vboxdrv code, I was wild guessing, that they maybe wanted to disable exactly these functions, that have been deleted from the kernel. So I gave it a try and removed the whole if clause.

It build fine and my guest vm has booted flawlessly. Of course, just booting does not mean a lot, but anyway, I want to share that with you.

Attached is the patch of my changes. I was so bold to select "This attachment contains a solution (patch) for this bug" ;)) Bear with me in case I'm wrong ;)

Daniel Eckl (daniel-eckl) wrote :

I just realised, that this bug is about the guest additions, while mine is about the kernel modules for the host. But I'm rather sure, that's the same module here. Even the line numbers are the same (memobj-r0drv-linux.c:1539:26) ;)

Daniel Eckl (daniel-eckl) wrote :

So I ran some compile stuff in my guest vm, and so far I cannot find any problems.

I realized that my patch is a bit of a gatling gun and I want to replace it wht a sniper, addressing only exactly what's needed. So instead of deleting the offending lines, I now put them behind a test to check for the kernel verison. That way the same code can run on kernels below 3.13 ad well.

Find the patch version 2 attached.

The attachment "vbox_remove_numa_disabling.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch

Same error

"/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1539:26: error: ‘struct mm_struct’ has no member named ‘numa_next_reset’"

occurs when running the following command

sudo /etc/init.d/vboxdrv setup

using the following version of Virtualbox

4.3.2 r90405

on the following kernel

3.13.0-031300rc2-generic #201311291635 SMP Fri Nov 29 21:36:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

in Ubuntu 13.10

So the newer Virtualbox version still does not take the recent changes to kernel version 3.13 into account...

Jim Cromie (jim-cromie) wrote :

I noticed in the details that vmlinux-3.13-rc5 was identified.
That is wrong - Im running a stock kernel
Linux chumly 3.11.0-14-generic #21-Ubuntu SMP Tue Nov 12 17:07:40 UTC 2013 i686 i686 i686 GNU/Linux
Though I did have 3.13-rc5 running before last reboot.

I reported on this existing bug because the dkms-version matched,
not because I got a numa-something error. this is a dual core laptop, not a numa machine.
This bug has happened here for many months now, but doesnt break anything I need.

I did notice once that dkms seemed to get confused with path to source,
I almost always build kernels using -O ../build-foo, and IIRC it used that
path to look for source. Hope this helps.

For me, this issue is finally solved by upgrading to Virtualbox version 4.3.6

The error

"/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1539:26: error: ‘struct mm_struct’ has no member named ‘numa_next_reset’"

does NOT occur when running the following command

sudo /etc/init.d/vboxdrv setup

using the following version of Virtualbox

4.3.6 r91406

on the following kernel

3.13.0-031300rc6-generic #201312291935 SMP Mon Dec 30 00:37:05 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

in Ubuntu 13.10.

So the even newer Virtualbox version 4.3.6 r91406 DOES take the recent changes to kernel version 3.13 into account...

Changed in virtualbox (Debian):
status: Unknown → Confirmed
Changed in virtualbox (Ubuntu):
importance: Undecided → Medium
Dmitry Shachnev (mitya57) wrote :
Changed in virtualbox (Ubuntu):
status: Confirmed → Fix Released
Changed in virtualbox (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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