tidb集群中的tidb无法启动,急急急!

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
TIDB-V4.0.10
【问题描述】
tidb集群其它组件运行正常,只有tidb启动时无法启动。tidb_stderr.log报如下日志:

panic: interface conversion: interface {} is nil, not string
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0x22e378f]

goroutine 1 [running]:
github.com/pingcap/tidb/domain.(*Domain).loadInfoSchema.func1(0xc000ba50a0, 0xc000ba5088, 0xc000774a20, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/domain/domain.go:107 +0xaaf
panic(0x2f816c0, 0xc000b0aa50)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/pingcap/tidb/table/tables.TableFromMeta(0xc00096cb80, 0x1, 0x1, 0xc0003be780, 0xc00096cb80, 0x1, 0x1, 0x1)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/table/tables/tables.go:128 +0xd91
github.com/pingcap/tidb/infoschema.(*Builder).createSchemaTablesForDB(0xc000ba4cc8, 0xc00011f0a0, 0x33f0f38, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/infoschema/builder.go:416 +0x1c2
github.com/pingcap/tidb/infoschema.(*Builder).InitWithDBInfos(0xc000ba4cc8, 0xc000afc810, 0x5, 0x5, 0x138, 0x0, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/infoschema/builder.go:384 +0x83
github.com/pingcap/tidb/domain.(*Domain).loadInfoSchema(0xc000774a20, 0xc0007daac0, 0x0, 0x5dfc5daaad40001, 0x138, 0x0, 0xc0001a5801, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/domain/domain.go:144 +0xd67
github.com/pingcap/tidb/domain.(*Domain).Reload(0xc000774a20, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/domain/domain.go:370 +0x19c
github.com/pingcap/tidb/domain.(*Domain).Init(0xc000774a20, 0xa7a358200, 0xc0007daa60, 0xb2d05e00, 0xc0007daa40)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/domain/domain.go:751 +0x482
github.com/pingcap/tidb/session.(*domainMap).Get.func1(0x30afe40, 0x9c5, 0xc0007bd500)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/session/tidb.go:79 +0x4ee
github.com/pingcap/tidb/util.RunWithRetry(0x1e, 0x1f4, 0xc000ba5a48, 0x18, 0x5417b80)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/util/misc.go:61 +0x7f
github.com/pingcap/tidb/session.(*domainMap).Get(0x53ee340, 0x38b8400, 0xc000756200, 0xc000774a20, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/session/tidb.go:71 +0x1c8
github.com/pingcap/tidb/session.createSessionWithOpt(0x38b8400, 0xc000756200, 0x0, 0x2b353ad, 0x5416450, 0x33f0a38)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/session/session.go:1900 +0x59
github.com/pingcap/tidb/session.createSession(0x38b8400, 0xc000756200, 0x33, 0x0, 0xc0002ce540)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/session/session.go:1896 +0x3e
github.com/pingcap/tidb/session.BootstrapSession(0x38b8400, 0xc000756200, 0x0, 0x0, 0x0)
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/session/session.go:1772 +0xf6
main.createStoreAndDomain()
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/tidb-server/main.go:258 +0x193
main.main()
/home/jenkins/agent/workspace/tidb_v4.0.10/go/src/github.com/pingcap/tidb/tidb-server/main.go:179 +0x1d0


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。tidb.log (331.4 KB) tidb_stderr.log (186.5 KB)var_log_message.txt (3.2 KB)

麻烦上传一下完整的 tidb.log 、tidb_stderr.log 用于分析。谢谢。

兄弟,error日志上传上去了,帮忙看看,

  1. 当前集群的拓扑是怎样的,请检查一下 tiup cluster display
  2. 检查一下 TiKV 和 TiDB 版本是否一致。

tidb@localhost ~]$ tiup cluster display tidb-test
Starting component cluster: /home/tidb/.tiup/components/cluster/v1.3.1/tiup-cluster display tidb-test
Cluster type: tidb
Cluster name: tidb-test
Cluster version: v4.0.10
SSH type: builtin
Dashboard URL: http://172.22.1.59:2379/dashboard
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir


172.22.1.59:9093 alertmanager 172.22.1.59 9093/9094 linux/x86_64 Up /data/tidb-data/alertmanager-9093 /data/tidb-deploy/alertmanager-9093
172.22.1.59:3000 grafana 172.22.1.59 3000 linux/x86_64 Up - /data/tidb-deploy/grafana-3000
172.22.1.59:2379 pd 172.22.1.59 2379/2380 linux/x86_64 Up|L|UI /data/tidb-data/pd-2379 /data/tidb-deploy/pd-2379
172.22.1.59:9090 prometheus 172.22.1.59 9090 linux/x86_64 Up /data/tidb-data/prometheus-9090 /data/tidb-deploy/prometheus-9090
172.22.1.59:4000 tidb 172.22.1.59 4000/10080 linux/x86_64 Down - /data/deploy2/install/deploy/tidb
172.22.1.60:4000 tidb 172.22.1.60 4000/10080 linux/x86_64 Down - /data/deploy/install/deploy/tidb
172.22.1.59:20160 tikv 172.22.1.59 20160/20180 linux/x86_64 Up /data/tidb-data/tikv-20160 /data/tidb-deploy/tikv-20160

版本是一致的v4.0.10

看你的 tidb 一直在重启,看看是不是服务器的内存不够了,或者磁盘空间,59 服务器 tikv 也部署在上面,先检查下。

tidb的内存使用是不用显示指定、调优的吧?我这是测试开发环境,tidb kv,pd都部署在一台虚拟机上,查看了资源是没问题。

没问题是剩余多少

最后解决了么?我这边执行语句也遇到这种情况

interface conversion: interface {} is nil, not *types.MyDecimal

这个问题在这个帖子里跟进下吧:特定版本执行SQL报错

嗯,这个就是我发的帖子

嗯,好的,那就在那个帖子里跟进。