etcd icon indicating copy to clipboard operation
etcd copied to clipboard

[3.4] panic: runtime error: index out of range [0] with length 0 [recovered]

Open ahrtr opened this issue 1 year ago • 5 comments

The issue was found in 3.4 pipeline.

--- FAIL: TestWatchReconnRequest (1.12s)
panic: runtime error: index out of range [0] with length 0 [recovered]
	panic: runtime error: index out of range [0] with length 0
goroutine 68799 [running]:
testing.tRunner.func1.2(0xef8e00, 0xc000a222a0)
	/opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1153 +0x332
testing.tRunner.func1(0xc0005dc780)
	/opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1156 +0x4b6
panic(0xef8e00, 0xc000a222a0)
	/opt/hostedtoolcache/go/1.16.15/x64/src/runtime/panic.go:965 +0x1b9
go.etcd.io/etcd/clientv3/integration.putAndWatch(0xc0005dc780, 0xc0002864c0, 0x10a3890, 0x1, 0x10a3890, 0x1)
	/home/runner/work/etcd/etcd/clientv3/integration/watch_test.go:341 +0x40c
go.etcd.io/etcd/clientv3/integration.testWatchReconnRequest(0xc0005dc780, 0xc0002864c0)
	/home/runner/work/etcd/etcd/clientv3/integration/watch_test.go:220 +0x290
go.etcd.io/etcd/clientv3/integration.runWatchTest(0xc0005dc780, 0xfc87b0)
	/home/runner/work/etcd/etcd/clientv3/integration/watch_test.go:64 +0x24f
go.etcd.io/etcd/clientv3/integration.TestWatchReconnRequest(0xc0005dc780)
	/home/runner/work/etcd/etcd/clientv3/integration/watch_test.go:181 +0x37
testing.tRunner(0xc0005dc780, 0xfc86d8)
	/opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1203 +0xe5
created by testing.(*T).Run
	/opt/hostedtoolcache/go/1.16.15/x64/src/testing/testing.go:1248 +0x2b3
FAIL	go.etcd.io/etcd/clientv3/integration	260.996s
FAIL
Error: Process completed with exit code 1.

Refer to https://github.com/etcd-io/etcd/runs/7462977558?check_suite_focus=true

ahrtr avatar Jul 22 '22 06:07 ahrtr

Can I try my hand at this?

zhangzerui20 avatar Jul 22 '22 15:07 zhangzerui20

Can I try my hand at this?

Any help is appreciated!

ahrtr avatar Jul 22 '22 22:07 ahrtr

@zhangzerui20 any update on this issue?

ahrtr avatar Jul 26 '22 21:07 ahrtr

Sorry to jump this one, maybe @zhangzerui20 actually has a real fix in store.

I couldn't really reproduce this on my box and I figured the members are not changed anywhere on the execution path (or any other races for that matter). My assumption is that the integration cluster didn't create enough members to begin with, so I added an assertion before running the test. #14285

tjungblu avatar Jul 29 '22 14:07 tjungblu

@zhangzerui20 any update on this issue?

Not yet, I'm trying to reproduce this issue.

zhangzerui20 avatar Jul 30 '22 19:07 zhangzerui20

Can I try this issue too? Is this error happend on release-3.4 branch?

halegreen avatar Oct 15 '22 12:10 halegreen

Not reproduce this error on my local dev env either. Going deep to find why the test fails in 3.4 pipeline , may need more context infos, like the git branch, running on 3.4 pipeline which leads to this error.

While I guess for now we can check the watch response error not nil to avoid test runtime panic , #14591

halegreen avatar Oct 15 '22 14:10 halegreen

Resolved in https://github.com/etcd-io/etcd/pull/14594

ahrtr avatar Oct 16 '22 21:10 ahrtr