zane568
Contributor
Contributor

Version mismatch with vmmon module: expecting 279.0, got 271.0.

I keep on getting this error message Version mismatch with vmmon module: expecting 279.0, got 271.0. You have an incorrect version of the `vmmon' kernel module.

How do I fix this

15 Replies
WoodyZ
Immortal
Immortal

It might be more helpful to diagnose if you had included some context to the issue, like did you just upgrade from one version of VMware Fusion to another and what versions, etc., etc! Smiley Wink

Without additional information all I can say is uninstall VMware Fusion, reboot, reinstall VMware Fusion.

If need be, have a look at: Manually uninstalling VMware Fusion (1017838)

0 Kudos
IAmEric
Contributor
Contributor

I was getting the same error message when I upgraded from VMWare Fusion 5.x to 6.0 on MacBook Pro 10.8.4 with a Win8 VM. I went through and removed the app and followed the directions to remove all the vestigial files outlined in the instructions WoodyZ linked to above and it worked.

0 Kudos
ErikWeiman
Contributor
Contributor

The quick method to fix this issue would be to open Terminal and run these commands.

It is much faster than uninstalling and re-Installing Fusion. This issue will typically happen whenever you upgrade Fusion and typically presents itself after you reboot your Mac.

(the commands use the sudo command, you will need to enter your password into the terminal it will not look like you are typing anything while doing so)

  1. Make sure Fusion has been completely closed.
  2. Open Terminal
  3. sudo rm -rf /System/Library/Extensions/vmmon.kext
  4. sudo cp -pR /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext /System/Library/Extensions/
  5. sudo kextutil /System/Library/Extensions/vmmon.kext
  6. Quit Terminal

Now you should be able to run Fusion without any issues.

If you want to verify the correct kernel extension has been loaded you could also run this command (output included):

MacPro:~ erikweiman$ kextstat | grep vmx

  125    0 0xffffff7f82818000 0xe000     0xe000     com.vmware.kext.vmx86 (0133.15.45) <7 5 4 3 1>

scotty82
Contributor
Contributor

worked well for me. had to run kextunload before step 5, though.

0 Kudos
RedNectarChris
Contributor
Contributor

Summary:

I CAREFULLY tried everything on this page and could not resolve the problem

I'm hoping one of you friendly gurus (WoodyZ, ErikWeiman or Scotty82)  can help me

Detail:

I decided to give v6 a go, so I uninstalled v5 using the steps outlined in Manually uninstalling VMware Fusion (1017838) to begin with.

I then installed a "trial" of V6.02

When I tried to open a VM (tried two different ones) I got this lovely error. "

Version mismatch with vmmon module: expecting 279.0, got 271.0.

You have an incorrect version of the `vmmon' kernel module.

Try reinstalling VMware Fusion

"

SO I uninstalled v6.02 using the steps outlined in Manually uninstalling VMware Fusion (1017838) and, like the message suggested re-installed VMware Fusion 6.02.

SO I looked at ErikWeiman's response in this thread: Re: Version mismatch with vmmon module: expecting 279.0, got 271.0.

This is my output:

Macropidia:~ chriswelsh$ kextstat | grep vmx

  133    0 0xffffff7f825b6000 0xd000     0xd000     com.vmware.kext.vmx86 (0143.58.62) <7 5 4 3 1>

..but I have no idea what that tells me - so onward regardless:

Macropidia:~ chriswelsh$ sudo rm -rf /System/Library/Extensions/vmmon.kext

Macropidia:~ chriswelsh$ sudo cp -pR /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext /System/Library/Extensions/

Macropidia:~ chriswelsh$ sudo kextutil /System/Library/Extensions/vmmon.kext

No kernel file specified, using '/mach_kernel'

Can't load /System/Library/Extensions/vmmon.kext - a different version is already loaded.

SO I then looked at Scotty82's comment on ErikWeiman's instructions, where he said "had to run kextunload before step 5"

SO I did:

Macropidia:~ chriswelsh$ sudo kextunload

No kernel extensions specified.

OK - maybe Scotty82 didn't tell the whole story - let's try this:

Macropidia:~ chriswelsh$ sudo kextunload /System/Library/Extensions/vmmon.kext

(kernel) Kext com.vmware.kext.vmx86 did not stop (return code 0x5).

(kernel) Kext com.vmware.kext.vmx86 can't unload - module stop returned 0xdc008017.

Failed to unload com.vmware.kext.vmx86 - (libkern/kext) kext (kmod) start/stop routine failed.

And now I give up.

RedNectarChris Producer: GNS3WorkBench http://rednectar.net/gns3-workbench Moderator: GNS3 Forum
0 Kudos
WoodyZ
Immortal
Immortal

RedNectarChris wrote: And now I give up.

First of all you shouldn't be copying any kernel extensions from within the VMware Fusion.app bundle anywhere! Smiley Wink

Secondly have you rebooted the Host?  If not then do so before and after uninstalling/reinstalling VMware Fusion.  Normally a reboot isn't necessary however it's one way to ensure any errant .kext gets unloaded. Smiley Wink

0 Kudos
ErikWeiman
Contributor
Contributor

WoodyZ wrote:

First of all you shouldn't be copying any kernel extensions from within the VMware Fusion.app bundle anywhere! Smiley Wink

Secondly have you rebooted the Host?  If not then do so before and after uninstalling/reinstalling VMware Fusion.  Normally a reboot isn't necessary however it's one way to ensure any errant .kext gets unloaded. Smiley Wink

Well that is the source of the kernel extension that when you upgrade VMWare Fusion it is supposed to use to replace the old version of that kext.

For some reason this doesn't always happen... so yes you should do that.

Its probably easiest to remove the kext and replace it with the new one then open disk utility and run "repair permissions" then reboot.

0 Kudos
WoodyZ
Immortal
Immortal

ErikWeiman wrote:

WoodyZ wrote:

First of all you shouldn't be copying any kernel extensions from within the VMware Fusion.app bundle anywhere! Smiley Wink

Secondly have you rebooted the Host?  If not then do so before and after uninstalling/reinstalling VMware Fusion.  Normally a reboot isn't necessary however it's one way to ensure any errant .kext gets unloaded. Smiley Wink

Well that is the source of the kernel extension that when you upgrade VMWare Fusion it is supposed to use to replace the old version of that kext.

For some reason this doesn't always happen... so yes you should do that.

Its probably easiest to remove the kext and replace it with the new one then open disk utility and run "repair permissions" then reboot.

The kernel extensions used by VMware Fusion (certainly at lest the latest release if not the last few) are not supposed to be copied to anywhere outside the VMware Fusion.app bundle!  They are (supposed to be) dynamically loaded/unloaded directly from within the VMware Fusion.app bundle upon Open/Quit of the App!  If you have any .kext that comes with VMware Fusion in  /System/Library/Extensions/ they do not belong there and should be removed!

0 Kudos
ErikWeiman
Contributor
Contributor

Those of us having issues must be due to upgrading from rather old releases.

I think my install is from 10.5 and probably Fusion 1.0 or 2.0 originally.

Next time there is an upgrade and I get this type of error i'll have to see if just removing it from /S/L/E will fix it with a reboot.

0 Kudos
RedNectarChris
Contributor
Contributor

Thanks again Woody.  I rebooted several times along the way - but after reading your post I rebooted again and.... it seems to be working now.

Thanks again.

RedNectarChris Producer: GNS3WorkBench http://rednectar.net/gns3-workbench Moderator: GNS3 Forum
0 Kudos
Verkhoyansk
Contributor
Contributor

Thanks, WoodyZ It does work.
0 Kudos
nacho82
Contributor
Contributor

Thank you !!.

Full procedure to upgrade from Fusion 6.0 to Fusion 7 was:

sudo rm -rf /System/Library/Extensions/vmmon.kext

sudo cp -pR /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext /System/Library/Extensions/

sudo kextunload /System/Library/Extensions/vmmon.kext

sudo kextutil /System/Library/Extensions/vmmon.kext

0 Kudos
dariusd
Leadership
Leadership

DO NOT MANUALLY COPY THE KERNEL EXTENSIONS ANYWHERE.  Doing this will only make it much more likely that you will encounter problems every single time you upgrade Fusion.  Fusion 4 and newer (maybe even earlier than that?) have all been self-contained and will not require any installation as long as you haven't already tampered with your system to the point where some cleanup is needed.

You should never EVER manually copy around the kernel extensions nor manually load them, other than as a troubleshooting step performed under competent instruction.

I suggest you unload the vmmon.kext you have loaded, then remove it completely from /System/Library/Extensions/vmmon.kext, reboot your system, and then launch Fusion.  Fusion will load the kernel extensions that it needs.

Cheers,

--

Darius

0 Kudos
SteveBurns
Contributor
Contributor

This worked for me as well.

My error was "Version mismatch with vmmon module: expecting 304.0, got 271.0." while launching a Win7 window, after upgrading from VMWare Fusion 5 to Fusion 7.

Thanks!

The procedure I used was:

sudo rm -rf /System/Library/Extensions/vmmon.kext

sudo kextunload /System/Library/Extensions/vmmon.kext

<reboot>

<launch VMWare>

I did not need to copy the kext or manually load it, which verifies the (somewhat passionate) response above and below.

0 Kudos
dariusd
Leadership
Leadership

Repeating myself, to try to squash this cargo-cult "solution"...


DO NOT MANUALLY COPY THE KERNEL EXTENSIONS ANYWHERE.  Doing this will only make it much more likely that you will encounter problems every single time you upgrade Fusion.  Fusion 4 and newer (maybe even earlier than that?) have all been self-contained and will not require any installation as long as you haven't already tampered with your system to the point where some cleanup is needed.

You should never EVER manually copy around the kernel extensions nor manually load them, other than as a troubleshooting step performed under competent instruction.

I suggest you unload the vmmon.kext you have loaded, then remove it completely from /System/Library/Extensions/vmmon.kext, reboot your system, and then launch Fusion.  Fusion will load the kernel extensions that it needs.

Cheers,

--

Darius

0 Kudos