Reverence crashes on attempt to access values of mapSolarSystemContentCache table
DarkFenX opened this issue · 1 comments
DarkFenX commented
This 'table' is FSD_MultiIndex which is fairly new to me; i tried to access it multiple ways:
- .itervalues()
- .iteritems()
- various getters (Get, GetIfExists, get, [key])
All of them work, but once i get my hands on FSD_Object (e.g. the one keyed with 30000001 in this table), reverence crashes with following traceback:
Traceback (most recent call last):
File "run_json.py", line 70, in <module>
table_data = miner.get_table(table_name)
File "/home/dfx/src/eve/phobos/miner/bulkdata.py", line 49, in get_table
lines = EveNormalizer().run(bulk_table)
File "/home/dfx/src/eve/phobos/miner/eve_normalize.py", line 36, in run
data = self._route_object(eve_container)
File "/home/dfx/src/eve/phobos/miner/eve_normalize.py", line 49, in _route_object
return method(self, obj)
File "/home/dfx/src/eve/phobos/miner/eve_normalize.py", line 147, in _tmp
container[key] = self._route_object(value)
File "/home/dfx/src/eve/phobos/miner/eve_normalize.py", line 49, in _route_object
return method(self, obj)
File "/home/dfx/src/eve/phobos/miner/eve_normalize.py", line 122, in _pythonize_fsdobj
value = getattr(obj, key, None)
File "/usr/local/lib/python2.7/dist-packages/reverence/fsd.py", line 745, in __getattr__
return schema['loader'](self.__data__, self.__offset__ + off, schema)
File "/usr/local/lib/python2.7/dist-packages/reverence/fsd.py", line 402, in __init__
footerOffset = endOfFooter - _uint32(data, endOfFooter)
ValueError: _uint32_from requires a buffer of at least 4 bytes
Attempt to print object doesn't work either, although with different traceback.
ntt commented
yeah multi index is a bit.. yeaaaahh.. it'll probably take a while to fix this as they're complicated things.