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

CI: TestFSOps error: can not set nil value #5680

Open
zhoucheng361 opened this issue Feb 19, 2025 · 2 comments · May be fixed by #5696
Open

CI: TestFSOps error: can not set nil value #5680

zhoucheng361 opened this issue Feb 19, 2025 · 2 comments · May be fixed by #5696
Labels
kind/bug Something isn't working

Comments

@zhoucheng361
Copy link
Contributor

What happened:
https://github.com/juicedata/juicefs/actions/runs/13404731430/job/37442515893

go test ./pkg/meta/... -rapid.meta=tikv://127.0.0.1:2379/test -rapid.seed=13256 -rapid.checks=100000 -rapid.steps=200 -run "TestFSOps" -v -failfast -count=1 -timeout=30m -cover -coverpkg=./pkg/... -args -test.gocoverdir="/home/runner/work/juicefs/juicefs/cover"
	github.com/juicedata/juicefs/pkg/meta/pb		coverage: 0.0% of statements
=== RUN   TestFSOps
2025/02/19 03:21:45.669592 juicefs[3908] <ERROR>: error: can not set nil value
goroutine 12 [running]:
runtime/debug.Stack()
	/opt/hostedtoolcache/go/1.23.6/x64/src/runtime/debug/stack.go:26 +0x5e
github.com/juicedata/juicefs/pkg/meta.errno({0x1c7d4c0, 0x29106a0})
	/home/runner/work/juicefs/juicefs/pkg/meta/utils.go:125 +0xfc
github.com/juicedata/juicefs/pkg/meta.(*kvMeta).doSetXattr(0xc001351620, {0x1c9ed38, 0xc00189dc80}, 0x30?, {0xc0009bb380, 0x16}, {0xc0017ebbc6, 0x0, 0x5}, 0x0)
	/home/runner/work/juicefs/juicefs/pkg/meta/tkv.go:2661 +0x23b
github.com/juicedata/juicefs/pkg/meta.(*baseMeta).SetXattr(0xc000ad9908, {0x1c9ed38, 0xc00189dc80}, 0x3, {0xc0009bb380, 0x16}, {0xc0017ebbc6, 0x0, 0x5}, 0x0)
	/home/runner/work/juicefs/juicefs/pkg/meta/base.go:1833 +0x216
github.com/juicedata/juicefs/pkg/meta.(*fsMachine).SetXAttr(0xc001363470, 0xc000c30880)
	/home/runner/work/juicefs/juicefs/pkg/meta/random_test.go:1391 +0x22b
pgregory.net/rapid.runAction(0xc000c30880, 0xc0013634a0?)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/statemachine.go:174 +0x88
pgregory.net/rapid.(*stateMachine).executeAction(0xc001363500, 0xc000c30880)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/statemachine.go:149 +0xc9
pgregory.net/rapid.Run[...].func1()
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/statemachine.go:83 +0x[11](https://github.com/juicedata/juicefs/actions/runs/13404731430/job/37442515893#step:6:12)3
pgregory.net/rapid.checkOnce(0xc000c30880, 0xc0000dfa00?)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/engine.go:319 +0x8c
pgregory.net/rapid.findBug({0x1ca11b0, 0xc0000dfa00}, 0x186a0, 0x33c8, 0xc000c2bb60)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/engine.go:291 +0x23f
pgregory.net/rapid.doCheck({0x1ca11b0, 0xc0000dfa00}, {0x0, 0x0}, 0x186a0, 0x33c8, 0xc000c2bb60)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/engine.go:221 +0x105
pgregory.net/rapid.checkTB({0x1ca11b0, 0xc0000dfa00}, 0xc000c2bb60)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/engine.go:166 +0xec
pgregory.net/rapid.Check(0xc0000dfa00, 0xc000c2bb60)
	/home/runner/go/pkg/mod/pgregory.net/[email protected]/engine.go:93 +0x35
github.com/juicedata/juicefs/pkg/meta.TestFSOps(0xc0000dfa00)
	/home/runner/work/juicefs/juicefs/pkg/meta/random_test.go:2159 +0x11d
testing.tRunner(0xc0000dfa00, 0x1ac8a90)
	/opt/hostedtoolcache/go/1.23.6/x64/src/testing/testing.go:1690 +0xf4
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.23.6/x64/src/testing/testing.go:1743 +0x390 [[email protected]:[12](https://github.com/juicedata/juicefs/actions/runs/13404731430/job/37442515893#step:6:13)5]
2025/02/19 03:21:45.763754 juicefs[3908] <ERROR>: error: can not set nil value
goroutine 12 [running]:

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?

Environment:

  • JuiceFS version (use juicefs --version) or Hadoop Java SDK version:
  • Cloud provider or hardware configuration running JuiceFS:
  • OS (e.g cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Object storage (cloud provider and region, or self maintained):
  • Metadata engine info (version, cloud provider managed or self maintained):
  • Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
  • Others:
@zhoucheng361 zhoucheng361 added the kind/bug Something isn't working label Feb 19, 2025
@jiefenghuang jiefenghuang linked a pull request Feb 25, 2025 that will close this issue
@davies
Copy link
Contributor

davies commented Feb 26, 2025

Is the empty value useful? If not, we can return EINVAL for empty value.

@jiefenghuang
Copy link
Contributor

not sure if there is a use case for this, like simply making a mark.
Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants