Justin Clark-Casey (justincc)
0568c76a88
Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
...
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-07 00:47:04 +00:00
Justin Clark-Casey (justincc)
68daeee434
minor: change method doc on GetTextureHandler.TryParseRange(), mainly to trigger another build
2012-12-06 01:36:30 +00:00
Justin Clark-Casey (justincc)
acc01bb85d
Allow GetTexture calls with no second value in the range header (e.g. just 5333-)
...
It looks like the latest Kokua is doing this.
As per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html , leaving off the second value is legal
This indicates the caller wants the rest of the entity.
2012-12-06 01:12:12 +00:00
Justin Clark-Casey (justincc)
1c9ecc55d3
Instead of printing script errors out to console, put to debug log so that 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.
2012-12-06 00:22:52 +00:00
Justin Clark-Casey (justincc)
e60fe958df
minor: Fix more compiler warnings in CoreModules tests by properly overriding OpenSimTestCase.SetUp()
2012-12-05 23:44:12 +00:00
Justin Clark-Casey (justincc)
ec765de7e5
Add engine-wide events queued and events processed numbers to output of "xengine status" console command. For debugging purposes.
2012-12-05 23:41:50 +00:00
Justin Clark-Casey (justincc)
66982c8a59
Remove some mono warnings in script tests, chiefly where SetUp() wasn't properly calling to OpenSimTestCase.SetUp()
2012-12-05 23:36:15 +00:00
Justin Clark-Casey (justincc)
5ba99cbf55
Add IScriptInstance.EventsQueued to match EventsProcessed instead of asking callers to lock and directly inspect the EventQueue
2012-12-05 23:33:48 +00:00
Justin Clark-Casey (justincc)
652f4bcb42
For now, sort "show scripts" output in descending order sorted by events processed.
...
For debug purposes - should later add options to allow different sorting or show only highest 10, etc.
2012-12-05 23:27:50 +00:00
Justin Clark-Casey (justincc)
e8df0f1b4c
Add IScriptInstance.EventsProcessed stat so that we can record this information and display in "show scripts" for debug purposes
2012-12-05 22:33:46 +00:00
Justin Clark-Casey (justincc)
0f3ebe0971
Remove very probably unused PrimitiveBaseShape(bool) constructor to reduce code complexity
2012-12-05 22:12:45 +00:00
Justin Clark-Casey (justincc)
b60c6bc3f8
Don't pointlessly set ExtraParams = byte[1] in PrimitiveBaseShape since this is ignored by the ExtraParams properly anyway
2012-12-05 22:01:47 +00:00
Justin Clark-Casey (justincc)
2342d20a7e
minor: tidy up spacing at bottom of MundaneFrameworkTests
2012-12-05 21:53:25 +00:00
Justin Clark-Casey (justincc)
fdf8876e20
In BaseHttpServer.HandleRequest(), use Culture.SetCurrentCulture() rather than creating a new CultureInfo separately
2012-12-05 21:52:10 +00:00
Justin Clark-Casey (justincc)
ea786414c2
In XEngine.DoOnRezScript() use Culture.SetCurrentCulture() instead of constructing a new CultureInfo separately
2012-12-05 21:51:08 +00:00
Justin Clark-Casey (justincc)
d97440c7cf
On XEngine.ProcessEventHandler(), instead of creating a new CultureInfo on every call use the single one set by Culture.SetCurrentCulture()
...
This is slightly different in that SetCurrentCulture() does not use overridden settings if the system culture matches en-US but some settings there have been changed.
This is what we want - we do not want to use any system overriden settings.
2012-12-05 21:40:28 +00:00
Justin Clark-Casey (justincc)
1b5f21f761
minor: also comment out the debug log message which reports searching for child agents in simulator scenes for now.
2012-12-04 23:07:26 +00:00
Justin Clark-Casey (justincc)
0d4047e641
minor: Comment out "Delivering IM to..." messages for now.
2012-12-04 23:06:02 +00:00
Justin Clark-Casey (justincc)
fb26d32a5c
minor: Put Scene.PhysicsRequestAsset() into standard C# xml format.
2012-12-04 22:33:25 +00:00
Justin Clark-Casey (justincc)
7fdc251774
Add path references for Mono.Addins where they were missing for DataSnapshot and UserStatistics.
...
Should address http://opensimulator.org/mantis/view.php?id=6444
Appears that nant doesn't need these paths but building directly in monodevelop does.
2012-12-04 22:24:51 +00:00
Diva Canto
583e44103c
Bug fix in OfflineMessageModule. Mantis #6446
2012-12-04 08:36:54 -08:00
Diva Canto
a4821c5e01
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-12-04 08:08:58 -08:00
Diva Canto
dc80c2afb3
Improvement in HGInstantMessageService: account for the existence of an offline IM service.
2012-12-04 08:08:34 -08:00
BlueWall
0c7d6adef1
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-12-03 20:17:00 -05:00
BlueWall
ac65085cc3
XmlRpcGridRouter
...
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called.
See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or
https://github.com/BlueWall/XmlRpcRouter
for php gateway and test code.
2012-12-03 20:16:44 -05:00
Robert Adams
787636b97a
BulletSim: Reduce idle region physics overhead where there are MANY
...
static objects by more restrictive selection of objects that collide
with static objects.
Rename collision mask fuctions from 'filter' to 'group' so it is clear
what is being set.
Rename BulletSimAPI.SetCollisionFilterMask() to SetCollisionGroupMask to match above.
Restore passing of time step to linear and angular motion component routines.
Use buffering vehicle physical parameter get/set routines consistantly.
Make range enforcement clearer by using ClampInRange() function for parameter setting.
Remove commented out experimental vehicle calculations.
2012-12-03 16:25:51 -08:00
Robert Adams
41f1c5b7f7
BulletSim: rework angular corrections to remove any hybrid code and compute absolute collections.
2012-12-03 07:59:56 -08:00
Robert Adams
2586bab2dd
BulletSim: add stubs for generalization of preStep actions. Will eventually replace the specialized vehicle processing with preStep event processing. Add TODO comments about this feature. Redo line endings in TODO file to be all Linux.
2012-12-03 07:59:52 -08:00
Robert Adams
dc0497c1b8
BulletSim: begin tracking a TODO list. There just are so many things to remember to do.
2012-12-03 07:59:49 -08:00
Robert Adams
10fcc70b36
BulletSim: revert angular vertical attraction from motor to code. The motor code did not return the restoring difference but the current value. Remove unused commented out code.
2012-12-03 07:59:46 -08:00
Robert Adams
f9fed421fe
BulletSim: format vehicle detail logging messages so vehicle changs are grouped better in the log output.
2012-12-03 07:59:42 -08:00
Robert Adams
20c3ec7d92
BulletSim: localize vehicle property setting so the vehicle prim is only updated at the end of the vehicle simulation step and the push of the physics property update event only happens if the properties are actually changed.
2012-12-03 07:59:39 -08:00
Robert Adams
b124aae05e
BulletSim: Add DumpActivationInfo2 function. Change static objects from DISABLE_SIMULATION to ISLAND_SLEEPING. Update DLLs and SOs to add DumpActivationInfo2 function.
2012-12-01 15:39:13 -08:00
Robert Adams
ec63e4ff29
BulletSim: remove time scaling of computed vehicle absolute velocity since Bullet will scale the movement by the time slice. Restore LIMIT_MOTOR_UP to definitition of BOAT simce some vehicle engines use it even for land vehicles. Push vehicle parameter updates through the regular property update to solve vehicles floating off when they should be stopped.
2012-11-29 22:21:45 -08:00
Robert Adams
0bda35e18f
BulletSim: add copyright header where it is missing. Remove some unnecessary 'using' requirements so testing framework is less complicated.
2012-11-29 09:53:59 -08:00
Robert Adams
0cd99c74a7
BulletSim: add expanded call to IMesher/Meshmerizer which enables/disables mesh caching. Since BulletSim caches and tracks the unmanaged memory version of meshes, the Meshmerizer itself does not need to cache built meshes once BulletSim has made the physical proxy mesh.
2012-11-29 09:24:53 -08:00
Robert Adams
b8a7cbb9e9
BulletSim: reverse direction of hover correction. Removes problem with vehicles being orbited.
2012-11-29 08:03:30 -08:00
Robert Adams
2ccd4c1302
BulletSim: fix boats floating low by removing LIMIT_MOTOR_UP flag from TYPE_BOAT definition.
2012-11-28 09:48:48 -08:00
Robert Adams
24b3b4df2e
BulletSim: update DLLs and SOs to remove simulator crash when calling SetInterpolationAngularVelocity.
2012-11-28 09:48:41 -08:00
Robert Adams
0a66317fa6
BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain.
2012-11-28 09:48:33 -08:00
Diva Canto
d656ec8f33
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-11-27 21:11:19 -08:00
Diva Canto
92a766e8cb
Bug fix in Offline IM for inventory transfers. The items were being placed twice in the receiver's inventory.
2012-11-27 21:10:58 -08:00
Justin Clark-Casey (justincc)
aae76f7be4
Stop logging spurious asset data for {0} is zero length error for sculpts/mesh
...
ODEPrim, for instance, always hits this code path twice at the moment
Firstly before any sculpt data has been loaded (hence the spurious message)
Secondly when any sculpt data has been loaded or failed to load (when the message would be valid).
Hence comment this out and rely on the message in ODEPrim.MeshAssetReceived() instead
(though this is not ideal since it requires all physics plugins to copy/paste similar code).
2012-11-28 02:01:04 +00:00
Justin Clark-Casey (justincc)
8a1d3b322f
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-11-28 02:00:34 +00:00
Justin Clark-Casey (justincc)
c17ea2049b
Show many more primitive properties on console command "show part name/id/pos"
2012-11-28 01:42:58 +00:00
Diva Canto
a82f699f43
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-11-27 14:43:01 -08:00
Diva Canto
2cd88787af
Prevent the core Groups module from being enabled when its name doesn't match the "default" ini choice
2012-11-27 14:42:28 -08:00
Robert Adams
8e459a0346
BulletSim: reorganize linear movement routine into separate subroutines enabling external calibration routines and unit tests.
2012-11-27 10:04:00 -08:00
Robert Adams
a5100cafee
BulletSim: fix terrain mesh generation for problem with regions that have unequal edge heights. Thanks UBit.
2012-11-27 10:03:55 -08:00
Robert Adams
68fe7dff20
BulletSim: reorganize angular movement routine into separate subroutines enabling external calibration routines and unit testing.
2012-11-27 10:03:49 -08:00