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

PD panic after inject PD failed #6858

Closed
fubinzh opened this issue Jul 28, 2023 · 3 comments
Closed

PD panic after inject PD failed #6858

fubinzh opened this issue Jul 28, 2023 · 3 comments

Comments

@fubinzh
Copy link

fubinzh commented Jul 28, 2023

Bug Report

What did you do?

  1. TiDB cluster with 1 PD, 3 TiCDC, 3 TiKV, 1 TiDB
  2. create changefeed
  3. run workload
  4. 18:15:17 - 10:15:37 inject PD failure for 20s

What did you expect to see?

PD should be rececovered after PD failure injection

What did you see instead?

PD repeatedly panic

|panic: runtime error: invalid memory address or nil pointer dereference                                                                                                                                                                                       │
│ [signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x21cf4ef]                                                                                                                                                                                      │
│                                                                                                                                                                                                                                                               │
│ goroutine 366 [running]:                                                                                                                                                                                                                                      │
│ github.com/tikv/pd/server.(*GrpcServer).WatchGlobalConfig(0xc0007e2a30, 0xc000876200, {0x3b60b30, 0xc00034d200})                                                                                                                                              │
│     /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/pd/server/grpc_service.go:2366 +0x18f                                                                                                                                                │
│ github.com/pingcap/kvproto/pkg/pdpb._PD_WatchGlobalConfig_Handler({0x2dbf240?, 0xc0007e2a30}, {0x3b5de68, 0xc001430a20})                                                                                                                                      │
│     /go/pkg/mod/github.com/pingcap/[email protected]/pkg/pdpb/pdpb.pb.go:10264 +0xd3                                                                                                                                                 │
│ github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1({0x2dbf240?, 0xc0007e2a30?}, {0x3b5de68?, 0xc001430a20?})                                                                                                                              │
│     /go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:71 +0x89                                                                                                                                           │
│ github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).StreamServerInterceptor.func1({0x2dbf240, 0xc0007e2a30}, {0x3b5e9a8?, 0xc0019ecf00}, 0xc000770240?, 0xc0007ca0a0)                                                                               │
│     /go/pkg/mod/github.com/grpc-ecosystem/[email protected]/server_metrics.go:121 +0x109                                                                                                                                                              │
│ github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1.1({0x2dbf240?, 0xc0007e2a30?}, {0x3b5e9a8?, 0xc0019ecf00?})                                                                                                                              │
│     /go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:74 +0x6f                                                                                                                                           │
│ go.etcd.io/etcd/etcdserver/api/v3rpc.newStreamInterceptor.func1({0x2dbf240, 0xc0007e2a30}, {0x3b5e9a8, 0xc0019ecf00}, 0xc0019f3000?, 0xc0007ca0a0)                                                                                                            │
│     /go/pkg/mod/go.etcd.io/[email protected]/etcdserver/api/v3rpc/interceptor.go:237 +0x483                                                                                                                                   │
│ github.com/grpc-ecosystem/go-grpc-middleware.ChainStreamServer.func1({0x2dbf240, 0xc0007e2a30}, {0x3b5e9a8, 0xc0019ecf00}, 0xc0014309c0, 0x38bf198)                                                                                                           │
│     /go/pkg/mod/github.com/grpc-ecosystem/[email protected]/chain.go:79 +0x1a3                                                                                                                                          │
│ google.golang.org/grpc.(*Server).processStreamingRPC(0xc001a12f00, {0x3b64f60, 0xc001a13380}, 0xc001a2ff00, 0xc0005a6e70, 0x4df1820, 0x0)                                                                                                                     │
│     /go/pkg/mod/google.golang.org/[email protected]/server.go:1244 +0xdc6                                                                                                                                                                                          │
│ google.golang.org/grpc.(*Server).handleStream(0xc001a12f00, {0x3b64f60, 0xc001a13380}, 0xc001a2ff00, 0x0)                                                                                                                                                     │
│     /go/pkg/mod/google.golang.org/[email protected]/server.go:1317 +0x9de                                                                                                                                                                                          │
│ google.golang.org/grpc.(*Server).serveStreams.func1.1()                                                                                                                                                                                                       │
│     /go/pkg/mod/google.golang.org/[email protected]/server.go:722 +0x98                                                                                                                                                                                            │
│ created by google.golang.org/grpc.(*Server).serveStreams.func1                                                                                                                                                                                                │
│     /go/pkg/mod/google.golang.org/[email protected]/server.go:720 +0xea                                                          

image

What version of PD are you using (pd-server -V)?

[root@upstream-pd-0 /]# /pd-server -V
Release Version: v7.3.0-alpha
Edition: Community
Git Commit Hash: 4db1735
Git Branch: heads/refs/tags/v7.3.0-alpha
UTC Build Time: 2023-07-27 11:36:08

@fubinzh fubinzh added the type/bug The issue is confirmed as a bug. label Jul 28, 2023
@fubinzh
Copy link
Author

fubinzh commented Jul 28, 2023

/found automation

@fubinzh
Copy link
Author

fubinzh commented Jul 31, 2023

/severity critical

@HuSharp
Copy link
Member

HuSharp commented Aug 2, 2023

fixed by #6866

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants