When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration. The attached patch locks SenseRepeatListLock in GetSerializationData() |
||
|---|---|---|
| .. | ||
| ApplicationPlugins | ||
| Client | ||
| ConsoleClient | ||
| Data | ||
| Framework | ||
| Grid | ||
| Region | ||
| ScriptEngine | ||
| Server | ||
| Services | ||
| TestSuite | ||
| Tests | ||
| Tools | ||