-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
Invalid Comparison level when refreshing applications #21839
Comments
Is this reproducible or happens randomly? If it's reproducible can you provide steps to reproduce it. |
I can’t reproduce it but it happens a few times a day in our instance. I haven’t been able to attribute it to any issue but feels like a race condition |
I tried to search the codebase where we use CompareWith in most places we just set a static value and the part where we store it also is wrapped around a mutex lock. I do suspect 2 places where something wrong might be happening :
1 accesses But just going through the logic and the calls I couldn't see where this invalid value might be stored. |
I underestimated how frequently we see this. I see it thousands of times per day with 14k applications where level > 3. |
I take back my race condition comment, my guess is that is printing the memory address of a |
But the print statement doesn't get a pointer
|
Is it possible for you to query the logs to see what values you see for the level specifically if you can see values 0,1,2 and 3 or if there's a value that doesn't show up at all among these 4. The invalid level val might be related to specific case so narrowing it down to a specific value or set of values would make it easy to reproduce. |
I wonder if these are decimal representations of a hex memory address. Decimal: 824655384872, Hexadecimal: 0xc0014a9128 |
I also think it is somehow getting a pointer stored as the invalid no.s all correspond to memory addresses. Just need to find out where it's being stored. |
Oh wait I was looking at master code, in branch release-2.12 there is indeed a bug which is fixed in master : master : argo-cd/controller/appcontroller.go Line 965 in 7b1ed52
release-2.12 : argo-cd/controller/appcontroller.go Line 863 in 6c2db33
This was already fixed a month ago f548fd7 🤦♂. Will cherry pick into the releases |
Cherrypicked into release branches should be fixed in the next releases. Closing this issue as resolved @rumstead |
Checklist:
argocd version
.Describe the bug
It looks like there is a race condition or some flow that can trigger an invalid comparison level when refreshing applications.
To Reproduce
Expected behavior
Screenshots
Version
Logs
The text was updated successfully, but these errors were encountered: