devtron-labs / devtron

Tool integration platform for Kubernetes
https://devtron.ai
Apache License 2.0
4.36k stars 477 forks source link

Bug: panic in kubelink while generating manifest #5410

Closed tayalrishabh96 closed 3 months ago

tayalrishabh96 commented 3 months ago

📜 Description

It bugs out while generating manifest, kubelink is throwing panic. Below are the error logs : <pod_name>: {"level":"error","ts":1719830707.819064,"caller":"kubelink/App.go:62","msg":"DEVTRON_PANIC_RECOVERrecovered from panicpanicruntime error: invalid memory address or nil pointer dereferencestackgoroutine 459216 [running]:\nruntime/debug.Stack()\n\t/usr/local/go/src/runtime/debug/stack.go:24 +0x64\nmain.(*App).Start.func1({0x3026920?, 0x5262780})\n\t/go/src/github.com/devtron-labs/kubelink/App.go:62 +0x5c\nmain.(*App).Start.WithRecoveryHandler.func3.1({0x40013550d8?, 0x14a4628?}, {0x3026920?, 0x5262780?})\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/options.go:36 +0x34\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.recoverFrom({0x3e7b688?, 0x4000916960?}, {0x3026920?, 0x5262780?}, 0x90?)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:54 +0xf8\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.UnaryServerInterceptor.func1.1()\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:30 +0x64\npanic({0x3026920?, 0x5262780?})\n\t/usr/local/go/src/runtime/panic.go:914 +0x218\ngithub.com/devtron-labs/kubelink/pkg/service.HelmAppServiceImpl.TemplateChart({0x4000980098, {0x3e7b618, 0x4000550330}, {0x3e5eb10, 0x4000189500}, {0x3e853e8, 0x4000682000}, 0x4000790440, {0x3ea15f0, 0x4000786780}, ...}, ...)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/pkg/service/HelmAppService.go:1243 +0x3e8\ngithub.com/devtron-labs/kubelink/pkg/service.(*ApplicationServiceServerImpl).TemplateChart(0x400080e0e0, {0x3e7b688, 0x4000916960}, 0x40009bf1e0)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/pkg/service/HelmAppServiceWrapper.go:362 +0x1cc\ngithub.com/devtron-labs/kubelink/grpc._ApplicationService_TemplateChart_Handler.func1({0x3e7b688, 0x4000916960}, {0x32d7980?, 0x40009bf1e0})\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/grpc/applist_grpc.pb.go:731 +0x74\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.UnaryServerInterceptor.func1({0x3e7b688?, 0x4000916960?}, {0x32d7980?, 0x40009bf1e0?}, 0x3422517?, 0x40009169f0?)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:34 +0x88\ngoogle.golang.org/grpc.getChainUnaryHandler.func1({0x3e7b688, 0x4000916960}, {0x32d7980, 0x40009bf1e0})\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1193 +0xa0\ngithub.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func3({0x3e7b688, 0x4000916960}, {0x32d7980, 0x40009bf1e0}, 0x40009f2240?, 0x40011e7fc0)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-prometheus/server_metrics.go:107 +0x74\ngoogle.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x3e7b688, 0x4000916960}, {0x32d7980, 0x40009bf1e0}, 0x4000709a38?, 0x179e77c?)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1184 +0x88\ngithub.com/devtron-labs/kubelink/grpc._ApplicationService_TemplateChart_Handler({0x3358b60?, 0x400080e0e0}, {0x3e7b688, 0x4000916960}, 0x40005a8f50, 0x40006451a0)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/grpc/applist_grpc.pb.go:733 +0x12c\ngoogle.golang.org/grpc.(*Server).processUnaryRPC(0x40007fc3c0, {0x3e86a60, 0x4000f996c0}, 0x40014757a0, 0x400075dfb0, 0x5282370, 0x0)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1374 +0xb44\ngoogle.golang.org/grpc.(*Server).handleStream(0x40007fc3c0, {0x3e86a60, 0x4000f996c0}, 0x40014757a0, 0x0)\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1751 +0x7cc\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.1()\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:986 +0xb4\ncreated by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 459211\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:997 +0x160\n","stacktrace":"main.(*App).Start.func1\n\t/go/src/github.com/devtron-labs/kubelink/App.go:62\nmain.(*App).Start.WithRecoveryHandler.func3.1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/options.go:36\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.recoverFrom\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:54\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.UnaryServerInterceptor.func1.1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:30\nruntime.gopanic\n\t/usr/local/go/src/runtime/panic.go:914\nruntime.panicmem\n\t/usr/local/go/src/runtime/panic.go:261\nruntime.sigpanic\n\t/usr/local/go/src/runtime/signal_unix.go:861\ngithub.com/devtron-labs/kubelink/pkg/service.HelmAppServiceImpl.TemplateChart\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/pkg/service/HelmAppService.go:1243\ngithub.com/devtron-labs/kubelink/pkg/service.(*ApplicationServiceServerImpl).TemplateChart\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/pkg/service/HelmAppServiceWrapper.go:362\ngithub.com/devtron-labs/kubelink/grpc._ApplicationService_TemplateChart_Handler.func1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/grpc/applist_grpc.pb.go:731\ngithub.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery.UnaryServerInterceptor.func1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors/recovery/interceptors.go:34\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1193\ngithub.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func3\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/grpc-ecosystem/go-grpc-prometheus/server_metrics.go:107\ngoogle.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1184\ngithub.com/devtron-labs/kubelink/grpc._ApplicationService_TemplateChart_Handler\n\t/go/src/github.com/devtron-labs/kubelink/vendor/github.com/devtron-labs/kubelink/grpc/applist_grpc.pb.go:733\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1374\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:1751\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.1\n\t/go/src/github.com/devtron-labs/kubelink/vendor/google.golang.org/grpc/server.go:986"}

Affected areas

Other CRITICAL functionality

Additional affected areas

Other CRITICAL functionality

Prod/Non-prod environments?

Prod

Is User unblocked?

No

How was the user un-blocked?

None

Impact on Enterprise

  1. The user was unable to generate manifest for a particular OCI helm chart (karpenter). getting nil pointer as seen below :

image

👟 Steps to replicate the Issue

  1. Deploy OCI helm chart
  2. Go to generate manifest.

👍 Expected behavior

Manifest should have been generated properly.

👎 Actual Behavior

getting nil pointer while generating manifest.

☸ Kubernetes version

NA

Cloud provider

NA

🌍 Browser

Chrome

✅ Proposed Solution

NA

👀 Have you spent some time to check if this issue has been raised before?

🏢 Have you read the Code of Conduct?

AB#10098

github-actions[bot] commented 3 months ago

Final Score: 240