In case you run the server with mono --debug OpenSim.exe
line numbers are reported as <filename>:<linenumber>, so no
"at line" is found. That led to an exception, which is caught
since r5766. The attached patch fixes this for mono;
* From the logs, I'm guessing probable cause is that an exception generated by a bad index given to substring error line number conversion stopped the script being killed, leading to continuous events that filled up the log (maybe)
* Someone will need to go back and fix this properly
the function that reports errors in event handling is not computing the
line numbers correctly for windows paths (and probably linux paths).
As a result, the conversion to int throws an exception.
note... i'm not sure why we extract the line number, convert it to an int,
then convert it back to a string... but hey... :-)
* Moved script errors to the debug channel.
* Typing '/2147483647 OK' results in a debug_channel message.
* Expanded the available parameters that are send-able through IClientAPI
Added comments and regions, restructured code
Changed a lot of AppDomain junk from console from using Console.Write to Log.Verbose and set it to #if DEBUG
All modules should now refresh their configuration runtime
Made all logging in ScriptEngine.Common get script name from actual engine
Renamed LSLLongCmdHandler to AsyncLSLCommandManager
Added auto-recover with 5 sec throttle for new MaintenanceThread
Bugfix: Scripts exceeding max and set to be killed were not killed, only removed.
Added ability to re-read configuration while OpenSim is running
All regions now sharing one MaintenanceThread
New MaintenanceThread:
- checks for script execution timeout
- re-reads config
- starts/stops threads if thread active count becomes too high/low compared to config
Speed increase on event execution:
- Reuse of try{}catch{} blocks
- Time calculation on event execution