In hopes of getting this fixed, I have created a proof-of-concept serializer that solves this issue by serializing objects in two passes, much like current solution, but makes sure the dependencies are never deeper than they must be: https://gist.github.com/mentlerd/114340 ... 5de6594de6
How to reproduce:
Code: Select all
commands.add_command("ruin_my_save", "none", function(ctx)
local tbl = {}
for i = 1, 256 do
tbl = {tbl}
end
global.HUGE = tbl
end)
Code: Select all
Error while running deserialisation for mod: too many C levels (limit is 200)