-
Notifications
You must be signed in to change notification settings - Fork 5k
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 local diff fails with invalid memory address or nil pointer dereference
#12032
Comments
I think we are suffering from the same issue. Each time I use the server-side-generate option I get :
As a reference:
This is a bit scary if this becomes the default behavior in 2.6. |
I observe the same behavior in 2.7.0-rc1 my case: |
Dear maintainers, |
I am pretty sure I am seeing the same thing. It works if I log in via --core (direct kubernetes access) but fails w/ the same error It appears that it is creating an empty file on the argocd-repo-server during these failures as well. |
Same error than @fabricepipart1a here when mixing argocd app diff --server-side-generate while argocd login used --grpc-web! |
I think the reason is client-side streaming is not supported by GRPC-Web, only unary calls: improbable-eng/grpc-web#client-side-streaming argo-cd/server/application/application.proto Lines 337 to 343 in e233334
This would require a different approach for this use case, like sending the chunks via multiple unary calls and reassembling them server-side. |
@maxbrunet good find. Should we just have the CLI error out when both |
A clear error message would surely improve the user experience. github.com/improbable-eng/grpc-web also supports upgrading Websocket to gRPC streaming, maybe it could be the alternative for this case.
|
Hello there, I'm working on a project using argocd api (v2.9.9), in a very similar way than argocd cli. I'm facing the same issue when sending local files to argocd server to generate manifests. Using grpc-web enabled or disabled client does not make any difference, I consistently have the following error message at each attempt : |
Checklist:
argocd version
.Describe the bug
Argocd diff with
--local
doesn't work as expected when using--grpc-web
. It only works when port-forwarding and sending the request to the argocd-server directly (with --plaintext).I have argo cd installed in two environments (staging and prod) but see a different error when running the diff.
In staging the error is:
When port-forwarding to the argo cd server and using
--plaintext
it works fine:In production environment running with
--grpc-web
on the domain I see a different error:In the server logs it shows the panic error:
When using port-forward to the argocd-server with --plaintext it also works fine.
Both cluster are running the same argo cd version.
To Reproduce
Run
Expected behavior
See a diff, or at least a clear error message that shows what's wrong.
Screenshots
Version
argocd: v2.5.6 BuildDate: unknown GitCommit: v2.5.6 GitTreeState: clean GitTag: v2.5.6 GoVersion: go1.19.4 Compiler: gc Platform: linux/amd64 WARN[0000] Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web. argocd-server: v2.5.5+fc3eaec
The text was updated successfully, but these errors were encountered: