DeamonHunter / AWBW-Replay-Player

Advance Wars By Web Replay Player
MIT License
38 stars 5 forks source link

System.ArgumentOutOfRangeException at AWBWApp.Game.API.Replay.AWBWJsonReplayParser.readString #107

Closed DeamonHunter closed 2 years ago

DeamonHunter commented 2 years ago
System.AggregateException: Failed to parse replay with path: C:\Users\docto\OneDrive\Desktop\All League Replays\1vs1 Chosin Reservoir\594794.zip (Specified argument was out of the range of valid values.)
 ---> System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
   at AWBWApp.Game.API.Replay.AWBWJsonReplayParser.readString(ReadOnlySpan1 text, Int32& index)
   at AWBWApp.Game.API.Replay.AWBWJsonReplayParser.readReplayActionTurn(ReplayData replayData, ReadOnlySpan1 text, Int32& textIndex)
   at AWBWApp.Game.API.Replay.AWBWJsonReplayParser.readReplayActions(ReplayData replayData, ReadOnlySpan`1 text)
   at AWBWApp.Game.API.Replay.AWBWJsonReplayParser.ParseReplayZip(ZipArchive zipArchive)
   at AWBWApp.Game.IO.ReplayManager.ParseAndStoreReplay(String path)
   --- End of inner exception stack trace ---
   at AWBWApp.Game.IO.ReplayManager.ParseAndStoreReplay(String path)
   at AWBWApp.Game.AWBWAppGameBase.ImportFiles(ProgressNotification updateNotification, String[] paths)

594794.zip

DeamonHunter commented 2 years ago

This is a replay corruption issue. Just a very unique one as decompressing the text doesn't detect it.

Technically under #99.