Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double writing causes goofys crashes #353

Open
remrain opened this issue Aug 29, 2018 · 0 comments
Open

Double writing causes goofys crashes #353

remrain opened this issue Aug 29, 2018 · 0 comments

Comments

@remrain
Copy link

remrain commented Aug 29, 2018

Goofys crashes when writing the same file simultaneous.

Ex:
date >mount-test/data & date >mount-test/data & date >mount-test/data

2018/08/29 19:51:31.111694 s3.DEBUG HEAD mount-test/data/ = no such file or directory
2018/08/29 19:51:31.111718 fuse.DEBUG <-- LookUpInode 7 data no such file or directory
2018/08/29 19:51:31.111816 fuse.DEBUG Op 0x00000003        connection.go:481] -> Error: "no such file or directory"
2018/08/29 19:51:31.111978 fuse.DEBUG Op 0x00000002        connection.go:396] <- CreateFile (parent 7, name "data")
2018/08/29 19:51:31.112092 fuse.DEBUG Create 7 mount-test [data]
2018/08/29 19:51:31.112144 fuse.DEBUG <-- CreateFile 13 mount-test/data []
2018/08/29 19:51:31.112198 fuse.DEBUG Op 0x00000002        connection.go:479] -> OK (inode 13)
2018/08/29 19:51:31.112380 fuse.DEBUG Op 0x00000003        connection.go:396] <- CreateFile (parent 7, name "data")
2018/08/29 19:51:31.112500 fuse.DEBUG Create 7 mount-test [data]
panic: double insert of mount-test/data

goroutine 177 [running]:
github.com/kahing/goofys/internal.(*Inode).insertChildUnlocked(0xc420114240, 0xc4201d4480)
	/private/tmp/goofys-20180109-35985-h1zbtw/gopath/src/github.com/kahing/goofys/internal/handles.go:246 +0x616
github.com/kahing/goofys/internal.(*Goofys).insertInode(0xc420161ee0, 0xc420114240, 0xc4201d4480)
	/private/tmp/goofys-20180109-35985-h1zbtw/gopath/src/github.com/kahing/goofys/internal/goofys.go:687 +0x53
github.com/kahing/goofys/internal.(*Goofys).CreateFile(0xc420161ee0, 0x4891140, 0xc420262f30, 0xc4208e6000, 0x0, 0x0)
	/private/tmp/goofys-20180109-35985-h1zbtw/gopath/src/github.com/kahing/goofys/internal/goofys.go:973 +0x138
github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).handleOp(0xc42025e140, 0xc420280410, 0x4891140, 0xc420262f30, 0x44bcd60, 0xc4208e6000)
	/private/tmp/goofys-20180109-35985-h1zbtw/gopath/src/github.com/jacobsa/fuse/fuseutil/file_system.go:161 +0x547
created by github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).ServeOps
	/private/tmp/goofys-20180109-35985-h1zbtw/gopath/src/github.com/jacobsa/fuse/fuseutil/file_system.go:122 +0x176
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant