edgemesh
edgemesh copied to clipboard
edgemesh-agent throw invalid memory address or nil pointer dereference,then exit
What happened:
edgemesh-agent start failed when using kubeflow.
this is the logs:
E0613 10:20:24.945193 1 util.go:116] destination rule object knative-serving/knative .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945236 1 util.go:116] destination rule object kubeflow/metadata-grpc-service .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945262 1 util.go:116] destination rule object kubeflow/ml-pipeline .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945283 1 util.go:116] destination rule object kubeflow/ml-pipeline-minio .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945305 1 util.go:116] destination rule object kubeflow/ml-pipeline-mysql .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945326 1 util.go:116] destination rule object kubeflow/ml-pipeline-ui .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945355 1 util.go:116] destination rule object kubeflow/ml-pipeline-visualizationserver .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945375 1 util.go:116] destination rule object kubeflow-user-example-com/ml-pipeline-visualizationserver .Spec.TrafficPolicy.LoadBalancer is nil
E0613 10:20:24.945412 1 loadbalancer.go:578] unsupported loadBalance policy
E0613 10:20:24.986106 1 runtime.go:78] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
goroutine 365 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic({0x20733e0, 0x3d55320})
/code/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0x7d
k8s.io/apimachinery/pkg/util/runtime.HandleCrash({0x0, 0x0, 0xc0016ee8f0})
/code/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x75
panic({0x20733e0, 0x3d55320})
/usr/local/go/src/runtime/panic.go:1038 +0x215
github.com/kubeedge/edgemesh/pkg/loadbalancer.(*LoadBalancer).OnDestinationRuleUpdate(0xc000192600, 0xc001606c70, 0xc00000b0e0)
/code/pkg/loadbalancer/loadbalancer.go:544 +0x497
github.com/kubeedge/edgemesh/pkg/loadbalancer.(*LoadBalancer).handleUpdateDestinationRule(0xc00137f380, {0x237fce0, 0xc0018fb888}, {0x237fce0, 0xc00000b0e0})
/code/pkg/loadbalancer/loadbalancer.go:267 +0x57
k8s.io/client-go/tools/cache.ResourceEventHandlerFuncs.OnUpdate(...)
/code/vendor/k8s.io/client-go/tools/cache/controller.go:238
k8s.io/client-go/tools/cache.(*processorListener).run.func1()
/code/vendor/k8s.io/client-go/tools/cache/shared_informer.go:785 +0x127
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0x7f8e39bc19f0)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x67
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc001228738, {0x292d5c0, 0xc0013792c0}, 0x1, 0xc001237da0)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xb6
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0x0, 0x3b9aca00, 0x0, 0xe, 0xc001228788)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x89
k8s.io/apimachinery/pkg/util/wait.Until(...)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90
k8s.io/client-go/tools/cache.(*processorListener).run(0xc001328f80)
/code/vendor/k8s.io/client-go/tools/cache/shared_informer.go:781 +0x6b
k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1()
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:73 +0x5a
created by k8s.io/apimachinery/pkg/util/wait.(*Group).Start
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:71 +0x88
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=0x38 pc=0x1d78e97]
goroutine 365 [running]:
k8s.io/apimachinery/pkg/util/runtime.HandleCrash({0x0, 0x0, 0xc0016ee8f0})
/code/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:55 +0xd8
panic({0x20733e0, 0x3d55320})
/usr/local/go/src/runtime/panic.go:1038 +0x215
github.com/kubeedge/edgemesh/pkg/loadbalancer.(*LoadBalancer).OnDestinationRuleUpdate(0xc000192600, 0xc001606c70, 0xc00000b0e0)
/code/pkg/loadbalancer/loadbalancer.go:544 +0x497
github.com/kubeedge/edgemesh/pkg/loadbalancer.(*LoadBalancer).handleUpdateDestinationRule(0xc00137f380, {0x237fce0, 0xc0018fb888}, {0x237fce0, 0xc00000b0e0})
/code/pkg/loadbalancer/loadbalancer.go:267 +0x57
k8s.io/client-go/tools/cache.ResourceEventHandlerFuncs.OnUpdate(...)
/code/vendor/k8s.io/client-go/tools/cache/controller.go:238
k8s.io/client-go/tools/cache.(*processorListener).run.func1()
/code/vendor/k8s.io/client-go/tools/cache/shared_informer.go:785 +0x127
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0x7f8e39bc19f0)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:155 +0x67
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc001228738, {0x292d5c0, 0xc0013792c0}, 0x1, 0xc001237da0)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:156 +0xb6
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0x0, 0x3b9aca00, 0x0, 0xe, 0xc001228788)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:133 +0x89
k8s.io/apimachinery/pkg/util/wait.Until(...)
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:90
k8s.io/client-go/tools/cache.(*processorListener).run(0xc001328f80)
/code/vendor/k8s.io/client-go/tools/cache/shared_informer.go:781 +0x6b
k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1()
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:73 +0x5a
created by k8s.io/apimachinery/pkg/util/wait.(*Group).Start
/code/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:71 +0x88
What you expected to happen: it is running .
How to reproduce it (as minimally and precisely as possible): ..... Anything else we need to know?: ...... Environment:
-
EdgeMesh version: 1.9.0 - 1.13.0
-
Kubernetes version (use
kubectl version): 1.21 -
KubeEdge version(e.g.
cloudcore --versionandedgecore --version): 1.9.2 -
Cloud nodes Environment:
- Hardware configuration (e.g.
lscpu): - OS (e.g.
cat /etc/os-release): - Kernel (e.g.
uname -a): - Go version (e.g.
go version): - Others:
- Hardware configuration (e.g.
-
Edge nodes Environment:
- edgecore version (e.g.
edgecore --version): 1.9.2 - Hardware configuration (e.g.
lscpu): - OS (e.g.
cat /etc/os-release): - Kernel (e.g.
uname -a): - Go version (e.g.
go version): - Others:
- edgecore version (e.g.
Can I see your destinationrule file?
how get it ?
cloud agents is good. edge agents is bad.
You can get it by kubectl get destinationrule -o yaml