You are not logged in.

Applications: [GameMaster: OPEN] | [Volunteer Testers: OPEN]


This forum will be permanently shut down on Friday 13.07.2018
Please copy or save all important information from old forum before they will be deactivated
We have moved to new board. https://forum.runesofmagic.gameforge.com/Come join us.

1

Tuesday, November 19th 2013, 3:43pm

LUA serialization error causes corrupt SaveVariables.lua

Title: LUA serialization error causes corrupt SaveVariables.lua ("crit crash")

Description:
Whatever function is being used to serialize saved LUA variables is able to generate output which it cannot parse. This causes SaveVariables.lua to fail to load, and the user to lose most UI, and all addon settings.

This specifically occurs when addons store infinity in a saved variable, but may occur with other special numbers as well. While I agree that addons should not be storing infinity... stuff happens, and losing all settings because of it is bad form.

More than once when I have a "crit crash", I have run my SaveVariables.lua file through a normal lua engine and it has reported issues parsing junk that looks like this:
{
[1] = 1.#INF,
[2] = 0.001,
}

Clearly an addon has messed up and stored infinity somewhere..


You should be able to reproduce this with the following:
/run CrashMePlease = { [1] = 1/0, [2] = 0.001 };
/run SaveVariables("CrashMePlease");

Then exit the game and log back in, and cry because all your addons are messed up. Kill the game with task manager (to avoid the other awesome behavior of just blatantly overwriting the file with basically empty/default contents, which I also consider a bug)

Then go edit SaveVariables.lua to find the #INF entry, change it to something like 1.0 or just delete it, log in, and celebrate.

This bug has been around for a very long time (chap 3), and has been reported several times in support tickets over the years.


Version: 6.0.3.2672

Server:

Screenshot(s):