| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
reset (as called by llResetOtherScript()).
As with script stop (via llDie()) aborting other scripts event threads, llResetOtherScript() can also abort any current event thread on another script.
On mono 2.6, 2.10 and possibly later this may cause locking problems in certain code areas.
This commit reuses the recently introduced [XEngine] WaitForEventCompletionOnScriptStop to make this a 1 sec timeout, rather than 0 secs.
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
|
| |
| |
| |
| |
| |
| | |
because they failed to complete event processing within the given timeout.
This is for bug hunting purposes where thread aborts may be causing dangling lock issues and subsequent vm crashes on mono (with ReaderWriterLockSlim, etc.)
|
| |
| |
| |
| |
| |
| |
| | |
individual IScriptInstances for debugging purposes.
Current, state changes and event fires can be logged for individual scripts.
See command help for more details.
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
|
| |
| |
| |
| |
| |
| |
| |
| | |
we also get timestamps.
This commit also adds script name, part name, uuid, etc. for later identification.
This information has been sent to console since 2009 but may be turned down if it proves too noisy.
However, I still currently need it to investigate some region problems probably triggered by scripting.
|
| |
| |
| |
| | |
callers to lock and directly inspect the EventQueue
|
| |
| |
| |
| | |
information and display in "show scripts" for debug purposes
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
A better solution using the already present flags must be found.
This reverts commit 6d3ee8bb39d47ed7b32e8905fa0b2fc31c5a9f80.
|
|\ \
| |/
| |
| |
| | |
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
|
| |
| |
| |
| |
| |
| | |
the BOM, use a single Util.UTF8NoBomEncoding.
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
|
| |
| |
| |
| |
| |
| |
| | |
constructing fresh copies.
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
|
| |
| |
| |
| | |
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
|
| |
| |
| |
| |
| |
| | |
loading fails.
Drop logging about memory limit exceeded to warn from error
|
| | |
|
| |
| |
| |
| | |
retrieving state (e.g. exceeds memory limit)
|
|\ \ |
|
| | |
| | |
| | |
| | | |
sounds with llCollisionSound("",...). UUID.Zero means defaults should be used. In case part has several scripts with confliting llCollisionSound result depende on exec order. Specially on reset the efect of "" depends on reset order, it should override the others. This is intermediate improve(?) since collisions sounds seem to need a deaper revision.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
OpenSim/Region/Framework/Scenes/SceneGraph.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
|
| | |
| | |
| | |
| | | |
This is always available from m_host.LocalId
|
| | |
| | |
| | |
| | | |
in self item on initialization.
|
|\ \ \
| |/ /
| | /
| |/
|/|
| | |
Conflicts:
OpenSim/Region/CoreModules/World/Warp3DMap/MapImageModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
|
| |
| |
| |
| |
| |
| | |
These behave identically to llAttachToAvatar() and llDetachFromAvatar() except that they do not enforce the PERMISSION_ATTACH check
Intended for use in completely controlled dedicated environments where these checks are more a UI hinderance than a help.
Threat level high.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
OpenSim/Region/Framework/Scenes/Scene.cs
|
| |
| |
| |
| | |
This is for the top scripts report.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
measurement period and an idealised frame time.
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
|
| | |
|
| |
| |
| |
| | |
false in both if/else branches
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to release locks, resulting in a crippled simulator.
This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well.
It has been seen to happen when llDie() is called in a linkset running more than one script.
Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete.
Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time.
Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
|
| |
| |
| |
| |
| |
| | |
it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event)
Also add other various illustrative comments
|
| |
| |
| |
| | |
command
|
|\ \
| |/
| |
| |
| | |
Conflicts:
OpenSim/Region/Framework/Scenes/SceneGraph.cs
|
| | |
|
|\ \
| |/
| |
| |
| | |
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
|
| |
| |
| |
| |
| |
| | |
in ScriptInstance.
Swallowing exceptions just leads to more mysterious failures later on.
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
|
| |
| |
| |
| |
| | |
On resume, we need to place requeue the script for event processing if there are any events on the queue.
Also need to do this under m_Script lock in order to avoid a race
|