Commit Graph

9015 Commits (070cd35f00900079ce941f8f56cd92d25b026808)

Author SHA1 Message Date
Sean Dague bfc2d8c231 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch addresses mantis bug 2576.

 http://opensimulator.org/mantis/view.php?id=2576

Briefly, if you call llDie from many scripts at the same time (say a
build is cleaning up excess objects) then OpenSim deadlocks. Avatars
are unable to move, and whilst the console is active you can't do much
without it also locking up. This only occurs with the XEngine script
engine enabled.

I have attached a patch which works, but I'm not sure its the right way
to address the problem. The fundamental problem is that a lock on a
SceneObjectGroup's m_parts is taken when the object is deleted, a
callback to the script engine occurs and a fair way down the callchain,
potentially there are locks taken on several other SceneObjectGroup's
m_parts. Deadlock then occurs if you get unlucky enough
to get in the situation where with several llDie's are called and
SceneObjectGroups
have taken a lock on their own m_parts, and end up waiting on each
other's
locks to become available.

The patch adds a lock at a high level so that that the removal of script
instances
from an object only occurs once per scene at a time. This avoids the
potential
of deadlock. Theoretically there could be some performance hit but
AFAICT
the path taken is not a common occurrence.

Would welcome any suggestions for a better solution, otherwise feel free
to apply  :-)

Note this patch was built against the 0.6.0 freeze as trunk was
rather broken for me this morning (creating a script killed the client
connection).
2008-11-10 12:42:22 +00:00
Johan Berntsson 22b70495ab The region proxy for the load balancer module works again. The incoming proxy messages were not properly decoded. 2008-11-10 09:50:05 +00:00
Melanie Thielker 0d02f53f87 Prevent AO from crashing the sim if the user logs out before the script
stops
2008-11-10 05:42:02 +00:00
Melanie Thielker dd688e95e0 Add a MinTimerInterval, defaulted at 0.5s, to the scripting configuration 2008-11-10 05:33:36 +00:00
Melanie Thielker fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Melanie Thielker ce37b80c68 Thank you, idb, for a patch that fixes avatar height calculation
Our feet will now be above ground
2008-11-10 01:28:37 +00:00
Adam Frisby e0498e1638 * Fixed asset bug. 2008-11-09 23:05:08 +00:00
Melanie Thielker 298ab2f9cb Prevent updates about other people's HUD objects being sent 2008-11-09 22:52:00 +00:00
Charles Krinke 087d2f9147 Enabled SoftERP for the contact structure but not SoftCFM.
A tube on a pole is a bit less "flubbery" so maybe this is
the right direction.
2008-11-09 20:20:20 +00:00
Melanie Thielker 664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Melanie Thielker 6c27321949 Cause llGetInventoryType to return the asset type, which corresponds with
the LSL constants.
2008-11-09 19:10:33 +00:00
Charles Krinke c6ed72b4fa Clean up a few comments. 2008-11-09 18:43:46 +00:00
Charles Krinke 8ed4821c47 Clean up the mass < 0 logic a tiny bit when
calculating mass.
2008-11-09 18:22:36 +00:00
Adam Frisby df8b92cc1e * Applying EventQueueGetModule patch to try debug the case of the missing EQG. 2008-11-09 15:44:12 +00:00
Adam Frisby ad987a9633 * Added license file for previous commit. 2008-11-09 15:05:12 +00:00
Adam Frisby c43e466301 * Enabled GTCache for AssetCache
* Items will now be locally cached for only 24 hours from last access. (Rather than until restart)
* Caveat: Implementing the new caching mechanism means statistics gathering on AssetCache is no longer functional. (Justin - you might want to take a look and see if you can somehow get that back and running if you still need it)
2008-11-09 15:00:26 +00:00
Adam Frisby 448092332c * Adding GlynnTucker.Cache.dll, from http://gtcache.sourceforge.net/
* Licensed under MPL License.
* Adding to be used in the AssetCache, this cache allows you to do things like specify rules on when cache items should be removed (ie 24 hours since last access, etc).
* No code changed in this commit.
2008-11-09 14:14:20 +00:00
Tedd Hansen 853ba745b5 Refactoring: Moved component creation to "ComponentFactory" as dictated by convention 2008-11-09 10:30:46 +00:00
Jeff Ames 8da726c3a8 Update svn properties. Add copyright headers. Minor formatting cleanup. 2008-11-09 01:31:38 +00:00
Melanie Thielker bdf9add8d1 Reintroduce transactionID to the parameter list for SendInstantMessage.
It is required by group IM and also for a proper implementation of item
give, group notice attachments and offline IM.
2008-11-09 01:16:42 +00:00
Charles Krinke 62bc9c2e8e Mantis#2591. Thank you kindly, Ruud Lathrop for a patch that:
This patch is two script that fixes a issue when adding more 
then 1 avatar to estateban/estatemanager list. It removes a 
key and adds a index to the tables.
2008-11-09 00:53:54 +00:00
Charles Krinke 83d83ebbc4 Refactor the detectparams variable from 'd' to
a more meaningful name of 'detectedParams'.
2008-11-08 23:55:40 +00:00
Adam Frisby ddca72530d * Quick test for Dahlia, returns Packet Processing Loop to Infinite Loop. 2008-11-08 23:17:30 +00:00
Charles Krinke 41979f292b Mantis#2590. Thank you kindly, Diva for a patch that solves:
When the given address to CheckRegion is wrong, it crashes 
the whole server. Patch included.
2008-11-08 21:49:40 +00:00
Charles Krinke edb2344796 Mantis#2583. Thank you kindly, Idb for a patch that solves:
PRIM_TEMP_ON_REZ and PRIM_MATERIAL are not implemented in 
llSetPrimitiveParams so support for these is in the patch.
Also two deprecated functions throw errors. They are changed 
to behave as in SL: llSetPrimURL - Does nothing except the sleep 
(currently commented out) & llRefreshPrimURL shouts 
"llRefreshPrimURL - not yet supported" on the error channel
2008-11-08 21:25:26 +00:00
Homer Horwitz 5e4def3ee7 Mantis#2589: Thanks StrawberryFride, for a patch that fixes the build on VS2005. 2008-11-08 21:18:23 +00:00
Adam Frisby 7308f35a96 * Fixed issue where incorrect braces nesting resulted in a section of PacketQueue getting disabled.
* This means the recent memory fix should now be working correctly - so the current largest memory leak should be fixed. AssetCache still needs to be addressed however.
2008-11-08 21:08:01 +00:00
Adam Frisby fb2a1a6b7c * Fixed a major memory leak in packet processing - PacketQueue.Close is never called, causing the PacketQueue for dead clients to be preserved (including it's contents).
* This patch is highly experimental and may cause clients to not be able to connect, if this is the case, it will be rolled back in approximately 5 minutes.
2008-11-08 20:52:48 +00:00
Adam Frisby cbda728183 * "Fixed" a NRE with the new script engine Tedd committed
* Tedd will need to fix properly.
2008-11-08 20:31:47 +00:00
Homer Horwitz 344b725d3b Mantis#2598: Thanks Fly-Man- for a patch that fixes a client-thread crash by
allowing landFlags bit 31 to be used (Int32 -> UInt32).
2008-11-08 20:04:28 +00:00
Homer Horwitz 4da4941065 Mantis #2553: Thank you, idb, for a fix that helps to persist changes in prim attributes. 2008-11-08 19:55:33 +00:00
Adam Frisby f1aa849dff * Missed a file from previous checkin. 2008-11-08 19:37:08 +00:00
Adam Frisby 4e94989106 * Added IClientChat to IClientCore
* Updated LLClientView
* Removed defunct SendChatMessage(bytes[]...) method, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
2008-11-08 19:29:35 +00:00
Homer Horwitz 03e056646e - Try to fix build again... 2008-11-08 18:40:19 +00:00
Adam Frisby bec51a9580 * Ported InstantMessageModule to IClientCore
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#InstantMessageModule.cs
2008-11-08 18:07:33 +00:00
Tedd Hansen 73b85d2e84 CIA test 2008-11-08 18:02:07 +00:00
Adam Frisby 2205a86a8a * Fixed prebuild 2008-11-08 17:56:43 +00:00
Adam Frisby 5a5e132a96 * Implemented OnClientConnect in Scene EventManager
* Identical to OnNewClient except it passes IClientCore instead of IClientAPI
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
2008-11-08 17:46:10 +00:00
Tedd Hansen 9511a8c763 Work in progress on SECS stuff. Have been holding it off until after 0.6 release. Still messy as hell and doesn't really work yet. Will undergo dramatic changes. AND MOST IMPORTANTLY: Will be conformed to work in coop with todays DNE and XEngine, hopefully one day providing a common interface for all components. 2008-11-08 17:35:48 +00:00
Adam Frisby cf0a14bec9 * Added IClientIM to IClientCore interfaces
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting.
* Removed unused usings from Framework.*
2008-11-08 17:20:54 +00:00
Homer Horwitz 07cfa1e70b Fix broken build since r7179 2008-11-08 17:16:28 +00:00
Homer Horwitz 718425e7dc Added necessary locking to LandManagementModule. As it is used by several
threads concurrently, you'll get bad Heisenbugs without correct locking.
This might fix Mantis#2413
2008-11-08 17:00:42 +00:00
Homer Horwitz 38b99e998e Small bugfix for RemoveNeighbourRegion 2008-11-08 16:55:59 +00:00
Adam Frisby b0a90642de * Made ClientLoop non-infinite, ClientLoop will now disengage when the client has logged out.
* Cleaned up a section of LLClientView
* Removed unused 'using' from HTTPServer 
* Please test this patch.
2008-11-08 16:22:36 +00:00
Adam Frisby 6d5248441d * Implementing first of the 0.6 IClientAPI Changes
* Introducing IClientCore - this will be the key replacement for IClientAPI in the long run, it has a very minimal set of methods designed to allow you to access specialist API's.
* See https://lists.berlios.de/pipermail/opensim-dev/2008-September/003049.html for the early discussion on this.
2008-11-08 16:09:15 +00:00
Melanie Thielker 5c0fd512e8 Fix llParseString* to create LSLStrings. This makes llListFindList work
on lists created by parsing
2008-11-08 15:31:02 +00:00
Melanie Thielker e93828fe00 Add some discovery code, laying groundwork for region-crossing scripts
No user functionality yet
2008-11-08 14:35:52 +00:00
Charles Krinke 69afefa788 Change Version string from 0.5.11 to 0.6.0 for release. 2008-11-08 14:32:56 +00:00
Jeff Ames bbb8d6fc51 Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
Jeff Ames ab749af130 Fix .mdb include in Prebuild. 2008-11-08 13:55:11 +00:00