credits goes to github user bfleischer for the solution

Just wanted to share an answer to a solution. So recently i fresh installed a new OSX on my mac and encountered this problem which the drive file stream throws an error

Google Drive File Stream encountered a problem and has stopped

It happens every time when after i signed in into the account.

So i start googling around for solutions and removing the app and DriveFS folder (below) doesn't work at all.

~/Library/Application Support/Google/DriveFS

After repeating the steps above a few times, the problem still persists after i signed into my google account.

Then i start looking at the logs generated inside the DriveFS/logs folder and encountered these lines of code

2019-01-29T19:16:18.666ZE [123145549725696] stderr: (kernel) Kext com.google.dfsfuse.filesystems.dfsfuse start failed (result 0x5).

2019-01-29T19:16:18.666ZE [123145549725696] stderr: (kernel) Kext com.google.dfsfuse.filesystems.dfsfuse failed to load (0xdc008017).

2019-01-29T19:16:18.666ZE [123145549725696] stderr: (kernel) Failed to load kext com.google.dfsfuse.filesystems.dfsfuse (error 0xdc008017).

2019-01-29T19:16:18.666ZE [123145549725696] stderr: Failed to load /Library/StagedExtensions/Applications/Google Drive File Stream.app/Contents/MacOS/dfsfuse.kext - (libkern/kext) kext (kmod) start/stop routine failed.

I realize that i have my OSX SIP (System Integrity Protection) disabled due to installing other apps like xtraFinder, so i did a few steps to see if the problem goes away by running the commands below and rebooting

csrutil enable
csrutil clear

After rebooting and running, the MacOS security prompted me to allow from identified developers, which i did but still did not solve the problem.

trying to load the kext manually did not solve the issue as well, however i do notice extra message when running the dmesg

osxfuse: Failed to register major device number

this is the message that finally leads me to this solution


quote from the solution

FUSE needs to register a virtual device for exchanging messages between the kernel and the actual file system implementation running in user space. The number of available device slots is limited by macOS. So if you are using other software like VMware, VirtualBox, TunTap, Intel HAXM, ..., that eat up all free device slots, FUSE will not be able to register its virtual device.

On a brand new install of macOS 10.12 there are six free device slots. VMware and VirtualBox require multiple slots each. TunTap (VPN) requires two slots, as far as I know. Intel HAXM requires at least one slot.

then i run kextstat to see which external device kexts that i have installed on my mac

sh-3.2# kextstat | grep -v apple

Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>

  107    0 0xffffff7f83f91000 0x7000     0x7000     net.sf.tuntaposx.tap (1.0) 23FDB715-3D0D-3A26-ACBA-E3794C231CB7 <8 6 5 1>

  108    0 0xffffff7f83f98000 0x7000     0x7000     net.sf.tuntaposx.tun (1.0) 95DD963D-E23D-3B0F-8DE8-A4D2F6BFA5CC <8 6 5 1>

  109    0 0xffffff7f83f9f000 0x28000    0x28000    com.intel.kext.intelhaxm (7.3.2) 58DFBE80-E54A-3EFE-B38A-215C5ED8E828 <8 6 5 3 1>

  112    3 0xffffff7f83fd5000 0xef000    0xef000    org.virtualbox.kext.VBoxDrv (6.0.2) 23F2E3C8-C38A-3339-9A6E-08F8AD6CA635 <8 6 5 3 1>

  182    0 0xffffff7f860d4000 0x8000     0x8000     org.virtualbox.kext.VBoxUSB (6.0.2) E73ADEDC-4A15-36FB-B741-2373408F514B <181 112 54 8 6 5 3 1>

  183    0 0xffffff7f860dc000 0x5000     0x5000     org.virtualbox.kext.VBoxNetFlt (6.0.2) 016CC2E0-4FB7-3DBA-A725-D353DF9D7DC9 <112 8 6 5 3 1>

  184    0 0xffffff7f860e1000 0x6000     0x6000     org.virtualbox.kext.VBoxNetAdp (6.0.2) 5044F02A-8CCC-36A9-A1B5-E31D27F69B62 <112 6 5 1>

turns out the virtualbox is an issue by consuming four available kexts, i went ahead and download the virtualbox uninstallation script and uninstalled the virtualbox.

afterwards the google drive file stream works like charm

your case may vary as you may have other kexts than virtualbox preinstalled in your machine before google drive, in this case i suggest to consult what are the uses of each kexts before removing it via

kextunload -b input.your.kext.name.space

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.