Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

argocd-server panics with concurrent map read and write #19913

Closed
2 of 3 tasks
rumstead opened this issue Sep 12, 2024 · 14 comments · Fixed by #20805
Closed
2 of 3 tasks

argocd-server panics with concurrent map read and write #19913

rumstead opened this issue Sep 12, 2024 · 14 comments · Fixed by #20805
Labels
bug Something isn't working component:server component:settings RBAC issues/enhancements version:2.12 Latest confirmed affected version is 2.12

Comments

@rumstead
Copy link
Member

rumstead commented Sep 12, 2024

Checklist:

  • I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
  • I've included steps to reproduce the bug.
  • I've pasted the output of argocd version.

Describe the bug

Server is panicking from reading and writing to a map concurrently. I believe it is happening from github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).GetSettings

To Reproduce

Expected behavior

Screenshots

Version

{
    "Version": "v2.10.6+d504d2b",
    "BuildDate": "2024-04-05T00:27:47Z",
    "GitCommit": "d504d2b1d92f0cf831a124a5fd1a96ee29fa7679",
    "GitTreeState": "clean",
    "GoVersion": "go1.21.3",
    "Compiler": "gc",
    "Platform": "linux/amd64",
}

Logs

time="2024-09-12T02:11:41Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=Create grpc.service=session.SessionService grpc.start_time="2024-09-12T02:11:37Z" grpc.time_ms=3804.154 span.kind=server system=grpc
fatal error: concurrent map read and map write

goroutine 872259 [running]:
k8s.io/apimachinery/pkg/labels.Set.Has(0x4105e5?, {0xc0496d15c0?, 0xef?})
	/go/pkg/mod/k8s.io/apimachinery@v0.26.11/pkg/labels/labels.go:53 +0x28
k8s.io/apimachinery/pkg/labels.(*Requirement).Matches(0xc041234ec0, {0x507f4c0, 0xc05e465050})
	/go/pkg/mod/k8s.io/apimachinery@v0.26.11/pkg/labels/selector.go:235 +0xcf
k8s.io/apimachinery/pkg/labels.internalSelector.Matches(...)
	/go/pkg/mod/k8s.io/apimachinery@v0.26.11/pkg/labels/selector.go:396
k8s.io/client-go/tools/cache.ListAllByNamespace({0x50c3cc0, 0xc00e2028a0}, {0xc000b8fc80, 0xa}, {0x50b4020, 0xc04263d4b8}, 0xc01d322cf8)
	/go/pkg/mod/k8s.io/client-go@v0.26.11/tools/cache/listers.go:89 +0x3fe
k8s.io/client-go/listers/core/v1.secretNamespaceLister.List({{0x50c3cc0?, 0xc00e2028a0?}, {0xc000b8fc80?, 0xc00e2028a0?}}, {0x50b4020?, 0xc04263d4b8?})
	/go/pkg/mod/k8s.io/client-go@v0.26.11/listers/core/v1/secret.go:83 +0x69
github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).GetSettings(0xc000c5e780)
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1283 +0x1fd
github.com/argoproj/argo-cd/v2/server.newArgoCDServiceSet.func1()
	/go/src/github.com/argoproj/argo-cd/server/server.go:878 +0x25
github.com/argoproj/argo-cd/v2/server/version.(*Server).Version(0xc000b2cff0, {0x50a8638, 0xc037878a80}, 0x0?)
	/go/src/github.com/argoproj/argo-cd/server/version/version.go:32 +0x69
github.com/argoproj/argo-cd/v2/pkg/apiclient/version._VersionService_Version_Handler.func1({0x50a8638, 0xc037878a80}, {0x3892f40?, 0xc0378785a0})
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/version/version.pb.go:279 +0x72
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PanicLoggerUnaryServerInterceptor.func19({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?}, 0xc01d323118?, 0xc04b0012c0?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/grpc.go:31 +0x8c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeGitUnaryServerInterceptor.func18({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?}, 0x0?, 0xc01d323120?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:108 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeK8sUnaryServerInterceptor.func17({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?}, 0xc03b9c4340?, 0xc03cd59a00?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:124 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PayloadUnaryServerInterceptor.func16({0x50a8638, 0xc037878a80}, {0x3892f40, 0xc0378785a0}, 0xc044ef61c0, 0xc02bede140)
	/go/src/github.com/argoproj/argo-cd/util/grpc/logging.go:91 +0x15a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/util/grpc.UserAgentUnaryServerInterceptor.func1({0x50a8638, 0xc037878a80}, {0x3892f40, 0xc0378785a0}, 0x50a8638?, 0xc02bede180)
	/go/src/github.com/argoproj/argo-cd/util/grpc/useragent.go:25 +0x7c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878a80?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.UnaryServerInterceptor.func15({0x50a8638, 0xc037878900}, {0x3892f40, 0xc0378785a0}, 0xc044ef61c0, 0xc02bede200)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/auth/auth.go:47 +0xb0
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878900?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func3({0x50a8638, 0xc037878900}, {0x3892f40, 0xc0378785a0}, 0x0?, 0xc02bede240)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0x7d
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878900?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus.UnaryServerInterceptor.func1({0x50a8638, 0xc037878660}, {0x3892f40, 0xc0378785a0}, 0xc044ef61c0, 0xc02bede280)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/logging/logrus/server_interceptors.go:31 +0xf6
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878660?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x50a8638, 0xc037878510}, {0x3892f40, 0xc0378785a0}, 0xc044ef61c0, 0xc02bede2c0)
	/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.42.0/interceptor.go:344 +0x52b
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc037878510?}, {0x3892f40?, 0xc0378785a0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.bug21955WorkaroundInterceptor({0x50a8638, 0xc037878510}, {0x3892f40?, 0xc0378785a0?}, 0xc04ae84138?, 0xc02bede300)
	/go/src/github.com/argoproj/argo-cd/server/server.go:1496 +0x503
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21({0x50a8638, 0xc037878510}, {0x3892f40, 0xc0378785a0}, 0xc044ef61c0, 0x3658640?)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:53 +0x135
github.com/argoproj/argo-cd/v2/pkg/apiclient/version._VersionService_Version_Handler({0x36b20c0?, 0xc000b2cff0}, {0x50a8638, 0xc037878510}, 0xc031cb1800, 0xc001466ab0)
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/version/version.pb.go:281 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc001440f00, {0x50a8638, 0xc037878390}, {0x50b8f60, 0xc01c27d520}, 0xc028b678c0, 0xc001466c00, 0x71a5240, 0x0)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1343 +0xe03
google.golang.org/grpc.(*Server).handleStream(0xc001440f00, {0x50b8f60, 0xc01c27d520}, 0xc028b678c0)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1737 +0xc4c
google.golang.org/grpc.(*Server).serveStreams.func1.1()
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:986 +0x86
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 872258
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:997 +0x145


goroutine 872357 [runnable]:
vendor/golang.org/x/crypto/cryptobyte.(*String).ReadASN1Element(0xc01f10e720?, 0xc01f10e750?, 0x30)
	/usr/local/go/src/vendor/golang.org/x/crypto/cryptobyte/asn1.go:612 +0x5a
crypto/x509.parseCertificate({0xc002aca800, 0x76d, 0x789})
	/usr/local/go/src/crypto/x509/parser.go:902 +0x665
crypto/x509.ParseCertificate({0xc002aca800?, 0x76d, 0x690?})
	/usr/local/go/src/crypto/x509/parser.go:985 +0x1d
crypto/tls.X509KeyPair({0xc00f842a80?, 0xc02ac26748?, 0x1e?}, {0xc047045c00, 0x68f, 0x690})
	/usr/local/go/src/crypto/tls/tls.go:294 +0x691
github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).updateSettingsFromSecret(0xc000c5e780, 0xc02bf2cfc0, 0xc035b5cab0, {0xc02bebfce0, 0x4, 0xc04f4129c0?})
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1535 +0x668
github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).GetSettings(0xc000c5e780)
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1290 +0x265
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).Authenticate(0xc00089ea00, {0x50a8638, 0xc04f412870})
	/go/src/github.com/argoproj/argo-cd/server/server.go:1310 +0x24b
github.com/argoproj/argo-cd/v2/server/version.(*Server).AuthFuncOverride(0xc000e26e70?, {0x50a8638?, 0xc04f412870?}, {0x410965?, 0xc001758240?})
	/go/src/github.com/argoproj/argo-cd/server/version/version.go:79 +0x2f
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.UnaryServerInterceptor.func15({0x50a8638, 0xc04f412870}, {0x3892f40, 0xc04f412630}, 0xc054e24260, 0xc04221be00)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/auth/auth.go:40 +0x77
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc04f412870?}, {0x3892f40?, 0xc04f412630?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func3({0x50a8638, 0xc04f412870}, {0x3892f40, 0xc04f412630}, 0x0?, 0xc04221be40)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0x7d
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc04f412870?}, {0x3892f40?, 0xc04f412630?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus.UnaryServerInterceptor.func1({0x50a8638, 0xc04f412780}, {0x3892f40, 0xc04f412630}, 0xc054e24260, 0xc04221be80)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/logging/logrus/server_interceptors.go:31 +0xf6
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc04f412780?}, {0x3892f40?, 0xc04f412630?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x50a8638, 0xc04f4125a0}, {0x3892f40, 0xc04f412630}, 0xc054e24260, 0xc04221bec0)
	/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.42.0/interceptor.go:344 +0x52b
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x50a8638?, 0xc04f4125a0?}, {0x3892f40?, 0xc04f412630?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.bug21955WorkaroundInterceptor({0x50a8638, 0xc04f4125a0}, {0x3892f40?, 0xc04f412630?}, 0xc04e345230?, 0xc04221bf00)
	/go/src/github.com/argoproj/argo-cd/server/server.go:1496 +0x503
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21({0x50a8638, 0xc04f4125a0}, {0x3892f40, 0xc04f412630}, 0xc054e24260, 0x3658640?)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:53 +0x135
github.com/argoproj/argo-cd/v2/pkg/apiclient/version._VersionService_Version_Handler({0x36b20c0?, 0xc000b2cff0}, {0x50a8638, 0xc04f4125a0}, 0xc0348cb700, 0xc001466ab0)
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/version/version.pb.go:281 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc001440f00, {0x50a8638, 0xc00f36b0e0}, {0x50b8f60, 0xc01f5ce820}, 0xc015c44000, 0xc001466c00, 0x71a5240, 0x0)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1343 +0xe03
google.golang.org/grpc.(*Server).handleStream(0xc001440f00, {0x50b8f60, 0xc01f5ce820}, 0xc015c44000)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1737 +0xc4c
google.golang.org/grpc.(*Server).serveStreams.func1.1()
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:986 +0x86
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 872356
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:997 +0x145

argocd-server.log

@rumstead rumstead added the bug Something isn't working label Sep 12, 2024
@rumstead
Copy link
Member Author

This may be fixed in later versions of k8s.io/apimachinery.

@reggie-k reggie-k added component:server component:settings RBAC issues/enhancements labels Sep 15, 2024
@andrii-korotkov-verkada
Copy link
Contributor

Try upgrading to 2.13 or 2.12 and see if it fixes the issue.

@rumstead
Copy link
Member Author

I am on 2.12 now but 2.10 is still a supported version.

@andrii-korotkov-verkada
Copy link
Contributor

2.10.18 uses k8s.io/apimachinery v0.26.11 https://github.com/argoproj/argo-cd/blob/v2.10.18/go.mod#L312.
It was upgraded in later versions, but different versions of ArgoCD have different versions of apimachinery. We can cherry-pick to earlier versions. @crenshaw-dev, can k8s.io/apimachinery be bumped on its own, or other libs need to be bumped as well?

@andrii-korotkov-verkada
Copy link
Contributor

I've checked and 2.10 is not supported anymore per https://github.com/argoproj/argo-cd/security/policy#supported-versions.

@andrii-korotkov-verkada
Copy link
Contributor

Though latest 2.11 has the same library version https://github.com/argoproj/argo-cd/blob/v2.11.12/go.mod#L314.

@andrii-korotkov-verkada
Copy link
Contributor

Does 2.12 have the same issue?

@andrii-korotkov-verkada andrii-korotkov-verkada added the more-information-needed Further information is requested label Nov 11, 2024
@rumstead
Copy link
Member Author

I will check through our logs today to see if it happened.

I've checked and 2.10 is not supported anymore per https://github.com/argoproj/argo-cd/security/policy#supported-versions.

“We currently support the last 3 minor versions of Argo CD with security and bug fixes.”

Isn’t 2.13 the latest version which would mean 2.10 is within 3 minor versions?

@andrii-korotkov-verkada
Copy link
Contributor

It's 2.11, 2.12 and 2.13

@rumstead
Copy link
Member Author

rumstead commented Nov 12, 2024

Still happening in

{
    "Version": "v2.12.4+27d1e64",
    "BuildDate": "2024-09-26T06:36:13Z",
    "GitCommit": "27d1e641b6ea99d9f4bf788c032aeaeefd782910",
    "GitTreeState": "clean",
    "GoVersion": "go1.22.4",
    "Compiler": "gc",
    "Platform": "linux/amd64",
    "KustomizeVersion": "v5.4.2 2024-05-22T15:20:33Z",
    "HelmVersion": "v3.15.2+g1a500d5",
    "KubectlVersion": "v0.29.6",
    "JsonnetVersion": "v0.20.0"
}
log
fatal error: concurrent map read and map write

goroutine 2882237 [running]:
k8s.io/apimachinery/pkg/labels.Set.Has(0xf4?, {0xc007cd7260?, 0x20?})
	/go/pkg/mod/k8s.io/apimachinery@v0.29.6/pkg/labels/labels.go:53 +0x28
k8s.io/apimachinery/pkg/labels.(*Requirement).Matches(0xc029dd4680, {0x5565570, 0xc02c411530})
	/go/pkg/mod/k8s.io/apimachinery@v0.29.6/pkg/labels/selector.go:226 +0xcf
k8s.io/apimachinery/pkg/labels.internalSelector.Matches(...)
	/go/pkg/mod/k8s.io/apimachinery@v0.29.6/pkg/labels/selector.go:387
k8s.io/client-go/tools/cache.ListAllByNamespace({0x55ade00, 0xc0167a73f8}, {0xc000e1dc80, 0xa}, {0x559bc10, 0xc013582978}, 0xc011b28c80)
	/go/pkg/mod/k8s.io/client-go@v0.29.6/tools/cache/listers.go:89 +0x3c2
k8s.io/client-go/listers/core/v1.secretNamespaceLister.List({{0x55ade00?, 0xc0167a73f8?}, {0xc000e1dc80?, 0xc0167a73f8?}}, {0x559bc10?, 0xc013582978?})
	/go/pkg/mod/k8s.io/client-go@v0.29.6/listers/core/v1/secret.go:83 +0x69
github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).GetSettings(0xc000e3fbc0)
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1310 +0x1fc
github.com/argoproj/argo-cd/v2/util/session.(*SessionManager).signClaims(0xc0004750a0, {0x5555360, 0xc029db50e0})
	/go/src/github.com/argoproj/argo-cd/util/session/sessionmanager.go:179 +0x165
github.com/argoproj/argo-cd/v2/util/session.(*SessionManager).Create(0xc0004750a0, {0xc0269232c0, 0xf}, 0x15180, {0xc02eeeed20, 0x24})
	/go/src/github.com/argoproj/argo-cd/util/session/sessionmanager.go:174 +0x2bd
github.com/argoproj/argo-cd/v2/server/session.(*Server).Create(0xc0014a8de0, {0x0?, 0x0?}, 0xc02ea98af0)
	/go/src/github.com/argoproj/argo-cd/server/session/session.go:66 +0x44f
github.com/argoproj/argo-cd/v2/pkg/apiclient/session._SessionService_Create_Handler.func1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/session/session.pb.go:452 +0xcb
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PanicLoggerUnaryServerInterceptor.func19({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?}, 0x0?, 0x0?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/grpc.go:33 +0x8c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeGitUnaryServerInterceptor.func18({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?}, 0x417098?, 0x2?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:108 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeK8sUnaryServerInterceptor.func17({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?}, 0x3f9e8c1?, 0x1e?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:124 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PayloadUnaryServerInterceptor.func16({0x558da48, 0xc008d9a6c0}, {0x3d61440, 0xc02ea98af0}, 0xc000b959e0, 0xc032ca0d00)
	/go/src/github.com/argoproj/argo-cd/util/grpc/logging.go:87 +0x18b
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/util/grpc.UserAgentUnaryServerInterceptor.func1({0x558da48, 0xc008d9a6c0}, {0x3d61440, 0xc02ea98af0}, 0x558da48?, 0xc032ca0e00)
	/go/src/github.com/argoproj/argo-cd/util/grpc/useragent.go:25 +0x7c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a6c0?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.UnaryServerInterceptor.func15({0x558da48?, 0xc008d9a660?}, {0x3d61440, 0xc02ea98af0}, 0x3f9e8d9?, 0xc032ca0e80)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/auth/auth.go:47 +0x91
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a660?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func2({0x558da48, 0xc008d9a660}, {0x3d61440, 0xc02ea98af0}, 0x0?, 0xc032ca10c0)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0x7d
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a660?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus.UnaryServerInterceptor.func1({0x558da48, 0xc008d9a210}, {0x3d61440, 0xc02ea98af0}, 0xc000b959e0, 0xc032ca1180)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/logging/logrus/server_interceptors.go:31 +0xfe
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc008d9a210?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x558da48, 0xc01c9c5f20}, {0x3d61440, 0xc02ea98af0}, 0xc000b959e0, 0xc032ca1380)
	/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.46.1/interceptor.go:326 +0x5a4
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc01c9c5f20?}, {0x3d61440?, 0xc02ea98af0?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.bug21955WorkaroundInterceptor({0x558da48, 0xc01c9c5f20}, {0x3d61440, 0xc02ea98af0?}, 0x0?, 0xc032ca1440)
	/go/src/github.com/argoproj/argo-cd/server/server.go:1513 +0x503
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21({0x558da48, 0xc01c9c5f20}, {0x3d61440, 0xc02ea98af0}, 0xc000b959e0, 0x78?)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:53 +0x123
github.com/argoproj/argo-cd/v2/pkg/apiclient/session._SessionService_Create_Handler({0x39e7340, 0xc0014a8de0}, {0x558da48, 0xc01c9c5f20}, 0xc0148c1000, 0xc0014a90b0)
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/session/session.pb.go:454 +0x143
google.golang.org/grpc.(*Server).processUnaryRPC(0xc001499680, {0x558da48, 0xc018255ce0}, {0x55a0b40, 0xc005b84340}, 0xc008346b40, 0xc0014a95f0, 0x77df9b8, 0x0)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1343 +0xdd1
google.golang.org/grpc.(*Server).handleStream(0xc001499680, {0x55a0b40, 0xc005b84340}, 0xc008346b40)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1737 +0xc47
google.golang.org/grpc.(*Server).serveStreams.func1.1()
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:986 +0x86
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 2882236
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:997 +0x136


goroutine 2883858 [runnable]:
github.com/argoproj/argo-cd/v2/util/settings.updateSettingsFromConfigMap(0xc02e1befc0, 0xc01a891c20)
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1503 +0x1365
github.com/argoproj/argo-cd/v2/util/settings.(*SettingsManager).GetSettings(0xc000e3fbc0)
	/go/src/github.com/argoproj/argo-cd/util/settings/settings.go:1316 +0x23a
github.com/argoproj/argo-cd/v2/util/session.(*SessionManager).signClaims(0xc0004750a0, {0x5555360, 0xc005388a80})
	/go/src/github.com/argoproj/argo-cd/util/session/sessionmanager.go:179 +0x165
github.com/argoproj/argo-cd/v2/util/session.(*SessionManager).Create(0xc0004750a0, {0xc025ecdb40, 0xf}, 0x15180, {0xc027efae70, 0x24})
	/go/src/github.com/argoproj/argo-cd/util/session/sessionmanager.go:174 +0x2bd
github.com/argoproj/argo-cd/v2/server/session.(*Server).Create(0xc0014a8de0, {0x0?, 0x0?}, 0xc02509c230)
	/go/src/github.com/argoproj/argo-cd/server/session/session.go:66 +0x44f
github.com/argoproj/argo-cd/v2/pkg/apiclient/session._SessionService_Create_Handler.func1({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?})
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/session/session.pb.go:452 +0xcb
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PanicLoggerUnaryServerInterceptor.func19({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?}, 0x0?, 0x0?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/grpc.go:33 +0x8c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeGitUnaryServerInterceptor.func18({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?}, 0x417098?, 0x2?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:108 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeK8sUnaryServerInterceptor.func17({0x558da48?, 0xc03c594db0?}, {0x3d61440?, 0xc02509c230?}, 0x3f9e8c1?, 0x1e?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:124 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc0


goroutine 269589 [runnable]:
net/textproto.CanonicalMIMEHeaderKey({0x3f3d5d5?, 0x6?})
	/usr/local/go/src/net/textproto/reader.go:650 +0xf3
net/textproto.MIMEHeader.Del(...)
	/usr/local/go/src/net/textproto/header.go:55
net/http.Header.Del(...)
	/usr/local/go/src/net/http/header.go:81
k8s.io/client-go/rest.(*Request).SetHeader(0xc0196c8a20, {0x3f3d5d5, 0x6}, {0xc0012e0ab0, 0x1, 0xc0012e0b00?})
	/go/pkg/mod/k8s.io/client-go@v0.29.6/rest/request.go:403 +0xad
k8s.io/client-go/rest.NewRequest(0xc0009a0be0)
	/go/pkg/mod/k8s.io/client-go@v0.29.6/rest/request.go:167 +0x29b
k8s.io/client-go/rest.(*RESTClient).Verb(...)
	/go/pkg/mod/k8s.io/client-go@v0.29.6/rest/client.go:171
k8s.io/client-go/rest.(*RESTClient).Put(0x0?)
	/go/pkg/mod/k8s.io/client-go@v0.29.6/rest/client.go:181 +0x13
k8s.io/client-go/kubernetes/typed/core/v1.(*secrets).Update(0xc0243b6920, {0x558da48, 0xc034867b00}, 0xc00dc55e00, {{{0x0, 0x0}, {0x0, 0x0}}, {0x0, 0x0, ...}, ...})
	/go/pkg/mod/k8s.io/client-go@v0.29.6/kubernetes/typed/core/v1/secret.go:131 +0xdf
github.com/argoproj/argo-cd/v2/util/db.(*db).UpdateCluster(0xc00116d890, {0x558da48, 0xc034867b00}, 0xc027643860)
	/go/src/github.com/argoproj/argo-cd/util/db/cluster.go:293 +0x158
github.com/argoproj/argo-cd/v2/server/cluster.(*Server).Update(0xc001db5920, {0x558da48, 0xc034867b00}, 0xc0012e0fb8)
	/go/src/github.com/argoproj/argo-cd/server/cluster/cluster.go:323 +0x414
github.com/argoproj/argo-cd/v2/server/cluster.(*Server).Create(0xc001db5920, {0x558da48, 0xc034867b00}, 0xc034866d20)
	/go/src/github.com/argoproj/argo-cd/server/cluster/cluster.go:166 +0x4cb
github.com/argoproj/argo-cd/v2/pkg/apiclient/cluster._ClusterService_Create_Handler.func1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/cluster/cluster.pb.go:544 +0xcb
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PanicLoggerUnaryServerInterceptor.func19({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?}, 0x0?, 0x0?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/grpc.go:33 +0x8c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeGitUnaryServerInterceptor.func18({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?}, 0x417098?, 0x2?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:108 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ErrorCodeK8sUnaryServerInterceptor.func17({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?}, 0x3f9e885?, 0x1e?)
	/go/src/github.com/argoproj/argo-cd/util/grpc/errors.go:124 +0x2a
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.PayloadUnaryServerInterceptor.func16({0x558da48, 0xc034867b00}, {0x3d40760, 0xc034866d20}, 0xc0349c2320, 0xc025e10c00)
	/go/src/github.com/argoproj/argo-cd/util/grpc/logging.go:87 +0x18b
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/util/grpc.UserAgentUnaryServerInterceptor.func1({0x558da48, 0xc034867b00}, {0x3d40760, 0xc034866d20}, 0x558da48?, 0xc025e10c80)
	/go/src/github.com/argoproj/argo-cd/util/grpc/useragent.go:25 +0x7c
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867b00?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.UnaryServerInterceptor.func15({0x558da48?, 0xc034867020?}, {0x3d40760, 0xc034866d20}, 0xc0349c2320?, 0xc025e10d80)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/auth/auth.go:47 +0x91
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867020?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-prometheus.init.(*ServerMetrics).UnaryServerInterceptor.func2({0x558da48, 0xc034867020}, {0x3d40760, 0xc034866d20}, 0x0?, 0xc025e10dc0)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0x7d
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034867020?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus.UnaryServerInterceptor.func1({0x558da48, 0xc034866f30}, {0x3d40760, 0xc034866d20}, 0xc0349c2320, 0xc025e10e00)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/logging/logrus/server_interceptors.go:31 +0xfe
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034866f30?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x558da48, 0xc034866cf0}, {0x3d40760, 0xc034866d20}, 0xc0349c2320, 0xc025e10e40)
	/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.46.1/interceptor.go:326 +0x5a4
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21.1({0x558da48?, 0xc034866cf0?}, {0x3d40760?, 0xc034866d20?})
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:48 +0x45
github.com/argoproj/argo-cd/v2/server.bug21955WorkaroundInterceptor({0x558da48, 0xc034866cf0}, {0x3d40760, 0xc034866d20?}, 0x0?, 0xc025e10ec0)
	/go/src/github.com/argoproj/argo-cd/server/server.go:1513 +0x503
github.com/argoproj/argo-cd/v2/server.(*ArgoCDServer).newGRPCServer.ChainUnaryServer.func21({0x558da48, 0xc034866cf0}, {0x3d40760, 0xc034866d20}, 0xc0349c2320, 0x78?)
	/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.4.0/chain.go:53 +0x123
github.com/argoproj/argo-cd/v2/pkg/apiclient/cluster._ClusterService_Create_Handler({0x3ca0660, 0xc001db5920}, {0x558da48, 0xc034866cf0}, 0xc000928a80, 0xc001db5c50)
	/go/src/github.com/argoproj/argo-cd/pkg/apiclient/cluster/cluster.pb.go:546 +0x143
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0010c8b40, {0x558da48, 0xc034866ae0}, {0x55a0b40, 0xc0022341a0}, 0xc033317440, 0xc001db5e30, 0x7874978, 0x0)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1343 +0xdd1
google.golang.org/grpc.(*Server).handleStream(0xc0010c8b40, {0x55a0b40, 0xc0022341a0}, 0xc033317440)
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:1737 +0xc47
google.golang.org/grpc.(*Server).serveStreams.func1.1()
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:986 +0x86
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 269588
	/go/pkg/mod/google.golang.org/grpc@v1.59.0/server.go:997 +0x136

@andrii-korotkov-verkada andrii-korotkov-verkada added version:2.12 Latest confirmed affected version is 2.12 and removed more-information-needed Further information is requested labels Nov 12, 2024
@rumstead
Copy link
Member Author

rumstead commented Nov 12, 2024

What I think is happening is the informers to get or list secrets / config maps return a read only pointer and either we or the informer are editing the underlying struct.

i will try to create a unit test reproducing and then submit a PR.

@rumstead
Copy link
Member Author

@blakepettersson
Copy link
Member

This seems to be also be the case with the argo-cd configmap, or am I missing something?

@rumstead
Copy link
Member Author

rumstead commented Nov 16, 2024

This seems to be also be the case with the argo-cd configmap, or am I missing something?

All the thread dumps have the running thread accessing secrets.

#19913 (comment)

ishitasequeira pushed a commit that referenced this issue Nov 21, 2024
…rmers #19913 (#20805)

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
revitalbarletz pushed a commit to revitalbarletz/argo-cd that referenced this issue Nov 21, 2024
…rmers argoproj#19913 (argoproj#20805)

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
adriananeci pushed a commit to adriananeci/argo-cd that referenced this issue Dec 4, 2024
…rmers argoproj#19913 (argoproj#20805)

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Signed-off-by: Adrian Aneci <aneci@adobe.com>
agaudreault pushed a commit to agaudreault/argo-cd that referenced this issue Dec 17, 2024
…rmers argoproj#19913 (argoproj#20805)

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working component:server component:settings RBAC issues/enhancements version:2.12 Latest confirmed affected version is 2.12
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants