Commit Graph

10203 Commits (90262d40929ab0bdf6888861608a0e712b793f48)

Author SHA1 Message Date
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 e978edc264 add body to an empty getter/setter 2009-06-03 01:27:07 +00:00
Dahlia Trimble 23e0c84f51 fix a int[] declaration 2009-06-03 01:06:00 +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
Charles Krinke 93da1c2e94 Thank you kindly, jonc, for a patch that:
Grid mode only. Serialization and deserialization of 
byte representing Access Level is failing unless byte 
is ToString'd first on Grid Server.
2009-06-02 20:56:27 +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
lbsa71 8e011ecbbb * Removed some commented-out code 2009-06-01 20:17:10 +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
Arthur Valadares eb330f71be * Making silent logoff of old hung sessions for new connections default for
StandAlone users. Not touching grid.
2009-06-01 18:34:40 +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
MW 60c2edce68 Fixed AvatarCreationModule (I think) 2009-06-01 11:41:03 +00:00
MW c4d5a6dfb4 trying to get panda to be able to read the AvatarCreationModule 2009-06-01 11:36:58 +00:00
MW ef070ec1eb part 1 of trying to get panda to be able to read the AvatarCreationModule 2009-06-01 11:34:10 +00:00
MW a71d9c95cf Some changes to the AvatarCreationModule to reduce the number of database reads/writes. Still requires more work in this area. 2009-06-01 11:16:07 +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
Johan Berntsson 39b30accd2 Added cscope tag support in Makefile 2009-06-01 01:24:18 +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
Charles Krinke 2d37ff6fb2 Thank you kindly, StrawberryFride for a patch that:
Added in some key code to read properties from MSSQL for user profiles 
which fixes issues of users having trouble editing estate settings on a 
grid where estate managers are not god, and fixes the option of enabling 
grid god functionality on MSSQL grids.

I have applied this to trunk only. I need someone else to examine and apply
to 0.6.5-Post-Fixes, or give me some direction, please.
2009-05-31 20:53:59 +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 4927bc60a2 Slashing trailing slashes.
https://lists.berlios.de/pipermail/opensim-dev/2009-May/006673.html
2009-05-30 16:30:53 +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
MW e3e7e73db3 Added option (on my default) to the clone avatar function so that the clothes and attachments that the target avatar is wearing, to begin with, are removed. So the end result isn't a merger of those clothes/attachments and the ones the template avatar is wearing.
Added IPAddress ListenIPAddress property to BaseHttpServer so that the listening/binding IP can be set.
2009-05-30 16:13:40 +00:00
MW 94f4953e31 Made it so ( by default) the Clone avatar function, propagates the permissions on the cloned items. This needs further testing to make sure all permissions are set correctly. 2009-05-30 15:20:39 +00:00
MW ea02a24161 a few small changes to AvatarCreationModule 2009-05-30 13:39:07 +00:00
MW 69817b4d6a Added a AvatarCreationModule to the user server. This handles the "cloning" of a existing avatar's inventory to another avatar's inventory (the base method will also create the inventory for a new avatar if the avatar doesn't alreayd have any inventory).
The code also sets the target avatar as wearing whatever the template avatar was wearing (including attachments). The idea is to allow the use of this to give new avatars a more interesting avatar (and inventory set) than the current default. 
I have include a console command that will clone the inventory from one existing user (template avatar) to another existing avatar (target avatar).  The format of the command is : "clone avatar <templateAvatarFirstName> <templateAvatarLastName> <targetAvatarFirstName> <targetAvatarLastName>" (to use this console command on new accounts, the "create user" command will need to be used first)
While the code was designed for hooking up to a remote call from a web interface, I have left the hookup code out of this commit, as I believe most use cases will want to handle it differently.
Also added a "trusted handler" to the inventory server to allow the user server to create new folders in a user's inventory. 
All this is in the old UGAIM servers so will need porting to the new servers.
2009-05-30 12:51:28 +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 d0084f08f2 * Allows standalone region users to skip the "You must wait 5 minutes to log again" message and
allow the region to kick the old user and log the new one without reporting any failure.
Default is still to show message and fail login
2009-05-29 22:38:18 +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