UbitUmarov
054cc8f08e
Xengine only do GC.Collect if logins disabled
2016-09-01 20:49:07 +01:00
UbitUmarov
96ee7e4c2c
Xengine: if option AppDomainLoading = true, create script domains for each SOG (like already done for attachments) and not per script. This should reduce number of domains without excessive problem of deleted scripts still loaded.
2016-08-31 12:03:06 +01:00
UbitUmarov
5afc5fe343
Xengine: try to reduce memory pressure of scripts compile. Still ugly code, possible mistakes, but i need to share it before i loose it :) )
2016-08-31 09:15:08 +01:00
UbitUmarov
4e1784d069
Xengine: remove a no thread safe locking, don't allocate a few objects only needed if creating a new domain
2016-08-30 08:56:35 +01:00
UbitUmarov
d96c05a121
change my previus fix, change xengine to expect SOG and not attachments module, this way not breaking other script engines or modules out there for no valid reason
2016-08-29 12:18:01 +01:00
UbitUmarov
9102f6e5da
fill data for llDetected funtions of collisions closer to the event. (xengine wasn't update with this on merge bc was not used there). fix some parameters
2016-08-05 22:50:15 +01:00
Diva Canto
ab12a14279
Pushed AssemblyVersion up to VersionInfo, so that we don't need to do global replace anymore.
2016-02-21 11:14:02 -08:00
UbitUmarov
3304e52750
add a delay to consume other change messages on move and cross
2015-11-27 14:56:04 +00:00
UbitUmarov
8505ca88dd
work around some 'tests' errors: use one autoresetevent per scene
2015-11-19 02:46:25 +00:00
UbitUmarov
759fda0871
work around some 'tests' errors: reset the event at start of new test.
2015-11-19 02:43:49 +00:00
UbitUmarov
9c5acb3df4
work around some 'tests' errors: just a test
2015-11-19 01:43:33 +00:00
UbitUmarov
9c5646a1ba
work around some 'tests' errors: dont use references to objects that may have been deleted
2015-11-16 23:21:58 +00:00
Diva Canto
59b63b6406
On to 0.8.3!
...
Conflicts:
OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs
2015-10-18 21:51:49 -07:00
UbitUmarov
a11edceb00
seems to compile ( tests comented out)
2015-09-02 19:54:53 +01:00
UbitUmarov
371c9dd2af
bad merge?
2015-09-01 14:54:35 +01:00
Melanie Thielker
c53f732163
Change the IScriptApi back to it's original form, removing XEngine
...
specific additions that should not have been there in the first place.
Sleeping and time measurement are now completely internal to XEngine
2015-08-17 21:46:30 +02:00
Oren Hurvitz
59da146e9d
When the user stops a script, have it remain stopped
...
Previously the script state was never saved for a !Running script, so upon region restart the script would be Running again.
The use of the 'StayStopped' flag is needed because all scripts are automatically stopped when the region shuts down, but in that case we shouldn't save in their state that they're !Running.
2015-08-11 08:44:27 +01:00
Oren Hurvitz
a3bed1fbcb
Report "Script Execution Time" as the time spent executing the script in the last 30 seconds. Use a sliding window to calculate this.
...
Notes:
- This metric provides a better indication of which scripts are taking up a lot of CPU (and therefore should be optimized).
- Previously the execution time was reset to 0 in every new measurement period, causing the reported time to fluctuate for no reason. This has been fixed by using a sliding window.
2015-08-11 08:42:26 +01:00
Oren Hurvitz
287096d826
Improved calculation of Script Execution TimeStarted
...
1. Use a Stopwatch (a high-resolution timer)
2. Whenever we start a new measurement period, zero out the total execution time (previously it just kept accumulating)
3. Changed the measurement period from 30 minutes to 30 seconds. This is much more useful in the "Top Scripts" dialog, as it shows currently active scripts
2015-08-11 07:35:41 +01:00
Oren Hurvitz
7457173fe4
Fixed calling "debug xengine log" without the 'level' parameter: this should show the current log level; not crash
2015-08-11 07:35:38 +01:00
Michael Heilmann
140ea04b9d
Merging Opensim upstream before generating patch
2015-05-19 15:18:45 -04:00
Diva Canto
da32512ea4
Updated all occurrences of AssemblyVersion("0.8.1.*") to AssemblyVersion("0.8.2.*")
2015-04-29 18:47:17 -07:00
Glenn Martin
1959eb8372
Moved over metrics from previous OpenSim 0.8.0.3 repository (this new repository is now the master branch from OpenSim).
2015-04-21 14:29:17 -04:00
Justin Clark-Casey (justincc)
b1b72d7c2f
Reduce coupling in regression test task inventory creation methods to make them usable in tests with no scene present
2015-02-25 20:30:03 +00:00
Justin Clark-Casey (justincc)
557b0fae85
minor: correct log message when script with non-config stop strategy is detected to log actual strategy rather than true/false
2015-01-29 18:28:17 +00:00
Justin Clark-Casey (justincc)
cf0087e87c
Correct typo in raw default script stop strategy
2015-01-27 21:04:11 +00:00
Justin Clark-Casey (justincc)
e0a3440263
If [XEngine] ScriptStopStrategy is different from a compiled script strategy, ask user to manually set DeleteScriptsOnStartup = true for at least one simuator session rather than auto-recompiling.
...
This does not work on Windows since the VM retains a handle to the DLL even if class instantiation was unsuccessful.
Which causes deletion of the old DLL to fail with access sharing violations.
Instead, log a warning in this situation asking the user to manually set DeleteScriptsOnStartup = true for a session (or one could separately delete the DLLs in the relevant bin/scriptengines/<region-uuid> dir
For the current session, the script engine will continue using the script compiled stop strategy as before.
Relates to http://opensimulator.org/mantis/view.php?id=7278
2015-01-27 19:07:20 +00:00
Justin Clark-Casey (justincc)
13ba2f2d83
If an exception comes out of DoOnRezScript in DoOnRezScriptQueue(), then only fail a single script rather than halting the exntire script startup process.
2015-01-26 23:32:51 +00:00
Justin Clark-Casey (justincc)
1bed3aff0b
On a multi-region simulator when AppDomain = true, make sure the DLL from the appropriate script engines subdir is loaded rather than always that of the first engine to load the DLL.
...
This resolves a DLL load failure on my Linux box when an attachment script was present on another region before the avatar arrived.
2015-01-26 23:31:46 +00:00
Justin Clark-Casey (justincc)
2995868176
Make XEngine.SaveAllState() actually do this instead of script maintenance
2015-01-17 00:05:13 +00:00
Justin Clark-Casey (justincc)
0eb268e265
minor: remove old commented out objectRemoved bool in XEngine.OnRemoveScript()
2015-01-16 23:59:08 +00:00
Justin Clark-Casey (justincc)
58f7efc41a
Add clearqueue code adjustment that should have been in previous commit faaf47a
2015-01-16 23:57:51 +00:00
Justin Clark-Casey (justincc)
faaf47a86f
Prevent a race condition between the script engine backup thread and script removal by locking on the script's EventQueue and only proceeding if it's flagged as still running.
...
Relates to http://opensimulator.org/mantis/view.php?id=7407
2015-01-16 23:55:11 +00:00
Justin Clark-Casey (justincc)
8d724e90de
For scripts in attachments, don't save .state files apart from the initial one as these are ignored since .state is saved in the attachment's asset.
...
This eliminates pointless work and exceptions when an appdomain is unloaded whilst an attachment script state is persisted.
Adds test for this case.
Relates to http://opensimulator.org/mantis/view.php?id=7407
2015-01-16 22:46:48 +00:00
Diva Canto
2138d5c7f8
Renamed VERSION_NUMBER to VersionNumber
2014-12-30 15:27:28 -08:00
Diva Canto
7466ef0525
This cleans up versioning. Specifically:
...
- It establishes 4 digits for opensim versions
- It uses the same number between opensim releases and mono addins versions
It also eliminates the last addin.xml files that were still there, for consistency.
2014-12-30 12:53:31 -08:00
Diva Canto
89c1ac4cff
Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do.
2014-12-29 15:05:44 -08:00
Justin Clark-Casey (justincc)
147d401b28
Remove XEngine.m_uniqueScripts
...
This provides no obvious benefit as far as I can tell but has a definite cost in keep script strings in memory for the entire simulator session.
2014-12-15 20:38:26 +00:00
Justin Clark-Casey (justincc)
2b9f0647de
Fix a regression where objects crossing regions in the same simulator (on their own or as attachments) with AppDomainLoading = false would create the new state in the source region area rather than the dest.
...
This was beause the code was finding the script DLL compiled for the source region as everything is in the same appdomain and using this as the location for the destination script state, etc.
This resolves the regression by passing the proper destination separately from the DLL retrieved.
Probably a regression since commit d7b92604 (11 July 2014).
Added regression test for this case.
At least partly addresses http://opensimulator.org/mantis/view.php?id=7278
2014-12-10 00:25:27 +00:00
Justin Clark-Casey (justincc)
227d2e2b61
Avoid a possible race condition where the XEngine script compile thread could complete but see OnRezScript() insert a new job and complete before it set m_CurrentCompile = null
...
If the above happened, it would mean the new script would not compile until some script was added for compilation.
2014-12-10 00:04:10 +00:00
Justin Clark-Casey (justincc)
76722d8324
In XEngine, enqueue a script rez to the compile queue after setting m_CompileDict to avoid a rare but not impossible race condition.
2014-12-09 23:59:19 +00:00
Justin Clark-Casey (justincc)
d34ad345d5
minor: If we are recompiling scripts in response to a ScriptStopStrategy config change (a rare situation), then explicitly log this for debug purposes.
2014-12-03 21:08:43 +00:00
Justin Clark-Casey (justincc)
c3c05a8693
Reintroduce general xengine extra debugging log level. This can be controlled at runtime with the command "debug xengine log <level>", as with similar commands.
...
If log level is 1 then every script load is logged.
This means the <logger name="OpenSim.Region.ScriptEngine.XEngine"> section in OpenSim.exe.config is no longer needed to avoid log spam on regions with many scripts and can be removed.
2014-12-03 20:48:17 +00:00
Justin Clark-Casey (justincc)
805b7ccb3e
minor: improve logged error in XEngine.SetXmlState if there was a problem writing the linemap.
...
The previous error report of already exists is inaccurate since existing files do get overwritten.
2014-12-03 20:35:49 +00:00
Justin Clark-Casey (justincc)
432f0e8783
Correct 690fe0c to actually log the exception reported in DoOnRezScriptQueue()(and now the scene name).
2014-11-29 15:04:16 +00:00
Justin Clark-Casey (justincc)
690fe0c5e5
If there are any exceptions in XEngine.DoOnRezScriptQueue() then log the error and always set m_CurrentCompile = null
...
Setting m_CurrentCompile = null in the finally block reduces the risk that an exception could permanently stop any future scripts compiling until the simulator is restarted.
If an exception is seen from this then please report and further changes to fix the bug or improve compiling reliability can be made.
2014-11-29 01:42:52 +00:00
Justin Clark-Casey (justincc)
55e064baf7
Remove minor race condition where two threads could race on fields such as m_ScriptFailCount as set in XEngine.DoOnRezScriptQueue()
2014-11-29 01:33:14 +00:00
Justin Clark-Casey (justincc)
fc878a33ed
refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
...
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
UbitUmarov
382df37f80
remove some Xengine errors on scripted object delete
2014-10-22 10:21:54 +01:00
UbitUmarov
6d2cdd31fe
populate collision lists with LinkNumber, and detected structure in
...
Xengine
2014-09-23 23:59:05 +01:00