Commit Graph

6023 Commits (f243dddc04a16a175e52e88fb34d38fb6fb643e5)

Author SHA1 Message Date
Justin Clarke Casey fbd0f5491b * A further fix for mantis 3641 (oar saves do not complete)
* For some reason, if a null was recieved (indicating a missing asset), the code had stopped passing that on to the waiting lock, resulting in a perpetual freeze
* This change passes the null on correctly
* Many thanks to thomax for being insistent in presenting his analysis of the problem :)
2009-06-05 19:20:31 +00:00
Justin Clarke Casey c20f31beff * refactor: split out part xml writing in SceneObjectSerializer 2009-06-05 18:44:44 +00:00
Justin Clarke Casey 593942b195 * Fix problem where known missing assets would stop save oar ever completing
* Issue was that region server was silently dropping an XmlException caused by trying to deserialize the blank asset service response
* So make asset service return http status NOT FOUND rather than OK in accordance with REST
* and interpret this correctly in the async response so that a null object is sent back
* This means that this fix won't be active until both region simulator and server reach this revision
2009-06-05 16:14:22 +00:00
Justin Clarke Casey bfea077508 * Add oar saving timeout
* If an oar save fails to get responses to all asset requests to the asset service then timeout after 60 seconds
* Timeout executes abort, since missing assets in an OAR seems bad
* This means that oar saves won't permanently hang and instead can be retried if something goes wrong with the asset service
* This is not a solution to mantis 3714.  Hopefully a fix will be along shortly since I can now consistently reproduce that problem
2009-06-05 13:48:43 +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
lbsa71 fd5e45733c * Restructured Scenes Tests to follow (what I conceive of as being) current directory standards. (pt 1 - thank you, svn. not.) 2009-06-05 06:22:08 +00:00
Melanie Thielker f992db6807 Committing mcortez's FlotsamAssetCache after several positive reviews.
Thank you, mcortez!
2009-06-05 04:58:55 +00:00
diva ffac6f94f0 Changed a comment to reflect changes in config. 2009-06-04 18:41:19 +00:00
Jeff Ames c6cef4bad5 Comment out unused variables / private fields to avoid compiler warnings. 2009-06-04 03:58:04 +00:00
Jeff Ames 2a855a6457 Comment out unused private functions to avoid compiler warnings. 2009-06-04 01:37:31 +00:00
Jeff Ames 1e3f378c57 Fix comparison of UUID with null. 2009-06-04 01:26:31 +00:00
Jeff Ames 5f923f0632 Add copyright headers. 2009-06-04 01:09:18 +00:00
Jeff Ames 007016ecd2 Update svn properties. 2009-06-04 00:51:02 +00:00
lbsa71 9b619043ce * Making sure we fail a bit earlier if we have no AssetService 2009-06-03 17:29:21 +00:00
Dr Scofield 717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Dr Scofield 074b66ddcf From: Chris Yeoh <yeohc@au1.ibm.com>
- fixes wild swings in memory usage related to usage of GetDrawStringSize()

  We've been seeing wild swings in memory usage and a large chunk of
  memory leak. From analysing this it's pretty clear that the mono
  garbage collector is rather buggy! When exercised heavily it looks
  like it frees more than its meant to resulting in crashes.

  GetDrawStringSize() measures the size in pixels of text. To do this
  memory for an image is allocated and used to call the GDI text
  measure functions.  Although no reference to the temporary memory
  for the measuring is kept, it takes quite a while for the mono
  garbage collector to clean up - so if lots calls to
  GetDrawStringSize() are made at once there can be a spike in memory
  usage. If the garbage collector is not fast enough then the GDI
  layer runs out of memory. It also looks like the garbage collector
  is not always reclaiming all of the memory.

  I've attached an OpenSim patch which works around the garbage collector
  issues. Instead of dynamically allocating memory for measuring
  text sizes, it serialises (on a per region basis) access to a single
  block of memory. The effect of this is to be nicer to the garbage
  collector as it has a lot less work to do, at the cost of some
  theoretical loss in performance (nothing noticeable with our tests
  which hit it pretty hard).

  OpenSim still does leak memory slowly, but it is a lot more stable
  with this patch. I suspect that either the garbage collector misses
  bits of freed memory or the GDI/cairo layer leaks a bit each time a
  texture is created. Thats going to be a lot harder to hunt down, but
  for reference if someone has OpenSim running on Windows it would be
  interesting to see if it has the same problem as it would tell us if
  its a mono/GDI problem or an OpenSim problem.
2009-06-03 12:39:44 +00:00
Dr Scofield 25a0a56570 From: Alan Webb <alan_webb@us.ibm.com>
Modify dynamic texture handling so that an explicitly targetted
  face is not scheduled for immediate expiration. The requirement
  for precaching explicitly requires these assets to persist. They
  do however remain temporary.

  This approach leaves the legacy mode of operation (ALL_SIDES)
  unchanged in this respect.
2009-06-03 12:21:14 +00:00
Dahlia Trimble 9e3b592fa3 Thank you Imaze Rhiano for a patch that implements Cenome Memory Asset Cache (Mantis #3759)
See the files: bin/config-include/GridCommon.ini.example and bin/config-include/StandaloneCommon.ini.example to configure and enable this caching method.
2009-06-03 08:41:08 +00:00
Dahlia Trimble b64c484d26 Thanks aduffy70 for Mantis #3762: A patch to fix llGround, llGroundNormal, and llGroundSlope 2009-06-03 05:31:53 +00:00
Dahlia Trimble 528db43326 revert r9765 due to too many errors on some compilers. Affects Mantis #3759 2009-06-03 02:03:11 +00:00
Dahlia Trimble b38be1a7fd Thank you Imaze Rhiano for a patch that implements Cenome Memory Asset Cache (Mantis #3759)
See the files: bin/config-include/GridCommon.ini.example and bin/config-include/StandaloneCommon.ini.example to configure and enable this caching method.
2009-06-02 22:42:47 +00:00
Charles Krinke 23bf1bf6e0 Thank you kindly, MattSetzer, for a patch that solves a Mantis:
This appears to be due to the fact that no asset cache has been 
configured, possibly as a result of the configuration changes that 
have been made recently. I've attached a patch to display a message 
to that effect rather than throwing an error.
2009-06-02 21:13:29 +00:00
lbsa71 6f37fd8399 * Pried apart the ODE tests. This fixes mantis #3212 2009-06-02 18:12:34 +00:00
Justin Clarke Casey 5c42143a7b * Add simple original xml serialization test 2009-06-02 15:24:29 +00:00
Melanie Thielker aec5dc677d Explicitly set the changed status of the prim groups affected in a delink
Mantis #2484
2009-06-02 08:19:32 +00:00
Arthur Valadares 63a499c569 * Allow for lowercase searching in standalone mode, when case sensitive
search fails. This allows compability to libOMV bots, that always lowercase
region names.
* Uncertain if this should/could propagate to grids
2009-06-01 20:51:40 +00:00
Jeff Ames c6f616049c Only save crashes to disk if save_crashes in OpenSim.ini is true (false by default). 2009-06-01 18:45:36 +00:00
Justin Clarke Casey 412295ccde * Add simple original sog xml serialization test 2009-06-01 18:03:51 +00:00
Justin Clarke Casey f6badc528b * minor: change the name of one serialization method to match its counterpart 2009-06-01 17:38:11 +00:00
Justin Clarke Casey ecbeb5cea1 * Fix race condition in save oar 2009-06-01 16:00:46 +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
Dahlia Trimble be41a2cb7e reduce verbosity of sculpt map cache messages to reporting cache failures only 2009-05-31 23:57:52 +00:00
Jeff Ames 35b450d41d Add copyright headers, formatting cleanup, ignore some generated files. 2009-05-31 18:35:00 +00:00
Jeff Ames db2c4ab94c Update svn properties. 2009-05-31 16:26:18 +00:00
Adam Frisby dc15190365 * Adds MRM scripting commands, World.Objects.Create(Vector3 position) and World.Objects.Create(Vector3 position, Quaternion rotation). These rez a 'default box' object at the specified coordinates, and return the associated IObject. 2009-05-31 12:53:05 +00:00
Mike Mazur 07a94fdf89 Fix IRCd init check for config section
The IRCStackModule used Nini.Config.ConfigCollection.Contains() to
determine whether the "IRCd" section was present in the config. This
ConfigCollection, however, stores an ArrayList of IConfig objects, not
strings, so calling Contains("IRCd") always returns false since "IRCd"
is a string, not an IConfig object.
2009-05-31 11:50:42 +00:00
diva 822c2176df Forgot to add this to my last commit 2 days ago. Async in the HGBroker too. 2009-05-30 16:22:15 +00:00
Adam Frisby e70910c3e3 * Tweaks to /WHO listings. 2009-05-30 09:37:11 +00:00
Adam Frisby 449e167dce * You are likely to be eaten by a grue.
* Enable with [IRCd] Enabled=true (will listen on port 6666).
2009-05-30 07:02:38 +00:00
Adam Frisby 1bb98a1eb0 * More Tweaks 2009-05-30 04:07:58 +00:00
Adam Frisby 29bc2962ad * More IRCClientView fiddling. Now implements IClientAPI & IClientCore. 2009-05-30 03:53:04 +00:00
Adam Frisby ac80b6539f * May partially implement a C# IRCd & IRCClientStack. 2009-05-30 03:18:09 +00:00
Adam Frisby c30b5ee014 * Adds World.Audio.* to MRM
* This includes methods such as PlaySound which take a Position as an argument, allowing you to trigger sounds arbitrarily across the scene without needing a parent object in the position.
2009-05-29 23:49:48 +00:00
Adam Frisby 433ee75775 * Protip: When you click 'make public' in resharper, note to save before committing. 2009-05-29 22:48:34 +00:00
Adam Frisby 78bec42225 * Implements Sound on Objects for IObject in MRM
* Method: IObject.Sound.Play(UUID sound, double volume)
* More feature-packed API to come soon. (I want a World.Sound with arbitrary positioning)
2009-05-29 22:44:49 +00:00
Arthur Valadares 8545621d9b * Bug fix: Fixes an exception when Scene.RemoveClient is called to remove on a
non-existing ScenePresence avatar. Also removed trailing white spaces.
2009-05-29 21:12:55 +00:00
Justin Clarke Casey 95643971be * refactor: little tweaks to trigger another build 2009-05-29 21:10:17 +00:00
Justin Clarke Casey 4aad6a07ff * refactor: Remove redundent prim id attribute on Scene.AddSceneObject() 2009-05-29 21:01:18 +00:00
Justin Clarke Casey 6eb191c87b * Add save xml2 serialization test 2009-05-29 20:20:47 +00:00
Justin Clarke Casey 9021bb231c * minor: move common serialization test code into fixture setup 2009-05-29 16:27:43 +00:00
Justin Clarke Casey fa04937a82 * Add xml2 load test 2009-05-29 16:11:33 +00:00
Dahlia Trimble 179724b4fc some clean up of sculpt map caching code
remove a redundant debug message
2009-05-29 08:57:10 +00:00
Dahlia Trimble 05cbf0b502 reinstate a hopefully more robust experimental decoded sculpt map caching scheme 2009-05-29 06:50:15 +00:00
Dahlia Trimble 1609e7eac0 disable sculpt map caching until a better method of avoiding asset requests can be found 2009-05-29 05:11:50 +00:00
Dahlia Trimble 9493de7f4e null test for texture assets when using cached sculpt map
addresses mantis #3735
2009-05-29 04:29:55 +00:00
Dahlia Trimble db4f8d1298 Experimental decoded sculpt map caching 2009-05-29 02:46:35 +00:00
diva 1e9cb2f8fc Making the delegate handlers async in async Get, to make things consistent. Them being synchronous in certain cases (asset in cache, for example) may account for slowness reported by folks in osgrid when they have the cache module on. Turns out that some of the provided handlers do non-trivial processing (the ones coming from J2KImage, for example), which means that the several asset requests that hit the cache end up being synchronous. The jury is still out on this. 2009-05-29 01:26:53 +00:00
diva 0094556d04 Instrumenting GlynnTuckerCache to find out the hit rate. 2009-05-28 21:04:10 +00:00
Adam Frisby 5db649538a * Tweak to above 2009-05-28 19:20:49 +00:00
Adam Frisby 2feb218817 * Makes grid announcements more prominent. 2009-05-28 19:19:10 +00:00
Adam Frisby 4b151b83a8 * Oops. Forgot Initialise needs tweaking between IRegionModule and ISharedRegionModule. 2009-05-28 19:03:27 +00:00
Adam Frisby 561d6c1cdc * Converts recently added OGSRadmin to IRegionModule because I cant be arsed figuring out Mono.Addins. 2009-05-28 18:59:18 +00:00
Adam Frisby 940b5567a0 * Adds OGS RAdmin class. Adds primitive remote admin functions for gridservers to perform on region servers. Used for grid-wide announcements, etc. 2009-05-28 18:27:08 +00:00
Adam Frisby a7b49084ad * May make the terrain flatten brush behave like Second Life(tm)'s client expects. May break everything. You decide! 2009-05-28 15:27:15 +00:00
diva 275e53b126 This may bring the missing texture back. 2009-05-28 15:05:00 +00:00
Dr Scofield 901fdca13b From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-27 18:01:06 +00:00
diva e0ef697402 Adding the GlynnTucker cache module as the default choice in .ini's.
Minor log message change in the module itself.
2009-05-27 16:11:23 +00:00
Jeff Ames a576cca59e Update svn properties. 2009-05-27 14:30:33 +00:00
Sean Dague 85e91ddb67 Revert "* Added IntegrationTest Attribute and tagged the ODETestClass"
This reverts commit 8f0096cc7b112fea8f69f391224911f624482747.

To get us back to compiling on fresh checkouts.
2009-05-27 12:53:29 +00:00
lbsa71 17f0a4be53 * Added IntegrationTest Attribute and tagged the ODETestClass 2009-05-27 12:36:58 +00:00
diva ce5225e6dc Experimental alternative cache module implementation, using GlynnTucker.Cache.dll. 2009-05-26 21:24:18 +00:00
diva c061b4cb49 Changed the order of things in Scene creation. This piece of code is very jibbery, widely different results with slightly different orders. This particular order produces the best results in the UC Irvine sim in osgrid. But clearly there's something messed up here.
Addresses mantis #3707, mantis #3713, mantis #3686.
2009-05-26 16:45:30 +00:00
diva c66ef94a7b Commented a log message related to users not found, because it floods the log when the sims have prims from foreign users. 2009-05-26 02:47:02 +00:00
Melanie Thielker 0b9076cd17 Revert a change I made to get a better URL because it failes under mono 2009-05-26 01:38:32 +00:00
Melanie Thielker 2f74a7e3a6 Couple of tweaks to the URL module: handle script reset gracefully and
stop crashing http server threads.
2009-05-26 01:27:22 +00:00
Justin Clarke Casey 582c20b1c4 * reseparate inventory item creator id and creator uuid
* unfortunately, while the client requires uuids and we want to be able to have arbitrary string ids, these cannot be kept in sync
* I think the problems last time were due to a serialization change
* So the major inteface version has been bumped to take care of any lingering issues here.
* This means that region servers beyond this revision can only connect to similarly uptodate grid services, and vice versa
2009-05-25 19:54:47 +00:00
Dr Scofield eaa89f5a03 oops: wrong "path" in addin.xml 2009-05-25 12:27:17 +00:00
lbsa71 ba360ede8b * Upped version number to 0.6.5 2009-05-25 11:43:56 +00:00
Dr Scofield c18c1f6c7c Revert "From: Chris Yeoh <cyeoh@au1.ibm.com>"
This reverts r9666. for some reason the mysql update does not work.
2009-05-25 11:32:31 +00:00
Dr Scofield 0bff818d39 From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-25 11:26:36 +00:00
Dr Scofield d4d9d8ed8f converting CapabilitiesModule to new region module scheme 2009-05-25 11:11:04 +00:00
Dr Scofield b840535622 dropping attendee list keeping from Concierge, relying on
Scene.GetAvatars() instead now. [test #487]
2009-05-25 09:32:44 +00:00
Jeff Ames d4957dd9be Update svn properties. 2009-05-25 01:59:50 +00:00
Melanie Thielker 4e64bf9360 Prevent group deeded objects from being returned by the group return option
unless the user has that permission through the group.
2009-05-24 17:29:40 +00:00
Melanie Thielker ca75c101ec Allow the perms module to inspect and modify the list of objects to return
for more fine-grained control
2009-05-24 17:20:47 +00:00
Melanie Thielker c028d0a3c1 Make group permissions control what a user can return. 2009-05-24 16:55:34 +00:00
Melanie Thielker f3f7d60367 Add a new permissions check for bulk object returns. 2009-05-24 16:11:35 +00:00
diva 006c2c2e8f Fixes map image on link-region (HG). 2009-05-24 02:09:20 +00:00
diva fb6d314d4d This should make HG asset transfers work much better. It now uses HGUuidGatherer, which is a subclass of UuidGatherer. Hence, on-line HG asset transfers use exactly the same UUID collection code as save oar/xml. If it doesn't work, it's Justin's fault :D 2009-05-23 17:51:13 +00:00
Adam Frisby 6b312d9340 * Implements automatic loopback handling for standalone regions.
* This /should/ make OpenSim behave properly when hosting behind a NAT router and utilizing port forwarding (but the router doesn't support Loopback)
2009-05-23 06:29:08 +00:00
Adam Frisby 31baeef469 * Pipes requestors IP address through all XmlRpcRequest delegates. This is needed to be able to 'NAT-wrap' the login sequence.
* If you have something using XmlRpc that isn't in core, change your method signature from:
   (XmlRpcRequest request)
to:
   (XmlRpcRequest request, IPEndPoint remoteClient)
2009-05-23 06:05:20 +00:00
Adam Frisby 3b1b3ac9bb * Breaks OpenSim.. err I mean.. adds NAT translation support to EnableSimulator EventQueue methods.
* NB: This may actually break logins on certain regions. Shake well before consuming.
2009-05-23 05:44:18 +00:00
Adam Frisby f8c569dc7c * NetworkUtil now handles an error case in a way which is easier to debug. 2009-05-23 05:18:37 +00:00
Justin Clarke Casey a3145e4e5a * Reintroduce save iar test, which wasn't working because the asset service hadn't been manually post intiailized 2009-05-22 19:59:45 +00:00
Dr Scofield 3b689e506f From: Alan Webb <alan_webb@us.ibm.com>
Changes to support client-side image pre-caching in the region. This
  commit adds an additional calling sequence to the DynamicTexture data
  and URL calls. The new interface allows a dynamic image to be loaded
  into a specific object face (rather than the mandatory ALL_SIDES
  supported today.
  This is in part fulfilment of ticket #458.
2009-05-22 16:22:49 +00:00
Dr Scofield 55442f3644 From: Alan Webb <alan_webb@us.ibm.com>
RequestUserInventory is supposed to drive a supplied callback
  when it completes. In fact, it fails to do so if the user's
  inventory does not exist (e.g. the inventory database is
  unavailable for some reason), and the requestor is left
  sleeping forever.
  The code has been modified to return empty lists via the
  callback as an accurate reflection of what is there: nothing.
2009-05-22 15:18:41 +00:00
Dr Scofield 1d02636c27 cleaning out warnings.
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
2009-05-22 14:57:00 +00:00
Dr Scofield 912be7a2ac converting Chat module and Concierge module to new style region modules 2009-05-22 14:25:50 +00:00
Dr Scofield 1df80943b0 dropping sex from SceneBanner... 2009-05-22 14:21:44 +00:00
Dr Scofield 37726764be changing IRCBridgeModule to new region module scheme 2009-05-22 11:37:26 +00:00