| Commit message (Collapse) | Author | Files | Lines |
|
|
|
Signed-off-by: Melanie <melanie@t-data.com>
|
|
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
|
|
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
|
|
|Date: Wed, 5 Aug 2009 09:51:52 -0700
|Subject: [PATCH] Closed two major memory leaks for scripted objects
|
|Two major memory leaks for the scripted objects were fixed
|- One leak had to do with remoting acrossing app domains. When a script and
| its controlling agent communicate across an application boundary, it calls
| functions on a stub proxy object that then invokes the remote method on
| the object in the other app domain. These stub objects (two for each script)
| were setup to have infinate lifetimes and were never being garbage collected.
|- The second leak was the result of adding a scene object part instance method
| to a scene event and never removing it. This cause the event's delegate list
| to maintain a link to that object which is then never freed as the scene event
| object is never destroyed.
Patch applied, please direct feedback to me. Possible issue: Longtime idle
scripts like vendors may fail.
|
|
|
|
LICENSE.txt.
|
|
Fixes:
[1] Sharing exception on remote OAR management
[2] Occasional 505 error talking to Tomcat
[3] Occasional mono aborts caused by mlog in the
script engine's app domain (mono 2.4)
|
|
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
|
|
|
|
|
|
Prevent EventAbortException inner exceptions of
TargetInvocationException being re-thrown from
OpenSim.Region.ScriptEngine.Shared.ScriptBase.
Executor.ExecuteEvent
|
|
|
|
Addresses llDie issues. The attached patch catches run time
exceptions that occur during method invocation (of type
TargetInvocationException) and exposes the internal exception.
This makes it possible to pass out the SelfDeleteException.
Also added handlers in a couple places to make sure that
exception was being passed out far enough to be handled
correctly. Tested on DNE.
|
|
cleanup: warnings, readability
|
|
an implicit reference into a proxied one and further reduces memory
consumption of XEngine
|
|
the ObjectFlags. Good catch, gsky, thank you!
|
|
api and compiler out of XEngine"
"First stage in a major Script Engine refactor, that will result in the LSL implementaions ebing reconverged. Not there yet, but one major part is done."
Thank you, Melanie!
|
|
however, it's confirmed to compile and OpenSimulator to run successfully without this script engine active.
|
|
|
|
script to publish the events anymore.
* Introduces a language(regex) independent event recognizer and publishes the events the script listens.
|
|
(this took a while to run).
|
|
|
|
Here's a diff of the changes I have made in support of the following LSL
script functions.
llSetScriptState
llGetScriptState
llCSV2List
llListRandomize
llList2ListStrided
llListFindList
llResetOtherScript
llGetScriptName
It was necessary to modify ExecutorBase in support of the ScriptState
implementations.
I also modified SceneObjectPart and SceneObjectPart.Inventory to
corrects a quoting mismatch in the commentary that through off live
parsing of the files.
I also simplified the State definition at the start of BuiltinCommands.
|
|
|
|
|
|
|
|
|
|
Added some info to failure on GridServices listening port so people can see what actually went wrong.
Moved most of the function/event execution module to a baseclass so other execution methods (instead of reflection) can be used with custom script modules run by ScriptEngine.Common.
+ some accumulated patches
|
|
* Shortened type references
* Removed redundant 'this' qualifier
|
|
messages. Thanks Chillken!
|
|
|
|
will happen on the windows side now that eol-style is correct
|
|
require script to be compiled with (slow) debug information.
|
|
LSL-script.
|
|
dedicated thread for processing. Added support for llSetTimerEvent(). Deleting old compiled scripts before new compile is attempted (avoids loading wrong script on compile error).
|
|
InitializeLifetimeService). Loading/Unloading of scripts are now handled in separate thread so server is no delayed because of this. Each script is loaded into a single AppDomain (temporary test for script unload, eats ~15KB more memory for each script). Unload of scripts has been verified to free up memory.
|
|
in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload).
|
|
times". Will speed up script event execution considerable. But at the cost of some memory (will be optimized later with RuntimeXHandle).
|
|
OpenSim.Region.ScriptEngine.Executor. Script no longer responsible for handling event calls to itself (and we can create reference cache in Executor).
|
|
(no security yet).
*phew* that only took me 12 hours of coding...
|