elcapit
Contributor
Contributor

Broken pipe problem in Mojave

I followed this instruction but still having the broken pipe problem:

I had the the same problem, and tried the steps recommended by other users such as uninstalling and re-installing, going to System Preferences, ensuring Full Disk Access and Accessibility is allowed. None of that worked. I am running the latest update Mojave on a late 2013 27" iMac and VMWare Version 11.0.3 (12992109) What worked for me:
  1. First, uninstall VMWare completely.
  2. Check this directory in Terminal: /Library/StagedExtensions/Applications/VMware Fusion.app/Contents/Library/kexts
  3. If you see all the VMWare kexts there, then follow the steps below. You will not be able to delete these even with sudo
  4. Reboot to Recovery (CMD+R)
  5. Make sure your Macintosh HD (or main HD) is mounted (check in Disk Utiltiy). This will not be automatically mounted if you are using APFS with encryption.
  6. In the Utilities menu, open Terminal
  7. Enter this command: cd /Library
  8. Folowed by: rm -rf ./StagedExtensions/Applications/VMware\ Fusion.app
Now restart and re-install VMWare. The broken pipe error should now be fixed. The reason this is happening is that in the later versions of Mojave, the kexts are blocked and moved to StagedExtensions instead of being installed.

For #1, I uninstalled by deleting the VMWare app in the application folder.

For #2, when I put it in the Terminal it says "no such file or directory found".

0 Kudos
11 Replies
elcapit
Contributor
Contributor

This is the original thread where the solution comes from. Could not open /dev/vmmon: Broken pipe.

0 Kudos
elcapit
Contributor
Contributor

I think I found the answer in the thread:

This solution works for cases where the "Allow" button does not appear in Security & Privacy > General:

Using Terminal, get the TeamIdentifier value from the VMWare Fusion version you're using (the % is the prompt, so omit that):

   % codesign -dv --verbose=4 /Applications/VMware\ Fusion.app

From the results of that command, find the "TeamIdentifier" value, for example:

   TeamIdentifier=EG7KH642X6

Write that down, and note this is case-sensitive.

Reboot your Mac into Recovery Mode (hold down Command + R at boot)

In Recovery Mode, open Terminal, then:

  % /usr/sbin/spctl kext-consent add EG7KH642X6

Reboot, and you should be good to go now.

Could not open /dev/vmmon: Broken pipe.

[Formatting removed by moderator]

0 Kudos
elcapit
Contributor
Contributor

Another fix:

I tried all the other responses I saw in here (Allow in Security & Privacy, allow full disk access, try different things in recovery terminal, etc.) but my issue turned out to be maxing out the number of kernel extensions that can be loaded (at least this is my understanding). I ran 'kextstat' and found some to remove (all virtualbox kext's in my case). As soon as I freed up some slots, all my VM's began working again in VMware.

Again, this is a little outside my expertise so I'm paraphrasing assistance I got, but essentially they told me there are only a certain number of slots for kext's to be running and VMware needed more slots than what I had available on my machine.

To check (in a terminal):

- run 'kextstat | grep vmware'

- if you only see 2 or less kext's, run 'sudo kextutil /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext'

- if you see something like 'Failed to load /Library/StagedExtensions/Applications/VMware Fusion.app/Contents/Library/kexts/vmmon.kext - (libkern/kext) kext (kmod) start/stop routine failed.', this is probably your fix

My Steps to fix (again in a terminal):

- run 'kextstat' to see a list of kext's

- run 'sudo kextunload -b /whatever/kext/you/can/remove' (i.e. 'sudo kextunload -b org.virtualbox.kext.VBoxDrv')

- I did that for 4 kext's

- run vm in VMware again

- all good

[Formatting removed by moderator]

0 Kudos
wila
Immortal
Immortal

Hi,

PMJI, the codesign issue was a known problem.

See also: https://0xmachos.com/2019-09-21-VMware-Fusion-Code-Signing-Bug/

If you have VMware Fusion version 11.0 then the easiest fix is to upgrade to the latest version of VMware Fusion, there's no additional cost to run VMware Fusion 11.5.5

Now you might have other reasons for not wanting to upgrade, but IMHO upgrading to the latest VMware Fusion version is _the_ solution.

It is even supported to run on macOS Mojave still.

--

Wil

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

That's the version that I have but but I'm still having that problem.

0 Kudos
wila
Immortal
Immortal

Weird.


Can you try Fusion 11.5.6?

Please also verify the download with the hash that VMware provides on their download pages.

It might even have been a broken download.

--
Wil

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

I spent a long time trying to tackle the same problem after I upgraded from High Sierra to Mojave.  None of the suggestions helped until I came across this one: kOSKextReturnNotLoadable on Mojave 10.14.6 · Issue #2373 · pqrs-org/Karabiner-Elements · GitHub

In short, it seems like a permission on the /private/var/db/KernelExtensionManagement/Staging directory did not get set correctly during the OS upgrade, and so the kernel extension would not load after that.  Following the steps in the comment above fixed it immediately in so far as after reboot, I was prompted in the Security & Privacy preference panel to approve the extension and then everything was fine.

To summarize, if you've recently performed an OS upgrade, I'd recommend checking those permissions:

  • Reboot in recovery mode (Cmd-R during boot)
  • Open Terminal
  • Run chflags restricted /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement
  • Run  chflags restricted /Volumes/Macintosh\ HD/private/var/db/KernelExtensionManagement/Staging
  • Reboot
  • Check the General tab of the Security & Preferences System Preferences panel and authorize VMware if required.
0 Kudos
FTDNA
Contributor
Contributor

Hello All,

I was able to resolve this issue by going into Security & Privacy: Accessibility: Then unselecting VMware Fusion, closing Settings then going right back in and enabling it again.  After I did that, when I ran Fusion 12 pro again, it notified me that some settings needed to be enabled.  I approved that (I believe it was Files and Folders) and have not seen the issue since.

-WG

0 Kudos
stklm
Contributor
Contributor

10000 thanks for this! I spent hours with trying to fix this and none of the other hints worked!

0 Kudos
Doc69
Enthusiast
Enthusiast

I just wanted to add that I had the same problem. Two days ago I could no longer open my VMs because of the following message: "Could not open /dev/vmmon: Broken pipe. Please make sure that the kernel module `vmmon' is loaded". This was the second time it has happened. I solved it last time by doing most of the recommendations from this forum, such as entering this in Terminal when booted up in recovery mode: "/usr/sbin/spctl kext-consent add EG7KH642X6", adding Full disk access and Accessibility in System Preferences and completely uninstalling and reinstalling Fusion. But this time nothing helped, and after a fresh install I did not get the choice to 'Allow' the app to run under 'Security & Privacy'. What I had to do in order to get things working again, was to uninstall Fusion, then reinstall Mojave (10.14.6), on top of my current installation while booted from a USB flash drive. And finally installing Fusion 11.5.6 again.

If someone has any idea how and why this has happened to me twice now, completely out of the blue, I would greatly appreciate the input.

0 Kudos
wila
Immortal
Immortal

Hi,

Normally that error only happens on install, so you getting it at a "random" time, makes me wonder if you are bumping into something else.

Like running out of character device major numbers.

For more details see the following threads:

Fusion 5 - Could not open /dev/vmmon: No such file or directory.

"Could not open /dev/vmmon" on macOS 10.12

hope this helps,
--

Wil

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