planetscale / vitess-operator

Kubernetes Operator for Vitess

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

panic when backupLocation is nil

mdkent opened this issue · comments

Hi all!

I'm seeing the following crash trying to bootstrap a cluster using an externally managed MySQL

time="2020-08-19T20:33:11Z" level=info msg="Reconciling VitessCluster" VitessCluster=a controller=VitessCluster namespace=vitess
time="2020-08-19T20:33:11Z" level=info msg="Reconciling EtcdLockserver" controller=EtcdLockserver etcdlockserver=a-etcd-cf3bf24b namespace=vitess
time="2020-08-19T20:33:11Z" level=info msg="Reconciling VitessCell" controller=VitessCell namespace=vitess vitesscell=a-useast1-aaa38ac7
time="2020-08-19T20:33:11Z" level=info msg="Reconciling VitessKeyspace" controller=VitessKeyspace namespace=vitess vitesskeyspace=a-a-d182b884
time="2020-08-19T20:33:11Z" level=info msg="Reconciling VitessKeyspace" controller=VitessKeyspace namespace=vitess vitesskeyspace=a-actiontext-d8e43c31
time="2020-08-19T20:33:11Z" level=info msg="connecting to Vitess topology server" address="a-etcd-cf3bf24b-client:2379" component=toposerver.connpool implementation=etcd2 rootPath=/vitess/a/global
time="2020-08-19T20:33:11Z" level=info msg="successfully connected to Vitess topology server" address="a-etcd-cf3bf24b-client:2379" component=toposerver.connpool implementation=etcd2 rootPath=/vitess/a/global
E0819 20:33:11.557558       1 runtime.go:78] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
goroutine 669 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x1fac740, 0x3b64de0)
	/Users/mkent/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20191004115801-a2eda9f80ab8/pkg/util/runtime/runtime.go:74 +0xa3
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/Users/mkent/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20191004115801-a2eda9f80ab8/pkg/util/runtime/runtime.go:48 +0x82
panic(0x1fac740, 0x3b64de0)
	/usr/local/Cellar/go/1.14.3/libexec/src/runtime/panic.go:969 +0x166
planetscale.dev/vitess-operator/pkg/controller/vitessshard.vttabletSpecs(0xc001115000, 0xc00062ec90, 0x23158b1, 0x15, 0xc001033618)
	vitess-operator/pkg/controller/vitessshard/reconcile_tablets.go:309 +0x4d2
planetscale.dev/vitess-operator/pkg/controller/vitessshard.(*ReconcileVitessShard).reconcileTablets(0xc00099c440, 0x27b1140, 0xc000fba480, 0xc001115000, 0x0, 0x0, 0x0, 0x0)
	vitess-operator/pkg/controller/vitessshard/reconcile_tablets.go:82 +0x380
planetscale.dev/vitess-operator/pkg/controller/vitessshard.(*ReconcileVitessShard).Reconcile(0xc00099c440, 0xc000f18968, 0x6, 0xc000df8aa0, 0x1e, 0x0, 0x0, 0x0, 0x0)
	vitess-operator/pkg/controller/vitessshard/vitessshard_controller.go:184 +0x68a
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0008a9e00, 0x2058dc0, 0xc000c5be20, 0x1061800)
	/Users/mkent/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:256 +0x161
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0008a9e00, 0x0)
	/Users/mkent/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:232 +0xae
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc0008a9e00)
	/Users/mkent/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:211 +0x2b
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc00058e240)
	/Users/mkent/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20191004115801-a2eda9f80ab8/pkg/util/wait/wait.go:152 +0x5f
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00058e240, 0x3b9aca00, 0x0, 0x1000000023f0101, 0xc00054ad20)
	/Users/mkent/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20191004115801-a2eda9f80ab8/pkg/util/wait/wait.go:153 +0xf8
k8s.io/apimachinery/pkg/util/wait.Until(0xc00058e240, 0x3b9aca00, 0xc00054ad20)
	/Users/mkent/go/pkg/mod/k8s.io/apimachinery@v0.0.0-20191004115801-a2eda9f80ab8/pkg/util/wait/wait.go:88 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/Users/mkent/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:193 +0x305
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x1c75a72]

looks to be the issue hinted at in https://github.com/planetscale/vitess-operator/pull/116/files#r472334564

This should be fixed by #123. Thanks for reporting!