GithubHelp home page GithubHelp logo

Comments (16)

dqh-au avatar dqh-au commented on July 29, 2024

An ls on the parent directory of the mountpoint showed the following:

# ls -l
ls: cannot access files: Transport endpoint is not connected
total 0
d????????? ? ? ? ?            ? files

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

I found this in /var/log/syslog - timestamp is at the time the mountpoint appeared to fail:

<FULL PATH TO>/goofys[848]: fuse.ERROR Ref 2 report refcnt == 0

from goofys.

kahing avatar kahing commented on July 29, 2024

seems like goofys has crashed. Do you have a complete log?

from goofys.

nickschuch avatar nickschuch commented on July 29, 2024

Also seeing the same thing, will see if I can get a full log as well.

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

It happened again a couple of days ago. How can I get a complete log? That fuse error us the only thing in /var/log/syslog . I'm using up to date Ubuntu 14.04.4 LTS

from goofys.

kahing avatar kahing commented on July 29, 2024

It's usually easier to log to a file if you manually mount instead of going through fstab. goofys will log to stderr if you pass it -f:

goofys --debug_fuse --debug_s3 -f -o allow_other --uid=1001 --gid=1002 --dir-mode=0750 --file-mode=0640 --region=eu-west-1 --profile=<AWS CONFIG PROFILE> <BUCKET> <MOUNTPOINT> >& goofys.log

Alternatively you can just add --debug_fuse and --debug_s3 to your fstab but will generate A LOT of output to syslog.

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

I've captured a crash log, including a stack trace. Attached file includes output preceding the crash.

goroutine 52356 [running]:
panic(0x867b40, 0xc8203ce0f0)
    /usr/local/go/src/runtime/panic.go:464 +0x3e6
github.com/kahing/goofys/internal.(*Inode).Ref(0xc820666240)
    /usr/local/gopath/src/github.com/kahing/goofys/internal/handles.go:77 +0x398
github.com/kahing/goofys/internal.(*Goofys).LookUpInode(0xc82000aa00, 0x7f3831ff58d0, 0xc82066ccc0, 0xc82068de10, 0x0, 0x0)
    /usr/local/gopath/src/github.com/kahing/goofys/internal/goofys.go:557 +0x121
github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).handleOp(0xc82040e220, 0xc8200ba240, 0x7f3831ff58d0, 0xc82066ccc0, 0x83d700, 0xc82068de10)
    /usr/local/gopath/src/github.com/jacobsa/fuse/fuseutil/file_system.go:128 +0x2c9
created by github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).ServeOps
    /usr/local/gopath/src/github.com/jacobsa/fuse/fuseutil/file_system.go:108 +0x18f

goofys.crash.txt

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

I was running goofys in foreground mode, it had crashed. Running it again failed with the following message until I unmounted the mount point.

-----------------------------------------------------
2016/03/31 11:32:55.235230 main.FATAL Mounting file system: Mount: Statting mount point: stat <<< MOUNT POINT >>>: transport endpoint is not connected

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

Interestingly I had a subcloud (early version of s3fs) mountpoint fail in the same way this morning. Must be something to do with fuse on Ubuntu 14.04 LTS, and some assumption that subcloud, s3fs & goofys are all violating. Or just a bug in that version of fuse.

from goofys.

kahing avatar kahing commented on July 29, 2024

I suspect the problem is this:

  1. suppose there are objects report/1, report/2, report/3, goofys represents them as report/ and files 1, 2, and 3 under report/
  2. now you delete the 3 files
  3. report/ is no longer on S3
  4. goofys thinks that a file was deleted without it knowing and thus some internal assumption is violated

from goofys.

kahing avatar kahing commented on July 29, 2024

I am having trouble reproducing the crash. Could you describe your workload or provide a test case?

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

I have a bucket mounted and accessed over SFTP. The SFTP client lists the folder containing the incremental report files, then downloads & deletes each file until none remain - so I think you're probably on the track with your theory. The client connects and performs this operation every hour, and the mountpoint usually fails after a few days.

from goofys.

kahing avatar kahing commented on July 29, 2024

I committed a01c2a3 which should fix your problem. Could you verify that it's fixed since I can't reproduce the problem?

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

Thank you! I'll deploy today and see how it goes. I've left debug flags on so if it happens again i'll have a stack trace for it.

from goofys.

dqh-au avatar dqh-au commented on July 29, 2024

Still working nicely a few days in, if it holds for a couple of weeks then i'd say it is fixed.

One extra detail that might help you build a regression test case for this - the files were two 'folders' deep, and nothing else was in the root folder. For example /report/incremental/1.xml, /report/incremental/2.xml , nothing in /report directly. In S3 world deleting 1.xml & 2.xml would result in both /report/incremental & /report no longer being visible because they don't really exist.

from goofys.

kahing avatar kahing commented on July 29, 2024

I modified the test case in cdae435 to use /report/incremental, reverted the fix, and still couldn't reproduce it :-(

feel free to comment and reopen if this still happens.

from goofys.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.