VMware Communities
joshimukul
Contributor
Contributor
Jump to solution

VM's not working in Fusion

Hi, I have seen this error while I try to open VM on fusion: Could not open /dev/vmmon: Broken pipe.

I did check in your database and have tried all possible solutions but those are not helping out.

Vmware Fusion version is 11.5.5

Mac version is macOS Mojave 10.14.6

I have tried uninstalling and installing it again. Uninstalling completely.

I have removed Virtual-Box and all the files

I have already checked system preference settings and I don't see anything related to fusion.

- In System preference >> Firewall >> Fusion is allowed

- In System Preference >> Privacy >> Accessibilty >> Fusion is allowed

These are other few checks :

Following command doesn't give any output :

- kextstat | grep vmware

Following command shows something related to memory allocation failure. I have 126 GB in HD and  RAM is 16GB.

sudo kextutil /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext

Error making temporary directory: 1

Memory allocation failure.

Unable to stage kext (/Applications/VMware Fusion.app/Contents/Library/kexts/vmmon.kext) to secure location.

1 Solution

Accepted Solutions
joshimukul
Contributor
Contributor
Jump to solution

Hi Wila,

Thank you for your time.

Issue resolved after I updated Mac OS to latest version. Seems like compatibilty issue.

Regards

Mukul

View solution in original post

Reply
0 Kudos
20 Replies
scott28tt
VMware Employee
VMware Employee
Jump to solution

Info about your VM? (OS, memory)


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
Reply
0 Kudos
joshimukul
Contributor
Contributor
Jump to solution

I am trying EVE.ovf file and the memory recommended for it is 4GB.

Reply
0 Kudos
scott28tt
VMware Employee
VMware Employee
Jump to solution

Check this on your Mac: https://build5nines.com/check-hyper-v-intel-vt-x-virtualization-support-on-macos-computer/

Check this setting is enabled on the VM: Set Advanced Processor Options


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

Hi,

If you are getting vmmon errors then that's not a VM error.

It is -as you correctly identified- a problem with a kernel extension that isn't able to load.

The one thing missing from your text so far is that I have not seen is that you allowed VMware kernel extension to be loaded.

That's normally on the first tab page of the "Privacy & Security" settings pane.

I described it first here:

https://planetvm.net/blog/?p=3240

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
joshimukul
Contributor
Contributor
Jump to solution

Hi Scott,

Thank you for your reply.

I went through the shared link. I see this is enabled. I also tried booting Centos: seeing same issue. So it should not be related to VM.

sysctl -a | grep machdep.cpu.features

machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C

sysctl kern.hv_support

kern.hv_support: 1

Check this setting is enabled on the VM: Set Advanced Processor Option ​  >>> I have enabled it on VM, but I have seen same error message.

Reply
0 Kudos
joshimukul
Contributor
Contributor
Jump to solution

Hi Wil,

Thank you for reply. Actually, I have checked it and I have not seen that message from the beginning.

I am sharing the screenshot here.

pastedImage_2.png

Reply
0 Kudos
wila
Immortal
Immortal
Jump to solution

Hi,

Well. it cannot work without getting that error unless you have disabled SIP.

So that only confirms what I think has happened.

The prompt from macOS is not showing up when it should.

Can you try the last step from the article I linked earlier?

First drag Fusion to the bin.

Reboot your mac.

Then follow the steps to strip the quarantaine flags from the installer and install again.

Try Fusion.. it _really should_ give you the popup to allow VMware kernel extensions.

If it doesn't you can try a reboot (yes again).

Getting kernel modules to load in macOS can be a royal PITA at times.

From that point of view it is good that they are no longer needed from Big Sur onwards, but I would have preferred if macOS wasn't as fuzzy and "just worked" like it used to promise in the past.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
joshimukul
Contributor
Contributor
Jump to solution

Hi Wila,

Thank you for your time.

Issue resolved after I updated Mac OS to latest version. Seems like compatibilty issue.

Regards

Mukul

Reply
0 Kudos
jameslodberg
Contributor
Contributor
Jump to solution

OS upgrade isn't an option in my case, so I had to keep looking for a solution. Same symptoms, running Mojave 10.14.6 here.

Hope this helps anyone else who lands here after a frustrating session of Google searches!

Error loading kext in Mojave

I was having problems with VMware Fusion 11.5.6 not being able to load its kexts, VMs failing to start with this error:

Error: Could not open /dev/vmmon: Broken pipe, while launching the Virtual Machine

Checking with kextutil we get:

$ sudo kextutil -b /Applications/VMware\ Fusion.app/Contents/Library/kexts/*
Error making temporary directory: 1
Memory allocation failure.
Unable to stage kext (/Applications/VMware Fusion.app/Contents/Library/kexts/vmmon.kext) to secure location.
Error making temporary directory: 1
Memory allocation failure.
Unable to stage kext (/Applications/VMware Fusion.app/Contents/Library/kexts/vmnet.kext) to secure location.
Can't find extension with identifier /Applications/VMware Fusion.app/Contents/Library/kexts/vmioplug.kext.

After much unsuccessful searching for solutions to the VMware problem (which were only solved by upgrading macOS - not an acceptable option), I sumbled across the solution. We need to fix some permissions/flags.

Solution

Based on the temporary directory error, check the permissions and flags for the following:

- /private/var/db/KernelExtensionManagement should be 0755 with the "restricted" flag set, and the com.apple.rootless attribute set to KernelExtensionManagement (you can check the value of the attribute with xattr -l)
- /private/var/db/KernelExtensionManagement/Staging should be 0755 with the "restricted" flag set.

Checking attribute:

$ xattr -l /private/var/db/KernelExtensionManagement
com.apple.rootless: KernelExtensionManagement

So far so good. Let's check for the "restricted" flag:

ls -lO /private/var/db/
ls -lO /private/var/db/KernelExtensionManagement/

Note that some of the entries in the list have "restricted" flag set. KernelExtensionManagement is missing the flag, but Staging is fine.

Incidentally, my other Mac (running Catalina) has the correct "restricted" flag set. This looks very promising!

Fix this by rebooting to Recovery Mode, then in a terminal do:

chflags restricted /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement

Problem solved 🙂

I have the feeling that running First Aid on the disk from Recovery Mode might have worked, instead of that "cumbersome" command, but didn't bother trying.

## References

VMware KB - Error: Could not open /dev/vmmon: Broken pipe, while launching the Virtual Machine (8046... 

 Developer Forums - Error Loading Kext in Mojave 

GitHub - kOSKextReturnNotLoadable on Mojave 10.14.6 

VMware Communities - VM's not working in Fusion 

2020-12-13

trevoz
Contributor
Contributor
Jump to solution

Re-installing from Recovery mode fixed the issue for me on macOS 10.14.6.

First Aid from Recovery did not fix the issue

Curiously, the restricted is still missing from  /private/var/db/KernelExtensionManagement.

Reply
0 Kudos
Alan_G
Contributor
Contributor
Jump to solution

James, I'd buy you a large glass of adult beverage if I could.  Your solution fixed my problems with VMware Fusion/Mojave 10.14.6 after a very frustrating week of trying the other solutions in these forums, w/o success.  In my case, I was simply not receiving the alert in the Security and Privacy preference to allow Fusion to load its kexts.  My permissions were OK but the restricted attribute was missing from my KernelExtensionManagement folder.  Adding that (followed by a manual removal and reinstall) left me with a copy of Fusion that can now launch all my VMs.

One note I'd add to your solution, in case someone in the future reaches it via Google (as I did):

1. For those of us who use FileVault the Macintosh HD disk isn't mounted by default when booted in Recovery.  This is fixed by issuing this Terminal command:  diskutil apfs unlock "Macintosh HD"

Once that's issued, the folder is available for adding the attribute.

Thanks again!

Reply
0 Kudos
trevoz
Contributor
Contributor
Jump to solution

I take it back - after reinstalling Mojave all was fine until the next reboot and then the error was back 😞

The advice to add the restricted attribute fixed the issue <fingers crossed>.

Reply
0 Kudos
douggardner
Contributor
Contributor
Jump to solution

I really appreciate you posting that, James. I spent 6 hours working on this problem, and I couldn't even find an exact description of my problem until I found this thread. You totally nailed it. Thank you. 

Reply
0 Kudos
raibe
Contributor
Contributor
Jump to solution

Thank you VERY MUCH for this comprehensive and immediate solution!!!

Reply
0 Kudos
smokeyak
Contributor
Contributor
Jump to solution

Great work James.  Thanks.  Worked for me. Problem started after Security Update 2021-002

Cheers

Reply
0 Kudos
VFXadmin
Contributor
Contributor
Jump to solution

I also got rocked by the malware known as Security Update 2021-002 for Mojave.  I was also able to fix with @jameslodberg 's excellent suggestion of fixing the restricted flag from recovery mode.  This didn't just fix VMware Fusion. It fixed all the kexts that were suddenly failing to load for VPN clients, 10G cards, etc.  Thanks a lot!

Reply
0 Kudos
MetricMark
Contributor
Contributor
Jump to solution

Top notch @jameslodberg, thank you.  This worked for me.

Reply
0 Kudos
solsticeTECH
Contributor
Contributor
Jump to solution

James, thank you sir!

Had exactly the same symptoms after upgrading my old Mac Pro from High Sierra (where VMWare Fusion 11 had been running fine) to Mojave.

Had once seen (briefly) a dialog about 'system extension blocked' with advice to consult Security and Privacy system settings. I already had 'App Store and identified developers' enabled, and there was no message about trusting extensions for VMWare (this was already given in the older version of OSX) when I went and double checked Security and Privacy.

Command line kextutil gave me the same messages as you describe.

Checked in recovery mode terminal and found that the VMWare 'team' identifier was already enabled on all kexts. Tried a kext cache flush, which seemed to work but then realised that I still had SIP disabled. Re-enabled this and VMWare broke again.

Suspected a file system permission issue somewhere, but had no clue where to look. Your article has pointed me in right direction, and with 'restricted' set on the KernelExtensionManagement subdir, VMWare is back up and running.

Great job. Thank you again.

Reply
0 Kudos
jameslodberg
Contributor
Contributor
Jump to solution

So happy to see that this has helped so many people, thanks for all the kind words! 😃