Skip to content

Stat exceeds integer value #20

@BWagener

Description

@BWagener

I've seen an error in my logs which suggests that stats returned by the steam GetUserStatsForGame API can exceed integer values:

Caused by: com.fasterxml.jackson.core.exc.InputCoercionException: Numeric value (4294967260) out of range of int (-2147483648 - 2147483647)
 at [Source: (String)"{"playerstats":{"steamID":"76561198121152748","gameName":"Mordhau","stats":[{"name":"GameVersion","value":502402884},{"name":"FunRank","value":4294967260},{"name":"FunRankSamples","value":5004},{"name":"HeadsDecapitated","value":2988},{"name":"MeleeHeadHits","value":13891},{"name":"MeleeTorsoHits","value":70308},{"name":"MeleeLegHits","value":19546},{"name":"ProjectileHeadHits","value":473},{"name":"ProjectileTorsoHits","value":2620},{"name":"ProjectileLegHits","value":346},{"name":"FistKills",""[truncated 2071 chars]; line: 1, column: 154]
	at com.fasterxml.jackson.core.base.ParserMinimalBase._reportInputCoercion(ParserMinimalBase.java:637) ~[jackson-core-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.core.base.ParserMinimalBase.reportOverflowInt(ParserMinimalBase.java:606) ~[jackson-core-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.core.base.ParserBase.convertNumberToInt(ParserBase.java:979) ~[jackson-core-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.core.base.ParserBase._parseIntValue(ParserBase.java:887) ~[jackson-core-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.core.base.ParserBase.getIntValue(ParserBase.java:710) ~[jackson-core-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:526) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.std.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:506) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:359) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:28) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:314) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4730) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3677) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3645) ~[jackson-databind-2.14.2.jar:2.14.2]
	at com.lukaspradel.steamapi.webapi.client.SteamWebApiClient.processRequest(SteamWebApiClient.java:40) ~[steam-web-api-1.4.2.jar:?]

App ID: 629760
Steam User ID: 76561198121152748

I suggest the Stat class' value field to be changed to Long

Cheers

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions