-
Notifications
You must be signed in to change notification settings - Fork 4
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
goQuery: 18.45 E is shown in drops column of list target on freshly converted DB #154
Comments
@els0r Assuming that you can't hand over that interface's data for me to analyze you should easily be able to find out if it's from the conversion by looking at the code in legacy
Afaik this is the only place where drops are transferred / written to the converted DB, so by logging / analyzing what's actually written it should be easy to discern if there's some overflow and / or issue with the math (or, simply, corrupted input). Let me know if I can be of any assistance... |
I'm going to bet a Lunch IPA on this being the culprit. Mainly because it confirms my belief about an overflow 😀 . Taken from
In a ring buffer, if you go back -1 from 0, you'll end up at the highest possible position of that buffer, aka 2^64 - 1 for a uint64 or Look closer. What we have in the Who knew -1 could be so big 😏 . The only thing I haven't been able to reproduce is the sequence of events. What I suspect is, that through the use of the If we don't want to go down this rabbit hole, we could simply default back to |
Not gonna bet against it (but I'll take the IPA anyway), had I known that the value could be negative I'd added more safety here. Thing is, yes, the compiler will guard against obvious stupidity such as trying
I'll add a fix in a PR (forcing -1 to 0). |
Rasied fako1024/slimcap#52 for corresponding changes in slimcap. @els0r Please approve linked PR asap so I can bump the version here. |
Done |
HA! Nice one. Of course the compiler complains if it is a constant because it knows the value on compile time 💡 . Well, at least we didn't blow up a rocket 🤷 . |
Or (temporarily) "lose" (i.e. kill) contact with a deep space probe after sending the wrong command(s): https://www.businessinsider.com/nasa-loses-contact-voyager-2-sent-wrong-command-mistake-space-2023-8 🤣 |
Just saw this with a large DB that was recently converted (spanning 180 days and 0.66 PB of captured traffic):
Notice the 18.45 E. I have a feeling like this is an overflow and actually means 0. If you round 2^64 = 1.844674407370955e19 and apply humanization, you get 18.45 E.
DoD:
If it is the former, it needs to be in the v4 milestone. If not, we can fix this minor bug later.
The text was updated successfully, but these errors were encountered: