I am calling Thread.start multiple times. Isn't that the whole point of threads?
You can start multiple threads. You cannot start the same thread multiple times.
So the following won't work:
var thread = Thread.new()
thread.start(self, "_config_save")
thread.start(self, "_config_save")
But something like this will:
thread1 = Thread.new()
thread1.start(self, "_config_save")
thread2 = Thread.new()
thread2.start(self, "_config_save")
However, if I run the former example I get a stack trace along with the error, pointing me precisely to the line of code producing the error. No idea why you wouldn't...
I supplied the main part of the code.
And again: It looks about right! The error is (very likely) somewhere else in your code. That's why I asked for an example project. Without a more complete example, I doubt anyone will be able to help you here.