Closed blink1415 closed 4 years ago
Thanks for the report. This happens when there's no Game End event at the end of the event stream, which indicates a bug in Slippi.
Of your recent replays, what proportion of them have this issue? I'm seeing this roughly once out of every 100+ of my own replays. I brought it up on the Slippi discord; feel free to provide any additional context there.
The reason for the misleading error message is that py-slippi doesn't realize the event stream is done and tries to parse the next byte as an event code. That byte is normally the character U
(ASCII code 0x55), which comes at the start of the metadata
UBJSON element.
I made py-slippi more resilient to this in 44c6cc1b9a7c691e2370ab8f962f3cf470bf83f0. These replays now parse fine, but game.end
will of course be None.
Thanks for the feedback and explanation! I get this error in around 7% of my rollback games from June, July and so far in August. I just tried with the updated version of py-slippi and most of them work fine now. The ones that still don't work are cause by a separate issue. Thanks for the quick fix!
Some games give the following error upon running Game("filename.slp"):
I don't know if it's character dependent, but I've noticed it happen in games with ICs, Marth, Falco, Sheik, Fox, Yoshi and Bowser, so I would guess not. I can't find 0x55 listed as an event type in event.py, but I don't know what that value is supposed to represent in the first place.