| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* 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 :)
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
scripting.
Fixes Mantis #2862
|
|
|
|
| |
directory standards. (pt 1 - thank you, svn. not.)
|
|
|
|
|
|
| |
Thank you, mcortez!
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
| |
and llGroundSlope
|
| |
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
Mantis #2484
|
|
|
|
|
|
|
| |
search fails. This allows compability to libOMV bots, that always lowercase
region names.
* Uncertain if this should/could propagate to grids
|
|
|
|
| |
default).
|
| |
|
| |
|
| |
|
|
|
|
| |
LICENSE.txt.
|
| |
|
| |
|
| |
|
|
|
|
| |
World.Objects.Create(Vector3 position, Quaternion rotation). These rez a 'default box' object at the specified coordinates, and return the associated IObject.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
* Enable with [IRCd] Enabled=true (will listen on port 6666).
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
committing.
|
|
|
|
|
|
| |
* Method: IObject.Sound.Play(UUID sound, double volume)
* More feature-packed API to come soon. (I want a World.Sound with arbitrary positioning)
|
|
|
|
|
| |
non-existing ScenePresence avatar. Also removed trailing white spaces.
|
| |
|
| |
|
| |
|
| |
|