Commit Graph

133 Commits

Author SHA1 Message Date
Jeff Ames
af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Justin Clark-Casey (justincc)
38cfc9366c Fix a problem where llDie() calls were sometimes leaving dead objects behind.
When an object was deleted, the remove script instance call was aggregating the scripting events as normal.
This would queue a full update of the prim before the viewer was notifed of the deletion of that prim (QuitPacket)
On some occasions, the QuitPacket would be sent before the full update was dequeued and sent.
In principle, you would think that a viewer would ignore updates for deleted prims.  But it appears that in the Linden viewer (1.23.5),
a prim update that arrives after the prim was deleted instead makes the deleted prim persist in the viewer.  Such prims have no properties
and cannot be removed from the viewer except by a relog.
This change stops the prim event aggregation call if it's being deleted anyway, hence removing the spurious viewer-confusing update.
2010-01-25 21:51:58 +00:00
Jeff Ames
70d5b1c34c Formatting cleanup. Add copyright headers. 2010-01-04 06:17:30 +09:00
Melanie
c11f259e15 Remove GetState. It is really unused and was reinstated by the revert 2009-12-22 15:46:55 +00:00
Melanie
a24d9bff03 Revert "Remove an insterface member that was never used"
It was used. By the API, which is dynamically loaded. So it didn't complain
until it hit Bamboo

This reverts commit 33d5018e94.
2009-12-22 15:45:56 +00:00
Melanie
33d5018e94 Remove an insterface member that was never used 2009-12-22 15:35:39 +00:00
Melanie
1876ce90af FINALLY! Script compile errors now appear in the script error pane,
not in a funky debug window.
2009-12-22 09:24:01 +00:00
root
05e8b4e72c Add a data path for error messages
Committed from my other box where git is not configured properly

Signed-off-by: Melanie <melanie@t-data.com>
2009-12-22 04:55:43 +00:00
Melanie
27453890d5 Script State Fix: Part 2
Change the reader to wrap old-style definitions in new style wrappers.
Change importer to not check irrelevant data that can't be reconstructed
This removes the last bit of knowledge of XEngine's .state files from core.
2009-12-21 10:26:52 +00:00
Melanie
83d8ba5775 Remove extra checking on the itemID of saved state, since it changes during
rez from inventory.
2009-12-21 06:41:10 +00:00
Melanie
f6ef487413 Script State Fix: Step 1
Add Engine=xxx attribute and check for it's presence. Ignore state data
written bby another engine
2009-12-21 06:29:23 +00:00
Justin Clark-Casey (justincc)
55a0896918 minor: remove mono compiler warning 2009-11-27 19:28:26 +00:00
Melanie
c6bfecccaa Fix a small bug. Trusted script crossings now work again 2009-11-26 17:16:22 +00:00
Melanie
9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
Melanie
88842edc95 Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 12:08:20 +00:00
Melanie
00130841db Remove parallel loading from XEngine, but retain the new design where
all scripts are loaded from the same thread, rather than launching a
new one for each script. This is only marginally slower, but avoids the
race condition that led to script engine failure.
2009-11-03 20:23:50 +00:00
John Hurliman
ec7fd8b1f8 More performance improvements to XEngine script loading 2009-10-29 06:42:40 -07:00
John Hurliman
dd13fa361b * Misc. formatting cleanup for the previous patch
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake
33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
Melanie
66923983a7 Add support for display of the script compilation errors in the script editor's
debug pane. This will still use DEBUG_CHANNEL currently, since it is not
fully implemented. This also removes the "Compiled successfully" message
that pops up in the viewer.
2009-10-17 22:36:44 +01:00
Justin Clark-Casey (justincc)
f1f239758f Apply http://opensimulator.org/mantis/view.php?id=4066
If XEngine compile fails, show script name in error message in-world as well as the exception itself
Thanks Luca Peck
2009-10-09 17:43:25 +01:00
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Melanie
090868ff4a Change the return value if the compiler to "object" to allow compilers
to return dynamic method objects
2009-08-31 11:42:54 +01:00
Melanie
73b0cf492d Add some extra info to script load messages 2009-08-14 01:35:14 +01:00
Melanie
eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Melanie
4ee8d8a813 Another stab at cmickeyb's patch for script GC.
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
2009-08-07 20:43:23 +01:00
Melanie
f8d8366bfa Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
2009-08-07 03:04:06 +01:00
Melanie
91f6898b26 |From: James J Greensky <jame.j.greensky@intel.com>
|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.
2009-08-06 22:03:20 +01:00
Melanie
17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
Melanie Thielker
8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Dr Scofield
98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Melanie Thielker
5139160ce4 Correct an error where the config file name was always considered to be a
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail
on regions that load their config from a web server
2009-06-06 16:39:28 +00:00
Melanie Thielker
9f932a4205 Thank you, thomax, for a patch to provide finer-grained access control to
scripting.
Fixes Mantis #2862
2009-06-05 09:47:42 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Justin Clarke Casey
9f6b8ec9b0 minor: Remove some mono compiler warnings. Uncomment code when it's actually being used. 2009-04-15 19:46:37 +00:00
Melanie Thielker
3c338e4e56 Convert both script engines to new region module format. Add proper unload
handling to XEngine. Add needed stubs to DotNetEngine.
2009-04-15 18:51:17 +00:00
Melanie Thielker
f6f3737fe8 Fix a regression where animations would only be sent if the avatar has
attachments. Convert base types to LSL types for event marshalling through
IScriptModule to avoid parameter errors.
2009-04-12 02:42:05 +00:00
Melanie Thielker
217b2d93ae Adding a script event, changed(CHANGED_ANIMATION)
This is sent to all root prims of all attachments of an avatar when the
animation state changes. llGetAnimation() can thenbe used to find the
new movement animation. This eliminates the need for fast timers in AOs
2009-04-11 16:51:27 +00:00
Melanie Thielker
a7de0ae9ec Make the scrpt engines ignore any script that begins with //MRM: 2009-04-10 21:44:27 +00:00
Melanie Thielker
8902923b12 Introduce IXmlRpcRouter, an interface that allows registering XMLRPC
UUIDs with a central marshaller for grids, or publish the ULS for objects
elsewhere.
2009-04-10 21:08:33 +00:00
Melanie Thielker
0377ddb5de Add events to IScriptEngine to notify scripting modules of the removal
of objects from the scene, and of scripts from objects. This facilitates
the development of modules that can register prims with externall servers
for inbound email and XMLRPC. Currently implemented in XEngine only.
Also applying cmickeyb's compiler locking patch, since it seems risk-free.
2009-04-10 19:07:41 +00:00
Melanie Thielker
706a2df516 Read the .map files in on sim startup. Also clean them up when an assembly
is deleted.
2009-03-26 15:06:20 +00:00
Melanie Thielker
8dfe8a0d1d Make the error messages passed to RegionReady more descriptive
Patch by antont, thank you.
Fixes Mantis #3338
2009-03-26 01:02:19 +00:00
Melanie Thielker
b83ad8a97b Thank you, dslake, for a patch that fixes XEngine linemap handling.
Fixes Mantis #3321
2009-03-22 11:57:00 +00:00
Charles Krinke
08c76989a7 Mantis#3187. Thank you kindly, DoranZemlja for a patch that:
Adds a warning for an LSL construct that exploits a
popular list memory saving hack.
2009-02-23 02:43:51 +00:00
Jeff Ames
818af9d482 Refactor log4net logger handling in script engine. (#3148) 2009-02-22 01:26:18 +00:00
Melanie Thielker
0086f9bd92 Fix the windows sharing violations on script crossings 2009-02-18 22:32:25 +00:00
Dr Scofield
180be7de07 this is step 2 of 2 of the OpenSim.Region.Environment refactor.
NOTHING has been deleted or moved off to forge at this point.  what
has happened is that OpenSim.Region.Environment.Modules has been split
in two:

- OpenSim.Region.CoreModules: all those modules that are either
  directly or indirectly referenced from  other  OpenSim packages, or
  that provide functionality that the OpenSim developer community
  considers core functionality:

      CoreModules/Agent/AssetTransaction
      CoreModules/Agent/Capabilities
      CoreModules/Agent/TextureDownload
      CoreModules/Agent/TextureSender
      CoreModules/Agent/TextureSender/Tests
      CoreModules/Agent/Xfer
      CoreModules/Avatar/AvatarFactory
      CoreModules/Avatar/Chat/ChatModule
      CoreModules/Avatar/Combat
      CoreModules/Avatar/Currency/SampleMoney
      CoreModules/Avatar/Dialog
      CoreModules/Avatar/Friends
      CoreModules/Avatar/Gestures
      CoreModules/Avatar/Groups
      CoreModules/Avatar/InstantMessage
      CoreModules/Avatar/Inventory
      CoreModules/Avatar/Inventory/Archiver
      CoreModules/Avatar/Inventory/Transfer
      CoreModules/Avatar/Lure
      CoreModules/Avatar/ObjectCaps
      CoreModules/Avatar/Profiles
      CoreModules/Communications/Local
      CoreModules/Communications/REST
      CoreModules/Framework/EventQueue
      CoreModules/Framework/InterfaceCommander
      CoreModules/Hypergrid
      CoreModules/InterGrid
      CoreModules/Scripting/DynamicTexture
      CoreModules/Scripting/EMailModules
      CoreModules/Scripting/HttpRequest
      CoreModules/Scripting/LoadImageURL
      CoreModules/Scripting/VectorRender
      CoreModules/Scripting/WorldComm
      CoreModules/Scripting/XMLRPC
      CoreModules/World/Archiver
      CoreModules/World/Archiver/Tests
      CoreModules/World/Estate
      CoreModules/World/Land
      CoreModules/World/Permissions
      CoreModules/World/Serialiser
      CoreModules/World/Sound
      CoreModules/World/Sun
      CoreModules/World/Terrain
      CoreModules/World/Terrain/DefaultEffects
      CoreModules/World/Terrain/DefaultEffects/bin
      CoreModules/World/Terrain/DefaultEffects/bin/Debug
      CoreModules/World/Terrain/Effects
      CoreModules/World/Terrain/FileLoaders
      CoreModules/World/Terrain/FloodBrushes
      CoreModules/World/Terrain/PaintBrushes
      CoreModules/World/Terrain/Tests
      CoreModules/World/Vegetation
      CoreModules/World/Wind
      CoreModules/World/WorldMap

- OpenSim.Region.OptionalModules: all those modules that are not core
  modules:

      OptionalModules/Avatar/Chat/IRC-stuff
      OptionalModules/Avatar/Concierge
      OptionalModules/Avatar/Voice/AsterixVoice
      OptionalModules/Avatar/Voice/SIPVoice
      OptionalModules/ContentManagementSystem
      OptionalModules/Grid/Interregion
      OptionalModules/Python
      OptionalModules/SvnSerialiser
      OptionalModules/World/NPC
      OptionalModules/World/TreePopulator
2009-02-10 13:10:57 +00:00
Dr Scofield
9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Sean Dague
efcf00ee60 From: Christopher Yeoh <yeohc@au1.ibm.com>
This patch fixes the problem where if an object containing a script is
deleted at the same time as an object containing the same script is
rezzed, it can result in the assembly file being deleted after the
second object script initialisation has found it but not started using
it yet, resulting in the script not starting up.
2009-02-05 16:12:51 +00:00