Extremely large values for criteria amounts

Hey. I have what I think is a bug report; if this is not the right place for it, let me know. Occasionally, the amount field from the Achievement API for specific criteria returns clearly incorrect numbers. These numbers have the following properties:

  1. They are close to 2^64.
  2. They are identical for a given character, for all affected criteria.
  3. They are present for achievement where such a large number clearly makes no sense (not that there’s any for which that would be true, that I know).

I can provide specific examples upon request. Fact 2 above is leading me to think that this might be related to the character ID, or may otherwise include some private information, which is the only reason I’m hesitating to do this here.

(And they don’t appear to be overflows or results of confusing int64 and uint64 for the same reason 2 above; they then wouldn’t be identical for vastly different criteria).

Thanks!

Hi Volshebnik,

Thanks for reporting this issue. By chance, are the criteria you are seeing the large values for related to healing/damage done? If not, can you share examples of the data you are seeing? There shouldn’t be any privacy concern with achievement criteria data.

Thanks

Thanks for your reply, Maguthul.

The criteria are not related to damage/healing; instead, they are related to money collected. It appears that all of the criteria are from achievements in a chain, which explains why the amounts are equal; however, the numbers themselves are still too large to be feasible. But this does now seem like a possible overflow; interpreting these in that way yields more meaningful results (below a billion gold, at least :slight_smile: )

Here are some examples, with all players being from Kel’Thuzad:

Weeler Criteria(id=2255, amount=18446744072665747024, done=True)
Weeler Criteria(id=8441, amount=18446744072665747024, done=True)
Weeler Criteria(id=3818, amount=18446744072665747024, done=True)
Weeler Criteria(id=2521, amount=18446744072665747024, done=True)
Weeler Criteria(id=6473, amount=18446744072665747024, done=True)
Weeler Criteria(id=15072, amount=18446744072665747024, done=True)
Weeler Criteria(id=18735, amount=18446744072665747024, done=True)
Weeler Criteria(id=22344, amount=18446744072665747024, done=True)

Mtgeternal Criteria(id=2255, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=8441, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=3818, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=2521, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=6473, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=15072, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=18735, amount=18446744073011957448, done=True)
Mtgeternal Criteria(id=22344, amount=18446744073011957448, done=True)

Thanks for looking at this!