How to fix VMware Workstation Player 17.5.2 not working on Kernel 6.8 (unable to install all modules)

Written by - 4 comments

Published on - last updated on August 23rd 2024 - Listed in VMware Virtualization Linux


A few days ago, a new Linux Kernel was installed on my main workstation, running Linux Mint. The apt history logs clearly show that on August 15th the new Kernel 6.8.0 was installed:

ck@mint ~ $ cat /var/log/apt/history.log
[...]
Start-Date: 2024-08-15  18:47:18
Commandline: /usr/sbin/synaptic --hide-main-window --non-interactive --parent-window-id 77594638 -o Synaptic::closeZvt=true --set-selections-file /tmp/tmp8jc5gax0
Requested-By: ckadm (1000)
Install: linux-hwe-6.8-headers-6.8.0-40:amd64 (6.8.0-40.40~22.04.3, automatic), linux-hwe-6.8-tools-6.8.0-40:amd64 (6.8.0-40.40~22.04.3, automatic), linux-modules-6.8.0-40-generic:amd64 (6.8.0-40.40~22.04.3, automatic), linux-image-6.8.0-40-generic:amd64 (6.8.0-40.40~22.04.3, automatic), linux-headers-6.8.0-40-generic:amd64 (6.8.0-40.40~22.04.3, automatic), linux-tools-6.8.0-40-generic:amd64 (6.8.0-40.40~22.04.3, automatic), linux-modules-extra-6.8.0-40-generic:amd64 (6.8.0-40.40~22.04.3, automatic)
[...]

For certain tasks involving a special VPN connection I sometimes use dedicated virtual machines. In the past years I've been using the free VMware Workstation Player for running such VMs. And, in general, the Workstation Player has worked hassle-free in the past.

But today, a few days after the installation of Kernel 6.8.0, I ran into unexpected issues. 

VMware Workstation Player unable to install Kernel modules

When I tried to launch VMware Workstation Player (version 17.5.2), it tried to install Kernel modules. This happens after every Kernel update, takes a few seconds and then the UI starts up. But not today. Today an error message showed:

VMware Workstation Player 17.5.2 unable to install Kernel modules on Kernel 6.8.0.

Unable to install all modules. See log ... for details. (Exit code 1)

Looking at the log file showed that the Kernel modules ran into an error during compiling, but why the compiling failed is not really clear (at least not to me):

ck@mint ~ $ cat /tmp/vmware-ck/vmware-26454.log
2024-08-19T06:22:02.803Z In(05) host-26454 Log for VMware Workstation pid=26454 version=17.5.2 build=build-23775571 option=Release
2024-08-19T06:22:02.803Z In(05) host-26454 The host is x86_64.
2024-08-19T06:22:02.803Z In(05) host-26454 Host codepage=UTF-8 encoding=UTF-8
2024-08-19T06:22:02.803Z In(05) host-26454 Host is Linux 6.8.0-40-generic Linux Mint 21.2 (Victoria) Linux Mint 21.2 21.2
2024-08-19T06:22:02.803Z In(05) host-26454 Host offset from UTC is +02:00.
2024-08-19T06:22:02.803Z In(05) host-26454 DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2024-08-19T06:22:02.803Z In(05) host-26454 [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2024-08-19T06:22:02.803Z In(05) host-26454 PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2024-08-19T06:22:02.803Z In(05) host-26454 DictionaryLoad: Cannot open file "/home/ck/.vmware/config": No such file or directory.
2024-08-19T06:22:02.803Z In(05) host-26454 [msg.dictionary.load.openFailed] Cannot open file "/home/ck/.vmware/config": No such file or directory.
2024-08-19T06:22:02.803Z In(05) host-26454 PREF Optional preferences file not found at /home/ck/.vmware/config. Using default values.
2024-08-19T06:22:02.885Z Wa(03) host-26454 Logging to /tmp/vmware-ck/vmware-26454.log
2024-08-19T06:22:02.894Z In(05) host-26454 Obtaining info using the running kernel.
2024-08-19T06:22:02.894Z In(05) host-26454 Created new pathsHash.
2024-08-19T06:22:02.894Z In(05) host-26454 Setting header path for 6.8.0-40-generic to "/lib/modules/6.8.0-40-generic/build/include".
2024-08-19T06:22:02.894Z In(05) host-26454 Validating path "/lib/modules/6.8.0-40-generic/build/include" for kernel release "6.8.0-40-generic".
2024-08-19T06:22:02.894Z In(05) host-26454 Failed to find /lib/modules/6.8.0-40-generic/build/include/linux/version.h
2024-08-19T06:22:02.894Z In(05) host-26454 /lib/modules/6.8.0-40-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2024-08-19T06:22:02.894Z In(05) host-26454 using /usr/bin/gcc-12 for preprocess check
2024-08-19T06:22:02.904Z In(05) host-26454 Preprocessed UTS_RELEASE, got value "6.8.0-40-generic".
2024-08-19T06:22:02.904Z In(05) host-26454 The header path "/lib/modules/6.8.0-40-generic/build/include" for the kernel "6.8.0-40-generic" is valid.  Whoohoo!
2024-08-19T06:22:03.174Z In(05) host-26454 found symbol version file /lib/modules/6.8.0-40-generic/build/Module.symvers
2024-08-19T06:22:03.174Z In(05) host-26454 Reading symbol versions from /lib/modules/6.8.0-40-generic/build/Module.symvers.
2024-08-19T06:22:03.191Z In(05) host-26454 Read 28974 symbol versions
2024-08-19T06:22:03.191Z In(05) host-26454 Reading in info for the vmmon module.
2024-08-19T06:22:03.191Z In(05) host-26454 Reading in info for the vmnet module.
2024-08-19T06:22:03.191Z In(05) host-26454 Invoking modinfo on "vmmon".
2024-08-19T06:22:03.196Z In(05) host-26454 "/sbin/modinfo" exited with status 256.
2024-08-19T06:22:03.196Z In(05) host-26454 Invoking modinfo on "vmnet".
2024-08-19T06:22:03.202Z In(05) host-26454 "/sbin/modinfo" exited with status 256.
2024-08-19T06:22:03.216Z In(05) host-26454 to be installed: vmmon status: 0
2024-08-19T06:22:03.216Z In(05) host-26454 to be installed: vmnet status: 0
2024-08-19T06:22:03.245Z In(05) host-26454 Obtaining info using the running kernel.
2024-08-19T06:22:03.245Z In(05) host-26454 Setting header path for 6.8.0-40-generic to "/lib/modules/6.8.0-40-generic/build/include".
2024-08-19T06:22:03.245Z In(05) host-26454 Validating path "/lib/modules/6.8.0-40-generic/build/include" for kernel release "6.8.0-40-generic".
2024-08-19T06:22:03.245Z In(05) host-26454 Failed to find /lib/modules/6.8.0-40-generic/build/include/linux/version.h
2024-08-19T06:22:03.245Z In(05) host-26454 /lib/modules/6.8.0-40-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2024-08-19T06:22:03.245Z In(05) host-26454 using /usr/bin/gcc-12 for preprocess check
2024-08-19T06:22:03.254Z In(05) host-26454 Preprocessed UTS_RELEASE, got value "6.8.0-40-generic".
2024-08-19T06:22:03.254Z In(05) host-26454 The header path "/lib/modules/6.8.0-40-generic/build/include" for the kernel "6.8.0-40-generic" is valid.  Whoohoo!
2024-08-19T06:22:03.525Z In(05) host-26454 found symbol version file /lib/modules/6.8.0-40-generic/build/Module.symvers
2024-08-19T06:22:03.525Z In(05) host-26454 Reading symbol versions from /lib/modules/6.8.0-40-generic/build/Module.symvers.
2024-08-19T06:22:03.541Z In(05) host-26454 Read 28974 symbol versions
2024-08-19T06:22:03.542Z In(05) host-26454 Kernel header path retrieved from FileEntry: /lib/modules/6.8.0-40-generic/build/include
2024-08-19T06:22:03.542Z In(05) host-26454 Update kernel header path to /lib/modules/6.8.0-40-generic/build/include
2024-08-19T06:22:03.542Z In(05) host-26454 Validating path "/lib/modules/6.8.0-40-generic/build/include" for kernel release "6.8.0-40-generic".
2024-08-19T06:22:03.542Z In(05) host-26454 Failed to find /lib/modules/6.8.0-40-generic/build/include/linux/version.h
2024-08-19T06:22:03.542Z In(05) host-26454 /lib/modules/6.8.0-40-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2024-08-19T06:22:03.542Z In(05) host-26454 using /usr/bin/gcc-12 for preprocess check
2024-08-19T06:22:03.551Z In(05) host-26454 Preprocessed UTS_RELEASE, got value "6.8.0-40-generic".
2024-08-19T06:22:03.551Z In(05) host-26454 The header path "/lib/modules/6.8.0-40-generic/build/include" for the kernel "6.8.0-40-generic" is valid.  Whoohoo!
2024-08-19T06:22:03.553Z In(05) host-26454 Found compiler at "/usr/bin/gcc"
2024-08-19T06:22:03.555Z In(05) host-26454 Got gcc version "11".
2024-08-19T06:22:03.555Z In(05) host-26454 GCC major version 11 does not match Kernel GCC major version 12.
2024-08-19T06:22:03.555Z In(05) host-26454 Attempting to use a compiler at location "/usr/bin/gcc-12".
2024-08-19T06:22:03.557Z In(05) host-26454 Got gcc version "12".
2024-08-19T06:22:03.557Z In(05) host-26454 The GCC version matches the kernel GCC minor version like a glove.
2024-08-19T06:22:03.560Z In(05) host-26454 Got gcc version "12".
2024-08-19T06:22:03.560Z In(05) host-26454 The GCC version matches the kernel GCC minor version like a glove.
2024-08-19T06:22:03.561Z In(05) host-26454 Trying to find a suitable PBM set for kernel "6.8.0-40-generic".
2024-08-19T06:22:03.561Z In(05) host-26454 No matching PBM set was found for kernel "6.8.0-40-generic".
2024-08-19T06:22:03.561Z In(05) host-26454 The GCC version matches the kernel GCC minor version like a glove.
2024-08-19T06:22:03.561Z In(05) host-26454 Validating path "/lib/modules/6.8.0-40-generic/build/include" for kernel release "6.8.0-40-generic".
2024-08-19T06:22:03.561Z In(05) host-26454 Failed to find /lib/modules/6.8.0-40-generic/build/include/linux/version.h
2024-08-19T06:22:03.561Z In(05) host-26454 /lib/modules/6.8.0-40-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2024-08-19T06:22:03.561Z In(05) host-26454 using /usr/bin/gcc-12 for preprocess check
2024-08-19T06:22:03.571Z In(05) host-26454 Preprocessed UTS_RELEASE, got value "6.8.0-40-generic".
2024-08-19T06:22:03.571Z In(05) host-26454 The header path "/lib/modules/6.8.0-40-generic/build/include" for the kernel "6.8.0-40-generic" is valid.  Whoohoo!
2024-08-19T06:22:06.195Z In(05) host-26454 The GCC version matches the kernel GCC minor version like a glove.
2024-08-19T06:22:06.195Z In(05) host-26454 Validating path "/lib/modules/6.8.0-40-generic/build/include" for kernel release "6.8.0-40-generic".
2024-08-19T06:22:06.195Z In(05) host-26454 Failed to find /lib/modules/6.8.0-40-generic/build/include/linux/version.h
2024-08-19T06:22:06.195Z In(05) host-26454 /lib/modules/6.8.0-40-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2024-08-19T06:22:06.195Z In(05) host-26454 using /usr/bin/gcc-12 for preprocess check
2024-08-19T06:22:06.205Z In(05) host-26454 Preprocessed UTS_RELEASE, got value "6.8.0-40-generic".
2024-08-19T06:22:06.205Z In(05) host-26454 The header path "/lib/modules/6.8.0-40-generic/build/include" for the kernel "6.8.0-40-generic" is valid.  Whoohoo!
2024-08-19T06:22:06.205Z In(05) host-26454 Using temp dir "/tmp".
2024-08-19T06:22:14.267Z In(05) host-26454 Stopping VMware services:
2024-08-19T06:22:14.267Z In(05) host-26454    VMware Authentication Da done
2024-08-19T06:22:14.267Z In(05) host-26454    Virtual machine monitor  done
2024-08-19T06:22:14.267Z In(05) host-26454 make: Entering directory '/tmp/modconfig-NqxxNg/vmmon-only'
2024-08-19T06:22:14.267Z In(05) host-26454 /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
2024-08-19T06:22:14.267Z In(05) host-26454   MODULEBUILDDIR= modules
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/linux/driver.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/linux/driverLog.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/linux/hostif.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/apic.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/comport.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/cpuid.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/crosspage.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/memtrack.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/moduleloop.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/phystrack.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/sharedAreaVmmon.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmmon-only/common/statVarsVmmon.o
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
2024-08-19T06:22:14.267Z In(05) host-26454 make: Leaving directory '/tmp/modconfig-NqxxNg/vmmon-only'
2024-08-19T06:22:14.267Z In(05) host-26454 make: Entering directory '/tmp/modconfig-NqxxNg/vmnet-only'
2024-08-19T06:22:14.267Z In(05) host-26454 /usr/bin/make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
2024-08-19T06:22:14.267Z In(05) host-26454   MODULEBUILDDIR= modules
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Entering directory '/usr/src/linux-headers-6.8.0-40-generic'
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/driver.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/hub.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/userif.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/netif.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/bridge.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/procfs.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/smac_compat.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/smac.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/vnetEvent.o
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/vnetUserListener.o
2024-08-19T06:22:14.267Z In(05) host-26454   LD [M]  /tmp/modconfig-NqxxNg/vmnet-only/vmnet.o
2024-08-19T06:22:14.267Z In(05) host-26454   MODPOST /tmp/modconfig-NqxxNg/vmnet-only/Module.symvers
2024-08-19T06:22:14.267Z In(05) host-26454   CC [M]  /tmp/modconfig-NqxxNg/vmnet-only/vmnet.mod.o
2024-08-19T06:22:14.267Z In(05) host-26454   LD [M]  /tmp/modconfig-NqxxNg/vmnet-only/vmnet.ko
2024-08-19T06:22:14.267Z In(05) host-26454   BTF [M] /tmp/modconfig-NqxxNg/vmnet-only/vmnet.ko
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
2024-08-19T06:22:14.267Z In(05) host-26454 /usr/bin/make -C $PWD SRCROOT=$PWD/. \
2024-08-19T06:22:14.267Z In(05) host-26454   MODULEBUILDDIR= postbuild
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Entering directory '/tmp/modconfig-NqxxNg/vmnet-only'
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: 'postbuild' is up to date.
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: Leaving directory '/tmp/modconfig-NqxxNg/vmnet-only'
2024-08-19T06:22:14.267Z In(05) host-26454 cp -f vmnet.ko ./../vmnet.o
2024-08-19T06:22:14.267Z In(05) host-26454 make: Leaving directory '/tmp/modconfig-NqxxNg/vmnet-only'
2024-08-19T06:22:14.267Z In(05) host-26454 [AppLoader] GLib does not have GSettings support.
2024-08-19T06:22:14.267Z In(05) host-26454 Using kernel build system.
2024-08-19T06:22:14.267Z In(05) host-26454 warning: the compiler differs from the one used to build the kernel
2024-08-19T06:22:14.267Z In(05) host-26454   The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
2024-08-19T06:22:14.267Z In(05) host-26454   You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/common/crosspage.o: warning: objtool: CrossPage_CodePage+0x207: 'naked' return found in RETHUNK build
2024-08-19T06:22:14.267Z In(05) host-26454 make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-NqxxNg/vmmon-only/common/crosspage.o] Error 255
2024-08-19T06:22:14.267Z In(05) host-26454 make[3]: *** Deleting file '/tmp/modconfig-NqxxNg/vmmon-only/common/crosspage.o'
2024-08-19T06:22:14.267Z In(05) host-26454 make[3]: *** Waiting for unfinished jobs....
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove()
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test()
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/linux/hostif.c:2926:1: warning: no previous prototype for ‘HostIFCheckTrackedMPN’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454  2926 | HostIFCheckTrackedMPN(VMDriver *vm, // IN: The VM instance
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/linux/hostif.c:3046:1: warning: no previous prototype for ‘HostIFWritePhysicalWork’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454  3046 | HostIFWritePhysicalWork(MA ma,             // MA to be written to
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/linux/hostif.c:3205:1: warning: no previous prototype for ‘HostIFStartTimer’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454  3205 | HostIFStartTimer(Bool rateChanged,  //IN: Did rate change?
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/linux/driver.c:271:1: warning: no previous prototype for ‘LinuxDriverInit’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454   271 | LinuxDriverInit(void)
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmmon-only/linux/driver.c:339:1: warning: no previous prototype for ‘LinuxDriverExit’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454   339 | LinuxDriverExit(void)
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 make[2]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /tmp/modconfig-NqxxNg/vmmon-only] Error 2
2024-08-19T06:22:14.267Z In(05) host-26454 make[1]: *** [Makefile:240: __sub-make] Error 2
2024-08-19T06:22:14.267Z In(05) host-26454 make: *** [Makefile:117: vmmon.ko] Error 2
2024-08-19T06:22:14.267Z In(05) host-26454 Using kernel build system.
2024-08-19T06:22:14.267Z In(05) host-26454 warning: the compiler differs from the one used to build the kernel
2024-08-19T06:22:14.267Z In(05) host-26454   The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
2024-08-19T06:22:14.267Z In(05) host-26454   You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/userif.c:1091:1: warning: no previous prototype for ‘VNetUserIf_Create’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454  1091 | VNetUserIf_Create(VNetPort **ret) // OUT
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/vnetUserListener.c:87:1: warning: no previous prototype for ‘VNetUserListener_Create’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454    87 | VNetUserListener_Create(uint32 classMask,  // IN: the listener's class mask
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/netif.c:173:1: warning: no previous prototype for ‘VNetNetIf_Create’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454   173 | VNetNetIf_Create(char *devName,  // IN:
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/bridge.c:258:1: warning: no previous prototype for ‘VNetBridge_Create’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454   258 | VNetBridge_Create(const char *devName, // IN:  name of device (e.g., "eth0")
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/bridge.c:1411:1: warning: no previous prototype for ‘VNetBridgeSendLargePacket’ [-Wmissing-prototypes]
2024-08-19T06:22:14.267Z In(05) host-26454  1411 | VNetBridgeSendLargePacket(struct sk_buff *skb,        // IN: packet to split
2024-08-19T06:22:14.267Z In(05) host-26454       | ^~~~~~~~~~~~~~~~~~~~~~~~~
2024-08-19T06:22:14.267Z In(05) host-26454 /tmp/modconfig-NqxxNg/vmnet-only/userif.o: warning: objtool: VNetCsumAndCopyToUser+0x2d: call to csum_partial_copy_nocheck() with UACCESS enabled
2024-08-19T06:22:14.267Z In(05) host-26454 Skipping BTF generation for /tmp/modconfig-NqxxNg/vmnet-only/vmnet.ko due to unavailability of vmlinux
2024-08-19T06:22:14.267Z In(05) host-26454 Unable to install all modules.  See log for details.
2024-08-19T06:22:14.267Z In(05) host-26454

Upon researching this error, I came across more resources than I'd expected. Some of them:

The important summary of all these resources was: Yes, VMware Workstation Player has sometimes (often as it turns out) issues with recent Kernel versions and compiling the needed Kernel modules then fail.

vmware-host-modules fix

Previous posts and answers all point to a GitHub repository called "vmware-host-modules" from mkubecek, which contains fixes. After learning about this repo and reading the INSTALL file, it really seems to be to "go to source" to fix VMware Workstation/Player issues after a Kernel update.

Unfortunately there was no fix yet for the Workstation Player version I've got installed (17.5.2). A discussion in issue #269 pointed me to a fork from nan0desu, containing fixes for Workstation Player 17.5.2 and for the even newer Kernel 6.9. Maybe this would also work for Kernel 6.8? Let's try it!

!!! Warning: As it turned out, the VMware modules for Kernel 6.9 were not compatible with the installed 6.8 Kernel. Skip this section and follow the steps under the section "Update: VM freezes and crashes with the 6.9 modules".

I'm keeping the original content for "lesson learned" purposes.

First let's clone the repository, directly with the branch "workstation-17.5.2-k6.9+":

ck@mint ~/Git $ git clone -b workstation-17.5.2-k6.9+ https://github.com/nan0desu/vmware-host-modules.git
Cloning into 'vmware-host-modules'...
remote: Enumerating objects: 4811, done.
remote: Counting objects: 100% (1530/1530), done.
remote: Compressing objects: 100% (236/236), done.
remote: Total 4811 (delta 1432), reused 1343 (delta 1294), pack-reused 3281 (from 1)
Receiving objects: 100% (4811/4811), 1.87 MiB | 27.31 MiB/s, done.
Resolving deltas: 100% (3688/3688), done.

Then change into this directory and launch "make" to start compiling the Kernel modules:

ck@mint ~/Git $ cd vmware-host-modules/
ck@mint ~/Git/vmware-host-modules $ make
make -C vmmon-only
make[1]: Entering directory '/home/ck/Git/vmware-host-modules/vmmon-only'
Using kernel build system.
make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-40-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]  /home/ck/Git/vmware-host-modules/vmmon-only/linux/driver.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/linux/hostif.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/apic.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/comport.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/cpuid.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/crosspage.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/memtrack.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/moduleloop.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/phystrack.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/statVarsVmmon.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/task.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/common/vmx86.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
  LD [M]  /home/ck/Git/vmware-host-modules/vmmon-only/vmmon.o
  MODPOST /home/ck/Git/vmware-host-modules/vmmon-only/Module.symvers
  CC [M]  /home/ck/Git/vmware-host-modules/vmmon-only/vmmon.mod.o
  LD [M]  /home/ck/Git/vmware-host-modules/vmmon-only/vmmon.ko
  BTF [M] /home/ck/Git/vmware-host-modules/vmmon-only/vmmon.ko
Skipping BTF generation for /home/ck/Git/vmware-host-modules/vmmon-only/vmmon.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Entering directory '/home/ck/Git/vmware-host-modules/vmmon-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/home/ck/Git/vmware-host-modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Leaving directory '/home/ck/Git/vmware-host-modules/vmmon-only'
make -C vmnet-only
make[1]: Entering directory '/home/ck/Git/vmware-host-modules/vmnet-only'
Using kernel build system.
make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-40-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]  /home/ck/Git/vmware-host-modules/vmnet-only/driver.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/hub.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/userif.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/netif.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/bridge.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/procfs.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/smac_compat.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/smac.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/vnetEvent.o
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/vnetUserListener.o
  LD [M]  /home/ck/Git/vmware-host-modules/vmnet-only/vmnet.o
  MODPOST /home/ck/Git/vmware-host-modules/vmnet-only/Module.symvers
  CC [M]  /home/ck/Git/vmware-host-modules/vmnet-only/vmnet.mod.o
  LD [M]  /home/ck/Git/vmware-host-modules/vmnet-only/vmnet.ko
  BTF [M] /home/ck/Git/vmware-host-modules/vmnet-only/vmnet.ko
Skipping BTF generation for /home/ck/Git/vmware-host-modules/vmnet-only/vmnet.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-40-generic'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Entering directory '/home/ck/Git/vmware-host-modules/vmnet-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/home/ck/Git/vmware-host-modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make[1]: Leaving directory '/home/ck/Git/vmware-host-modules/vmnet-only'

There was no compiling error!

Finally install these newly built Kernel modules:

ck@mint ~/Git/vmware-host-modules $ sudo make install
install -D -t /lib/modules/6.8.0-40-generic/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/6.8.0-40-generic/misc/vmmon.ko /lib/modules/6.8.0-40-generic/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 6.8.0-40-generic; fi

Workstation Player working again!

After this, the VMware Workstation Player 17.5.2 UI started up (without asking for installing modules) and worked again.

However a VM was unable to be started and resulted in an error:

Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module vmmon is loaded.

Could not open /dev/vmmon error when starting VM

After manually loading the vmmon module...

ck@mint ~ $ sudo modprobe vmmon

... the VM started up. 

However I realized quickly that the VM now has no Ethernet Interface, which was also logged in the VM's log file:

ck@mint ~ $ cat /vms/nzz-oob/vmware.log  | grep -i net
2024-08-19T09:22:38.065Z In(05) vmx DICT                NETWORKING = "yes"
2024-08-19T09:22:38.065Z In(05) vmx DICT             tag.netConfig = "devices_netadapter.htm"
2024-08-19T09:22:38.066Z In(05) vmx DICT     ethernet0.addressType = "generated"
2024-08-19T09:22:38.066Z In(05) vmx DICT      ethernet0.virtualDev = "e1000"
2024-08-19T09:22:38.066Z In(05) vmx DICT         ethernet0.present = "TRUE"
2024-08-19T09:22:38.066Z In(05) vmx DICT   ethernet0.pciSlotNumber = "33"
2024-08-19T09:22:38.066Z In(05) vmx DICT ethernet0.generatedAddress = "00:0C:29:07:47:F0"
2024-08-19T09:22:38.066Z In(05) vmx DICT ethernet0.generatedAddressOffset = "0"
2024-08-19T09:22:38.066Z In(05) vmx DICT                NETWORKING = "yes"
2024-08-19T09:22:38.066Z In(05) vmx DICT             tag.netConfig = "devices_netadapter.htm"
2024-08-19T09:22:39.837Z In(05) vmx VMXNET: send cluster threshold is 80, size = 2 recalcInterval is 20000 ticks, dontClusterSize is 128
2024-08-19T09:22:39.895Z In(05) vmx Ethernet0 MAC Address: 00:0c:29:07:47:f0
2024-08-19T09:22:39.962Z In(05) vcpu-0 VNET: MACVNetPortOpenDevice: Ethernet0: can't open vmnet device (No such file or directory)
2024-08-19T09:22:39.962Z In(05) vcpu-0 VNET: MACVNetPort_Connect: Ethernet0: can't open data fd
2024-08-19T09:22:39.962Z In(05) vcpu-0 [msg.vnet.connectvnet] Could not connect 'Ethernet0' to virtual network '/dev/vmnet0'. More information can be found in the vmware.log file.
2024-08-19T09:22:39.962Z In(05) vcpu-0 [msg.device.startdisconnected] Virtual device 'Ethernet0' will start disconnected.
2024-08-19T09:22:39.998Z In(05) vmx USB: Found device [name:GN\ Netcom\ Jabra\ EVOLVE\ LINK\ MS vid:0b0e pid:0305 path:3/2/2/2 speed:full family:audio,hid serialnum:000173C011EA09 arbRuntimeKey:5 version:5]

I decided to completely reboot the system, so the modules are loaded at boot time.

Update: VM freezes and crashes with the 6.9 modules

Unfortunately it didn't take long until I realized there was a major instability with the Virtual Machines started from VMware Workstation Player. Such a crash could look differently and seemed to happen quite randomly. Sometimes the VM was not able to boot, sometimes VMware Player even said the VM was in use, sometimes the VM booted correctly and was usable for a few minutes, then crashed. The following screenshot shows a freeze during the VM boot, hanging while trying to enable the network interface:

A few minutes later the VM crashed and the following logs were written on my physical machine:

[Tue Aug 20 07:32:40 2024] /dev/vmmon[9008]: PTSC: initialized at 3593250000 Hz using TSC, TSCs are synchronized.
[Tue Aug 20 07:32:40 2024] /dev/vmmon[9008]: Monitor IPI vector: ff
[Tue Aug 20 07:32:40 2024] /dev/vmmon[9008]: HV      IPI vector: f2
[Tue Aug 20 07:32:42 2024] r8169 0000:03:00.0 enp3s0: entered promiscuous mode
[Tue Aug 20 07:32:42 2024] bridge-enp3s0: enabled promiscuous mode
[Tue Aug 20 07:32:42 2024] Bluetooth: Core ver 2.22
[Tue Aug 20 07:32:42 2024] NET: Registered PF_BLUETOOTH protocol family
[Tue Aug 20 07:32:42 2024] Bluetooth: HCI device and connection manager initialized
[Tue Aug 20 07:32:42 2024] Bluetooth: HCI socket layer initialized
[Tue Aug 20 07:32:42 2024] Bluetooth: L2CAP socket layer initialized
[Tue Aug 20 07:32:42 2024] Bluetooth: SCO socket layer initialized
[Tue Aug 20 07:32:55 2024] BUG: kernel NULL pointer dereference, address: 0000000000000000
[Tue Aug 20 07:32:55 2024] #PF: supervisor read access in kernel mode
[Tue Aug 20 07:32:55 2024] #PF: error_code(0x0000) - not-present page
[Tue Aug 20 07:32:55 2024] PGD 0 P4D 0
[Tue Aug 20 07:32:55 2024] Oops: 0000 [#1] PREEMPT SMP NOPTI
[Tue Aug 20 07:32:55 2024] CPU: 10 PID: 9045 Comm: vmx-vcpu-0 Tainted: G           OE      6.8.0-40-generic #40~22.04.3-Ubuntu
[Tue Aug 20 07:32:55 2024] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./B550M Pro4, BIOS P2.20 08/03/2021
[Tue Aug 20 07:32:55 2024] RIP: 0010:VNetBridgeReceiveFromVNet+0xf0/0x460 [vmnet]
[Tue Aug 20 07:32:55 2024] Code: 48 3d 50 b9 b7 8f 74 16 48 8b 83 68 01 00 00 48 8d 98 98 fe ff ff 48 3d 50 b9 b7 8f 75 ea e8 77 2a cc ca 48 8b 83 30 04 00 00 <8b> 08 39 4d ca 0f 84 a9 01 00 00 0f b7 83 b4 00 00 00 03 43 38 41
[Tue Aug 20 07:32:55 2024] RSP: 0018:ffffb7ca03ff7958 EFLAGS: 00010246
[Tue Aug 20 07:32:55 2024] RAX: 0000000000000000 RBX: ffffffff8fb7b7e8 RCX: 0000000000000000
[Tue Aug 20 07:32:55 2024] RDX: 0000000000000000 RSI: ffff911694ca3400 RDI: 0000000000000000
[Tue Aug 20 07:32:55 2024] RBP: ffffb7ca03ff79a8 R08: 0000000000000000 R09: 0000000000000000
[Tue Aug 20 07:32:55 2024] R10: 0000000000000000 R11: 0000000000000000 R12: ffff911694ca3400
[Tue Aug 20 07:32:55 2024] R13: ffff9116a4114c00 R14: ffff911694ca2500 R15: ffff9116a30ebc42
[Tue Aug 20 07:32:55 2024] FS:  00007aef44c00640(0000) GS:ffff911d9e700000(0000) knlGS:0000000000000000
[Tue Aug 20 07:32:55 2024] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Tue Aug 20 07:32:55 2024] CR2: 0000000000000000 CR3: 000000025203a000 CR4: 0000000000350ef0
[Tue Aug 20 07:32:55 2024] Call Trace:
[Tue Aug 20 07:32:55 2024]  <TASK>
[Tue Aug 20 07:32:55 2024]  ? show_regs+0x6d/0x80
[Tue Aug 20 07:32:55 2024]  ? __die+0x24/0x80
[Tue Aug 20 07:32:55 2024]  ? page_fault_oops+0x99/0x1b0
[Tue Aug 20 07:32:55 2024]  ? do_user_addr_fault+0x2ed/0x670
[Tue Aug 20 07:32:55 2024]  ? exc_page_fault+0x83/0x1b0
[Tue Aug 20 07:32:55 2024]  ? asm_exc_page_fault+0x27/0x30
[Tue Aug 20 07:32:55 2024]  ? VNetBridgeReceiveFromVNet+0xf0/0x460 [vmnet]
[Tue Aug 20 07:32:55 2024]  ? VNetBridgeReceiveFromVNet+0xe9/0x460 [vmnet]
[Tue Aug 20 07:32:55 2024]  ? kmem_cache_alloc+0x133/0x370
[Tue Aug 20 07:32:55 2024]  VNetSend+0x70/0x100 [vmnet]
[Tue Aug 20 07:32:55 2024]  VNetHubReceive+0x85/0xd0 [vmnet]
[Tue Aug 20 07:32:55 2024]  VNetSend+0x70/0x100 [vmnet]
[Tue Aug 20 07:32:55 2024]  VNetUserIfWrite+0xc6/0x110 [vmnet]
[Tue Aug 20 07:32:55 2024]  VNetFileOpWrite+0x33/0x80 [vmnet]
[Tue Aug 20 07:32:55 2024]  vfs_write+0x100/0x480
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? try_to_wake_up+0x260/0x690
[Tue Aug 20 07:32:55 2024]  ksys_write+0x73/0x100
[Tue Aug 20 07:32:55 2024]  __x64_sys_write+0x19/0x30
[Tue Aug 20 07:32:55 2024]  x64_sys_call+0x23e1/0x24b0
[Tue Aug 20 07:32:55 2024]  do_syscall_64+0x81/0x170
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? __x64_sys_ioctl+0xbb/0xf0
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? eventfd_read+0xd3/0x200
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? security_file_permission+0x39/0x60
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? vfs_read+0x258/0x390
[Tue Aug 20 07:32:55 2024]  ? __x64_sys_ioctl+0xa3/0xf0
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? __x64_sys_ioctl+0xbb/0xf0
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? __x64_sys_ioctl+0xa3/0xf0
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? __x64_sys_ioctl+0xbb/0xf0
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? syscall_exit_to_user_mode+0x89/0x260
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? srso_return_thunk+0x5/0x5f
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  ? do_syscall_64+0x8d/0x170
[Tue Aug 20 07:32:55 2024]  entry_SYSCALL_64_after_hwframe+0x78/0x80
[Tue Aug 20 07:32:55 2024] RIP: 0033:0x7aef509148bf
[Tue Aug 20 07:32:55 2024] Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 49 c1 f7 ff 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 8c c1 f7 ff 48
[Tue Aug 20 07:32:55 2024] RSP: 002b:00007aef44bfc1c0 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
[Tue Aug 20 07:32:55 2024] RAX: ffffffffffffffda RBX: 00007aee10042d60 RCX: 00007aef509148bf
[Tue Aug 20 07:32:55 2024] RDX: 0000000000000149 RSI: 00007aeef7f73800 RDI: 000000000000006e
[Tue Aug 20 07:32:55 2024] RBP: 0000000000000149 R08: 0000000000000000 R09: 0000000000000001
[Tue Aug 20 07:32:55 2024] R10: 0000000000000001 R11: 0000000000000293 R12: 0000000000000149
[Tue Aug 20 07:32:55 2024] R13: 00007aee10057c80 R14: 0000000000000001 R15: 00007aef4f51dc48
[Tue Aug 20 07:32:55 2024]  </TASK>
[Tue Aug 20 07:32:55 2024] Modules linked in: bluetooth ecdh_generic ecc nf_conntrack_netlink xt_addrtype br_netfilter vmnet(OE) xfrm_user xfrm_algo vmw_vsock_vmci_transport vsock vmw_vmci l2tp_ppp l2tp_netlink l2tp_core ip6_udp_tunnel udp_tunnel vmmon(OE) pppox xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables nfnetlink bridge stp llc overlay uvcvideo videobuf2_vmalloc uvc videobuf2_memops snd_hda_codec_realtek videobuf2_v4l2 intel_rapl_msr snd_hda_codec_generic videodev snd_usb_audio intel_rapl_common snd_hda_codec_hdmi binfmt_misc snd_usbmidi_lib videobuf2_common snd_ump input_leds snd_hda_intel mc snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec edac_mce_amd snd_hda_core snd_hwdep snd_pcm kvm_amd snd_seq_midi snd_seq_midi_event joydev kvm snd_rawmidi irqbypass rapl snd_seq snd_seq_device snd_timer wmi_bmof k10temp snd ccp soundcore mac_hid sch_fq_codel nct6775 nct6775_core hwmon_vid msr parport_pc ppdev lp parport
[Tue Aug 20 07:32:55 2024]  efi_pstore ip_tables x_tables autofs4 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid0 dm_mirror dm_region_hash dm_log raid1 hid_jabra amdgpu hid_generic amdxcp drm_exec gpu_sched drm_buddy i2c_algo_bit drm_suballoc_helper usbhid drm_ttm_helper ttm hid crct10dif_pclmul crc32_pclmul drm_display_helper polyval_clmulni polyval_generic ghash_clmulni_intel sha256_ssse3 sha1_ssse3 cec rc_core r8169 i2c_piix4 ahci video xhci_pci realtek libahci xhci_pci_renesas wmi gpio_amdpt aesni_intel crypto_simd cryptd
[Tue Aug 20 07:32:55 2024] CR2: 0000000000000000
[Tue Aug 20 07:32:55 2024] ---[ end trace 0000000000000000 ]---
[Tue Aug 20 07:32:55 2024] RIP: 0010:VNetBridgeReceiveFromVNet+0xf0/0x460 [vmnet]
[Tue Aug 20 07:32:55 2024] Code: 48 3d 50 b9 b7 8f 74 16 48 8b 83 68 01 00 00 48 8d 98 98 fe ff ff 48 3d 50 b9 b7 8f 75 ea e8 77 2a cc ca 48 8b 83 30 04 00 00 <8b> 08 39 4d ca 0f 84 a9 01 00 00 0f b7 83 b4 00 00 00 03 43 38 41
[Tue Aug 20 07:32:55 2024] RSP: 0018:ffffb7ca03ff7958 EFLAGS: 00010246
[Tue Aug 20 07:32:55 2024] RAX: 0000000000000000 RBX: ffffffff8fb7b7e8 RCX: 0000000000000000
[Tue Aug 20 07:32:55 2024] RDX: 0000000000000000 RSI: ffff911694ca3400 RDI: 0000000000000000
[Tue Aug 20 07:32:55 2024] RBP: ffffb7ca03ff79a8 R08: 0000000000000000 R09: 0000000000000000
[Tue Aug 20 07:32:55 2024] R10: 0000000000000000 R11: 0000000000000000 R12: ffff911694ca3400
[Tue Aug 20 07:32:55 2024] R13: ffff9116a4114c00 R14: ffff911694ca2500 R15: ffff9116a30ebc42
[Tue Aug 20 07:32:55 2024] FS:  00007aef44c00640(0000) GS:ffff911d9e700000(0000) knlGS:0000000000000000
[Tue Aug 20 07:32:55 2024] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Tue Aug 20 07:32:55 2024] CR2: 0000000000000000 CR3: 000000025203a000 CR4: 0000000000350ef0
[Tue Aug 20 07:32:55 2024] note: vmx-vcpu-0[9045] exited with irqs disabled

The Kernel modules from the nann0desu fork were made for the newer 6.9 Kernel, however, as I mentioned at the beginning, my machine has the 6.8 Kernel installed. To quote myself:

[...] fixes for Workstation Player 17.5.2 and for the even newer Kernel 6.9. Maybe this would also work for Kernel 6.8? Let's try it!

Obviously this did not work as I hoped. :-(

By looking for a specific branch for the Kernel 6.8, I found the branch "tmp/workstation-17.5.0-k6.8" in the "original" vmware-host-modules repository from mkubecek. Let's try it with this one:

ck@mint ~/Git $ git clone -b tmp/workstation-17.5.0-k6.8 https://github.com/mkubecek/vmware-host-modules.git
ck@mint ~/Git $ cd vmware-host-modules/
ck@mint ~/Git/vmware-host-modules $ make
ck@mint ~/Git/vmware-host-modules $ sudo make install
install -D -t /lib/modules/6.8.0-40-generic/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/6.8.0-40-generic/misc/vmmon.ko /lib/modules/6.8.0-40-generic/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 6.8.0-40-generic; fi

ck@mint ~/Git/vmware-host-modules $ ll /lib/modules/6.8.0-40-generic/misc
total 400
drwxr-xr-x 2 root root   4096 Aug 20 14:00 ./
drwxr-xr-x 7 root root   4096 Aug 20 14:00 ../
-rwxr-xr-x 1 root root 256592 Aug 20 14:00 vmmon.ko*
-rwxr-xr-x 1 root root 140496 Aug 20 14:00 vmnet.ko*

The Kernel modules were correctly compiled, without any error. I finished this task with a system reboot.

Once the system booted, I started up VMWare Workstation Player and launched a VM; this time with success and no crash so far (has been running for an hour now).

TL;DR

  • Manually compile and install the VMware Kernel modules from the vmware-host-modules repo
  • reboot your system

After the system reboot, the Kernel correctly loaded the VMware modules and VMWare Workstation Player worked correctly again (so did the Virtual Machines).


Add a comment

Show form to leave a comment

Comments (newest first)

CK from Switzerland wrote on Aug 23rd, 2024:

Thanks for your comment and that hint, Oscar. I added a notice in the article.


Oscar from Melbourne, Australia wrote on Aug 23rd, 2024:

Cheers for the guide, but probs put a warning up top about the 6.9 and 6.8 discrepancy, I was following along with the guide on a 6.8 kernel and ended up installing the wrong package then the right package, was no biggie but just for in the future.


CK from Switzerland wrote on Aug 23rd, 2024:

korro, which git repository did you clone here? Make sure you use the one from mkubecek and use the correct git branch. Also make sure you have Linux Kernel headers installed (but according to your output it seems to be the case). On my Linux Mint I have the following 6.8 Linux packages installed:

ck@mint ~ $ dpkg -l|grep linux | grep 6.8 | awk '{print $2}'
linux-generic-hwe-22.04
linux-headers-6.8.0-40-generic
linux-headers-generic-hwe-22.04
linux-hwe-6.8-headers-6.8.0-40
linux-hwe-6.8-tools-6.8.0-40
linux-image-6.8.0-40-generic
linux-image-generic-hwe-22.04
linux-modules-6.8.0-40-generic
linux-modules-extra-6.8.0-40-generic
linux-tools-6.8.0-40-generic


korro from wrote on Aug 23rd, 2024:

make -C vmmon-only
make[1]: Verzeichnis „/home/korro/vmware-host-modules/vmmon-only“ wird betreten
Using kernel build system.
make -C /lib/modules/6.8.0-40-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[2]: Verzeichnis „/usr/src/linux-headers-6.8.0-40-generic“ wird betreten
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] /home/korro/vmware-host-modules/vmmon-only/linux/driver.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/linux/driverLog.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/linux/hostif.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/apic.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/comport.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/cpuid.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/crosspage.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/memtrack.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/moduleloop.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/phystrack.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/statVarsVmmon.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/task.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/common/vmx86.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
CC [M] /home/korro/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
LD [M] /home/korro/vmware-host-modules/vmmon-only/vmmon.o
ld: /home/korro/vmware-host-modules/vmmon-only/linux/hostif.o: in function `random_get_entropy_fallback':
/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: multiple definition of `random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: first defined here
ld: /home/korro/vmware-host-modules/vmmon-only/linux/hostif.o: in function `__pfx_random_get_entropy_fallback':
/usr/src/linux-headers-6.8.0-40-generic/./include/linux/page-flags.h:249: multiple definition of `__pfx_random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/home/korro/vmware-host-modules/vmmon-only/linux/driver.c:1303: first defined here
ld: /home/korro/vmware-host-modules/vmmon-only/common/task.o: in function `random_get_entropy_fallback':
/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: multiple definition of `random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: first defined here
ld: /home/korro/vmware-host-modules/vmmon-only/common/task.o: in function `__pfx_random_get_entropy_fallback':
/home/korro/vmware-host-modules/vmmon-only/common/task.c:1514: multiple definition of `__pfx_random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/home/korro/vmware-host-modules/vmmon-only/linux/driver.c:1303: first defined here
ld: /home/korro/vmware-host-modules/vmmon-only/common/vmx86.o: in function `random_get_entropy_fallback':
/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: multiple definition of `random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/usr/src/linux-headers-6.8.0-40-generic/./arch/x86/include/asm/timex.h:9: first defined here
ld: /home/korro/vmware-host-modules/vmmon-only/common/vmx86.o: in function `__pfx_random_get_entropy_fallback':
/home/korro/vmware-host-modules/vmmon-only/common/vmx86.c:3648: multiple definition of `__pfx_random_get_entropy_fallback'; /home/korro/vmware-host-modules/vmmon-only/linux/driver.o:/home/korro/vmware-host-modules/vmmon-only/linux/driver.c:1303: first defined here
make[4]: *** [scripts/Makefile.build:439: /home/korro/vmware-host-modules/vmmon-only/vmmon.o] Fehler 1
make[3]: *** [/usr/src/linux-headers-6.8.0-40-generic/Makefile:1926: /home/korro/vmware-host-modules/vmmon-only] Fehler 2
make[2]: *** [Makefile:240: __sub-make] Fehler 2
make[2]: Verzeichnis „/usr/src/linux-headers-6.8.0-40-generic“ wird verlassen
make[1]: *** [Makefile:117: vmmon.ko] Fehler 2
make[1]: Verzeichnis „/home/korro/vmware-host-modules/vmmon-only“ wird verlassen
make: *** [Makefile:21: vmmon-only] Fehler 2


RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Office   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder