Closed matthenslee closed 2 years ago
@matthenslee Thank you for reporting this. Could you please try reproducing this with the latest version? 10.0.2 is quite old. Please note that we do not support installing the operator via Helm charts.
Closing this for now as we're unable to reproduce it. Feel free to re-open if still valid. Thank you.
Describe the bug
Hello!
We are using keycloak-operator on our cluster with Kubernetes 1.21 (RKE2 v1.21.10+rke2r1). When the operator starts, we receive a seemingly infinite CrashLoopBackoff with the error below. Each time a crash occurs it occurs after the state of a keycloak CRD object is read. Has anyone encountered a similar error?
`E0324 20:56:52.762318 1 runtime.go:78] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference) goroutine 3508 [running]: k8s.io/apimachinery/pkg/util/runtime.logPanic(0x16dd3c0, 0x277e1d0) /src/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0xa3 k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /src/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x82 panic(0x16dd3c0, 0x277e1d0) /usr/local/go/src/runtime/panic.go:679 +0x1b2 github.com/keycloak/keycloak-operator/pkg/common.(ClientState).readDefaultRoles(0xc000f90cf0, 0xc000c8c780, 0x1b9efe0, 0xc000dae7e0, 0x0, 0x0) /src/pkg/common/client_state.go:132 +0x86 github.com/keycloak/keycloak-operator/pkg/common.(ClientState).Read(0xc000f90cf0, 0x1b53460, 0xc000b3cfc0, 0xc000c8c780, 0x1b9efe0, 0xc000dae7e0, 0x1b70460, 0xc0006d2f30, 0x0, 0xc000c6cd80) /src/pkg/common/client_state.go:79 +0x2cb github.com/keycloak/keycloak-operator/pkg/controller/keycloakclient.(ReconcileKeycloakClient).Reconcile(0xc000b3d040, 0xc000a88560, 0x8, 0xc00079e820, 0x1d, 0xc0007f1cb0, 0xc000cec630, 0xc000cec098, 0x1b241c0) /src/pkg/controller/keycloakclient/keycloakclient_controller.go:148 +0xc09 sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).reconcileHandler(0xc00024c180, 0x173eaa0, 0xc000dd6060, 0xc000b1a400) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:256 +0x162 sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).processNextWorkItem(0xc00024c180, 0x199f200) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:232 +0xcb sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).worker(0xc00024c180) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:211 +0x2b k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc00039f810) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5e k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc00039f810, 0x1b12ee0, 0xc0005173e0, 0x1, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xa3 k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00039f810, 0x3b9aca00, 0x0, 0x1, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0xaa k8s.io/apimachinery/pkg/util/wait.Until(0xc00039f810, 0x3b9aca00, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:193 +0x328 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=0x40 pc=0x14b3306]
goroutine 3508 [running]: k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /src/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:55 +0x105 panic(0x16dd3c0, 0x277e1d0) /usr/local/go/src/runtime/panic.go:679 +0x1b2 github.com/keycloak/keycloak-operator/pkg/common.(ClientState).readDefaultRoles(0xc000f90cf0, 0xc000c8c780, 0x1b9efe0, 0xc000dae7e0, 0x0, 0x0) /src/pkg/common/client_state.go:132 +0x86 github.com/keycloak/keycloak-operator/pkg/common.(ClientState).Read(0xc000f90cf0, 0x1b53460, 0xc000b3cfc0, 0xc000c8c780, 0x1b9efe0, 0xc000dae7e0, 0x1b70460, 0xc0006d2f30, 0x0, 0xc000c6cd80) /src/pkg/common/client_state.go:79 +0x2cb github.com/keycloak/keycloak-operator/pkg/controller/keycloakclient.(ReconcileKeycloakClient).Reconcile(0xc000b3d040, 0xc000a88560, 0x8, 0xc00079e820, 0x1d, 0xc0007f1cb0, 0xc000cec630, 0xc000cec098, 0x1b241c0) /src/pkg/controller/keycloakclient/keycloakclient_controller.go:148 +0xc09 sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).reconcileHandler(0xc00024c180, 0x173eaa0, 0xc000dd6060, 0xc000b1a400) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:256 +0x162 sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).processNextWorkItem(0xc00024c180, 0x199f200) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:232 +0xcb sigs.k8s.io/controller-runtime/pkg/internal/controller.(Controller).worker(0xc00024c180) /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:211 +0x2b k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc00039f810) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x5e k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc00039f810, 0x1b12ee0, 0xc0005173e0, 0x1, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xa3 k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00039f810, 0x3b9aca00, 0x0, 0x1, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0xaa k8s.io/apimachinery/pkg/util/wait.Until(0xc00039f810, 0x3b9aca00, 0xc000724180) /src/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1 /src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:193 +0x328 `
Version
10.0.2
Expected behavior
Healthy Pod, Keycloak CRDs processed as written
Actual behavior
Pod in Unhealthy Crashloop State, Realms are not created, Users are not created, etc.
How to Reproduce?
When bootstrapping our cluster, we install Keycloak via keycloak-operator via Helm chart with values modified for our environment. This error occurs shortly after the container initializes.
Anything else?
No response