Previous versions were parsed just fine, but it seems this new v101.101.61591.0 makes things explode:
v101.101.41855.0 ok
v101.101.47820.0 ok
v101.101.59165.0 ok
v101.101.61591.0 crashes
Traceback (most recent call last):
File "C:\Python39\lib\site-packages\construct\core.py", line 2844, in _decode
return self.decoding[obj]
KeyError: 8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python39\lib\site-packages\construct\core.py", line 2784, in _parse
return self.subcon._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 311, in _parse
return self._decode(self.subcon._parse(stream, context, path), context)
File "C:\Python39\lib\site-packages\construct\core.py", line 2849, in _decode
raise MappingError("no decoding mapping for %r" % (obj,))
construct.core.MappingError: no decoding mapping for 8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\git\aoe-analysis\analyser.py", line 896, in <module>
rp.parse(args.file, accept_cache = True)
File "D:\git\aoe-analysis\analyser.py", line 281, in parse
self.get_player_names_from_recording()
File "D:\git\aoe-analysis\analyser.py", line 798, in get_player_names_from_recording
for player in header.parse_stream(h).de.players:
File "C:\Python39\lib\site-packages\construct\core.py", line 171, in parse_stream
return self._parse(stream, context2, "(parsing)")
File "C:\Python39\lib\site-packages\construct\core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 295, in _parse
return self.subcon._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 295, in _parse
return self.subcon._parse(stream, context, path)
File "C:\Python39\lib\site-packages\mgz\util.py", line 58, in _parse
return self.subcon._parse(new_stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 357, in _parse
return self.subcon.parse(data, context)
File "C:\Python39\lib\site-packages\construct\core.py", line 158, in parse
return self.parse_stream(BytesIO(data), context, **kw)
File "C:\Python39\lib\site-packages\construct\core.py", line 171, in parse_stream
return self._parse(stream, context2, "(parsing)")
File "C:\Python39\lib\site-packages\construct\core.py", line 867, in _parse
subobj = sc._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 2784, in _parse
return self.subcon._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 1594, in _parse
obj = self.cases.get(key, self.default)._parse(stream, context, path)
File "C:\Python39\lib\site-packages\construct\core.py", line 2788, in _parse
raise e.__class__("%s\n %s" % (e, path))
construct.core.MappingError: no decoding mapping for 8
(parsing) -> de -> de
> c:\python39\lib\site-packages\construct\core.py(2788)_parse()
-> raise e.__class__("%s\n %s" % (e, path))
Previous versions were parsed just fine, but it seems this new
v101.101.61591.0
makes things explode:Traceback (most recent call last):
During handling of the above exception, another exception occurred:
During handling of the above exception, another exception occurred:
some pdb debugging:
let's query the stream object to figure out where we are:
"NOPEN" is a redacted 5-letter username.
Interestingly enough it's not the 256 first bytes of the file, could it be possible that there are several streams contained in a .aoe2record file ?