astrada / google-drive-ocamlfuse

FUSE filesystem over Google Drive
https://astrada.github.io/google-drive-ocamlfuse/
MIT License
5.58k stars 353 forks source link

"Transport endpoint is not connected" when not using "-debug" mode !? #840

Open ravenlost opened 11 months ago

ravenlost commented 11 months ago

Hello.

Im running google-drive-ocamlfuse-opam 0.7.31-1 from within Manjaro Linux (installed via AUR package).

For some odd reason, when I try to mount, and then access my Google Drive using:

google-drive-ocamlfuse -label default /mnt/GoogleDrive && ls /mnt/GoogleDrive

I'll get a :

ls: cannot access '/mnt/GoogleDrive': Transport endpoint is not connected

HOWEVER, if I run the same command but add a -debug option to google-drive-ocamlfuse, then I'm able to access my Google Drive's content no problem... But that obviously is a no go for me.. aint gonna always run this in debug mode lol.

Any clues as to what is going in here ?

Much thanks!

Regards, Patrick

dangpzanco commented 11 months ago

I have the same problem with the latest version installed via Opam on Manjaro Linux. I updated hoping I could finally use OCaml5, but looks like I'll have to downgrade...

ravenlost commented 11 months ago

I have the same problem with the latest version installed via Opam on Manjaro Linux. I updated hoping I could finally use OCaml5, but looks like I'll have to downgrade...

Indeed, I just downgraded to google-drive-ocamlfuse, version 0.7.30, and now it seems to work.

meswright commented 10 months ago

Good to know others also have the same issue :-). I also installed via Opam but on Fedora. The debug gives me a workaround, so thanks for sharing that :+1: . When you ^C out of the running command, it also appears to unmount the drive too.

dangpzanco commented 10 months ago

@meswright my workaround has been to run it in the background like this:

google-drive-ocamlfuse -debug ~/drive & 

add the & at the end so you can close the terminal window :)

arunkhattri6 commented 9 months ago

I am also on manjaro, same issue here, it mount drive with -debug option only, othewise throws "Transport endpoint not connected" error. google-drive-ocamlfuse version 0.7.31 ocaml 5.1.0

cbmiller2610 commented 9 months ago

Same issue on Fedora Workstation 38, "Transport endpoint is not connected" error when using "ls" or attempting to otherwise access the directory after running google-drive-ocamlfuse [mountpoint]

google-drive-ocamlfuse, version 0.7.31 The OCaml toplevel, version 5.1.1

I am able to use the -debug with backgrounding as workaround. @astrada do you recommend downgrading OCaml? Or maybe it's a simple fix if it's working under debug :)

timjim333 commented 9 months ago

If we downgrade to 0.7.30, which version of OCaml is required? Or, where do we look to indentify the required version? (Apologies if this is a simple question - I'm new to the OCaml ecosystem.)

Jackaed commented 9 months ago

I'm experiencing this version on 0.7.30 when installing from nixpkgs, which I believe uses Ocaml 4.14.1.

astrada commented 9 months ago

I can confirm that google-drive-ocamlfuse quits (without mounting the Drive) if started in background, if compiled with OCaml 5+. I'm trying to understand why. As a workaround, you can run it in foreground, and send the process in background via shell:

google-drive-ocamlfuse -f [mountpoint] &

This way you avoid filling your disk with useless logs. (Unfortunately, the problem seems to be related to the OCaml bindings of libfuse, so it may take a while to fix.)

cbmiller2610 commented 9 months ago

Another workaround (working on Fedora 38 Workstation) is to downgrade to OCaml 4.14.1 and use the release (not pre-release) version of google-drive-ocamlfuse.

STABLE VERSION INSTALL To downgrade to the stable version of google-drive-ocamlfuse:

  1. opam uninstall google-drive-ocamlfuse
  2. Downgrading OCaml is required (at least I assume so, since the latest pre-releases mention the purpose being to add OCaml 5 support): opam switch create OCaml4 4.14.1
  3. Just to be sure we are getting the right version of google-drive-ocamlfuse, pin the last stable release in OPAM. Installing via the default OPAM config (OCaml5) seems to pull down 0.7.31, which is a pre-release (https://github.com/astrada/google-drive-ocamlfuse/releases). opam pin google-drive-ocamlfuse 0.7.30
  4. eval $(opam env)
  5. Now it should work as expected.
ilteris commented 9 months ago

Another workaround (working on Fedora 38 Workstation) is to downgrade to OCaml 4.14.1 and use the release (not pre-release) version of google-drive-ocamlfuse.

STABLE VERSION INSTALL To downgrade to the stable version of google-drive-ocamlfuse:

  1. opam uninstall google-drive-ocamlfuse
  2. Downgrading OCaml is required (at least I assume so, since the latest pre-releases mention the purpose being to add OCaml 5 support): opam switch create OCaml4 4.14.1
  3. Just to be sure we are getting the right version of google-drive-ocamlfuse, pin the last stable release in OPAM. Installing via the default OPAM config (OCaml5) seems to pull down 0.7.31, which is a pre-release (https://github.com/astrada/google-drive-ocamlfuse/releases). opam pin google-drive-ocamlfuse 0.7.30
  4. eval $(opam env)
  5. Now it should work as expected.

this works like a charm thank you

ilteris commented 9 months ago

Is there a way to get this working at login automatically? Currently I have to do eval $(opam env) and then google-drive-ocamlfuse ~/GoogleDrive in order to get things running. Am I missing something? TIA.

cbmiller2610 commented 9 months ago

Is there a way to get this working at login automatically? Currently I have to do eval $(opam env) and then google-drive-ocamlfuse ~/GoogleDrive in order to get things running. Am I missing something? TIA.

The documentation on how to set up auto-mounting is here: https://github.com/astrada/google-drive-ocamlfuse/wiki/Automounting

astrada commented 9 months ago

This issue should be fixed upgrading to ocamlfuse 2.7.1-cvs9 in opam (astrada/ocamlfuse@c0deb4cb452ba638a9e281a836423fe15043d02d).