fatima-go / grpczk

0 stars 0 forks source link

zk_client 에서 nil 에러 #11

Open djinchung opened 1 month ago

djinchung commented 1 month ago

AS-IS zk close 이후에 종종 아래와 같은 현상이 있음

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x14 pc=0xbf9a00]

goroutine 188631 [running]:
[github.com/go-zookeeper/zk.(*Conn).nextXid(...)](http://github.com/go-zookeeper/zk.(*Conn).nextXid(...))
    /Users/frost/Workspace/GO/pkg/mod/github.com/go-zookeeper/zk@v1.0.3/conn.go:880
[github.com/go-zookeeper/zk.(*Conn).queueRequest](http://github.com/go-zookeeper/zk.(*Conn).queueRequest)(0x0, 0xc, {0xc728c0?, 0xc001101458}, {0xc72900?, 0xc000f31c80}, 0xc00013f3e0)
    /Users/frost/Workspace/GO/pkg/mod/github.com/go-zookeeper/zk@v1.0.3/conn.go:895 +0x60
[github.com/go-zookeeper/zk.(*Conn).request(0x0](http://github.com/go-zookeeper/zk.(*Conn).request(0x0), 0x1a?, {0xc728c0?, 0xc001101458?}, {0xc72900?, 0xc000f31c80?}, 0xc0004feb38?)
    /Users/frost/Workspace/GO/pkg/mod/github.com/go-zookeeper/zk@v1.0.3/conn.go:932 +0x3f
[github.com/go-zookeeper/zk.(*Conn).ChildrenW(0x0](http://github.com/go-zookeeper/zk.(*Conn).ChildrenW(0x0), {0xdd6c7c, 0x1a})
    /Users/frost/Workspace/GO/pkg/mod/github.com/go-zookeeper/zk@v1.0.3/conn.go:995 +0x139
[github.com/fatima-go/grpczk.(*ZkServant).ChildrenW(0xc0001250e0](http://github.com/fatima-go/grpczk.(*ZkServant).ChildrenW(0xc0001250e0), {0xdd6c7c, 0x1a})
    /Users/frost/Workspace/GO/pkg/mod/github.com/fatima-go/grpczk@v1.0.3/zk_servant.go:406 +0x3d
[github.com/fatima-go/grpczk.(*ZkClientServant).watchNode(0xc0008bf2c0](http://github.com/fatima-go/grpczk.(*ZkClientServant).watchNode(0xc0008bf2c0), {0xdd6c7c, 0x1a}, {0xc000996fd0?, 0x861ae5?, 0xc0002ce000?}, 0xc000996fa8?)
    /Users/frost/Workspace/GO/pkg/mod/github.com/fatima-go/grpczk@v1.0.3/zk_client.go:192 +0x126
[github.com/fatima-go/grpczk.(*ZkClientServant).Connect.func1()](http://github.com/fatima-go/grpczk.(*ZkClientServant).Connect.func1())
    /Users/frost/Workspace/GO/pkg/mod/github.com/fatima-go/grpczk@v1.0.3/zk_client.go:164 +0x2f
created by [github.com/fatima-go/grpczk.(*ZkClientServant).Connect](http://github.com/fatima-go/grpczk.(*ZkClientServant).Connect) in goroutine 188544
    /Users/frost/Workspace/GO/pkg/mod/github.com/fatima-go/grpczk@v1.0.3/zk_client.go:163 +0x8eb

TO-BE 분석 필요 CC : @wideDoor

wideDoor commented 1 month ago

@djinchung 수정은 했고 테스트 케이스로 위 예외 발생 케이스 검증까지 했습니다. 코드 리뷰는 차주 중에 대면으로 드리도록 하겠습니다.

djinchung commented 1 month ago

@wideDoor 넵, 작업 브랜치 따실때 현재 화면 우측에 create a branch 버튼으로 따 두셨으면 링크 되어 관련 코드도 볼 수 있을텐데, 담부터 그렇게 해 주심 더 좋을거 같아요. 차주에 설명 한번 주세요~