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

fuse/test: TestLargeDirRead: readdir mismatch got 99 wanted 100 #472

Closed
navytux opened this issue Jun 8, 2023 · 4 comments
Closed

fuse/test: TestLargeDirRead: readdir mismatch got 99 wanted 100 #472

navytux opened this issue Jun 8, 2023 · 4 comments

Comments

@navytux
Copy link
Contributor

navytux commented Jun 8, 2023

Hit the following while running go-fuse tests in a loop:

$ time while true; do echo; go test -p 1 -count 1 ./... || break ; done
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
FAIL    github.com/hanwen/go-fuse/fuse/test     1.824s
...
FAIL

real    0m31,778s
user    0m20,065s
sys     0m15,040s

Retrying only that particular test fails reliably in around 5-100 seconds, e.g.:

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ time while true; do echo; go test -run TestLargeDirRead -p 1 -count 1 ./... || break ; done

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.011s

ok      github.com/hanwen/go-fuse/fuse/test     0.011s

ok      github.com/hanwen/go-fuse/fuse/test     0.009s

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.009s

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.011s

ok      github.com/hanwen/go-fuse/fuse/test     0.009s

ok      github.com/hanwen/go-fuse/fuse/test     0.013s

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.008s

ok      github.com/hanwen/go-fuse/fuse/test     0.011s

ok      github.com/hanwen/go-fuse/fuse/test     0.012s

ok      github.com/hanwen/go-fuse/fuse/test     0.009s

ok      github.com/hanwen/go-fuse/fuse/test     0.011s

--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
FAIL    github.com/hanwen/go-fuse/fuse/test     0.012s
FAIL

real    0m5,793s
user    0m6,891s
sys     0m1,924s

go-fuse: v2.3.0-5-g90b055a
os: Linux deca 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux
go: go version go1.20.5 linux/amd64

@rfjakob
Copy link
Contributor

rfjakob commented Jun 10, 2023

I can repro here on Fedora 38. Took 2 minutes of looping.

Linux brikett 6.2.15-300.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 11 17:37:39 UTC 2023 x86_64 GNU/Linux

$ go-fuse/fuse/test$ time while true; do echo; go test -run TestLargeDirRead -p 1 -count 1 ./... || break ; done

[...]

--- FAIL: TestLargeDirRead (0.02s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100

real	1m55,984s

@navytux
Copy link
Contributor Author

navytux commented Jun 11, 2023

Thanks for confirming.

@navytux
Copy link
Contributor Author

navytux commented Jun 14, 2023

Fails reliably and quickly in practically no time:

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ go test -run TestLargeDirRead -count 1000 -failfast
11:59:47.225027 writer: Write/Writev failed, err: 2=no such file or directory. opcode: RELEASEDIR
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
exit status 1
FAIL    github.com/hanwen/go-fuse/fuse/test     0.170s

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ go test -run TestLargeDirRead -count 1000 -failfast
11:59:49.403783 writer: Write/Writev failed, err: 2=no such file or directory. opcode: RELEASE
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
exit status 1
FAIL    github.com/hanwen/go-fuse/fuse/test     0.922s

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ go test -run TestLargeDirRead -count 1000 -failfast
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
exit status 1
FAIL    github.com/hanwen/go-fuse/fuse/test     0.184s

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ go test -run TestLargeDirRead -count 1000 -failfast
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
exit status 1
FAIL    github.com/hanwen/go-fuse/fuse/test     0.112s

(neo) (z-dev) (g.env) kirr@deca:~/src/neo/src/github.com/hanwen/go-fuse/fuse/test$ go test -run TestLargeDirRead -count 1000 -failfast
--- FAIL: TestLargeDirRead (0.01s)
    loopback_test.go:686: readdir mismatch got 99 wanted 100
FAIL
exit status 1
FAIL    github.com/hanwen/go-fuse/fuse/test     0.398s

go-fuse v2.3.0-11-g255ab74

@navytux
Copy link
Contributor Author

navytux commented Jun 14, 2023

@hanwen hanwen closed this as completed in e5b7884 Jun 14, 2023
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

2 participants