aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Some more debug to see how many threads are available.Diva Canto2013-07-131-0/+2
|
* That didn't fix the problem.Diva Canto2013-07-131-26/+34
| | | | | | Revert "Trying to reduce CPU usage on logins and TPs: trying radical elimination of all FireAndForgets throughout CompleteMovement. There were 4." This reverts commit 682537738008746f0aca22954902f3a4dfbdc95f.
* Trying to reduce CPU usage on logins and TPs: trying radical elimination of ↵Diva Canto2013-07-131-34/+26
| | | | all FireAndForgets throughout CompleteMovement. There were 4.
* This commit effectively reverses the previous one, but it's just to log that ↵Diva Canto2013-07-131-4/+4
| | | | | | we found the root of the rez delay: the priority scheme BestAvatarResponsiveness, which is currently the default, was the culprit. Changing it to FrontBack made the region rez be a lot more natural. BestAvatarResponsiveness introduces the region rez delay in cases where the region is full of avatars with lots of attachments, which is the case in CC load tests. In that case, the inworld prims are sent only after all avatar attachments are sent. Not recommended for regions with heavy avatar traffic!
* Same issue as previous commit.Diva Canto2013-07-131-3/+4
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2013-07-131-8/+12
|\
| * Reinsert PhysicsActor variable back into SOP.SubscribeForCollisionEvents() ↵Justin Clark-Casey (justincc)2013-07-131-8/+12
| | | | | | | | | | | | | | | | in order to avoid a race condition. A separate PhysicsActor variable is used in case some other thread removes the PhysicsActor whilst this code is executing. If this is now impossible please revert - just adding this now whilst I remember. Also makes method comment into proper method doc.
* | Moved SendInitialDataToMe to earlier in CompleteMovement. Moved ↵Diva Canto2013-07-131-5/+14
|/ | | | | | | | TriggerOnMakeRootAgent to the end of CompleteMovement. Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture. Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement. Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
* Centralize duplicated code in SceneObjectPart for subscribing toRobert Adams2013-07-111-54/+43
| | | | | collision events. Improve logic for knowing when to add processing routine to physics actor.
* minor: remove some regression test logging switches accidentally left ↵Justin Clark-Casey (justincc)2013-07-111-1/+1
| | | | uncommented.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2013-07-093-9/+4
|\
| * minor: remove mono compiler warnings related to keyframe codeJustin Clark-Casey (justincc)2013-07-082-8/+3
| |
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2013-07-081-0/+4
| |\
| * | Add "show caps stats by user" and "show caps stats by cap" console commands ↵Justin Clark-Casey (justincc)2013-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | to print various counts of capability invocation by user and by cap This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected. This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle() However, existing inheriting classes overriding Handle() will still work, albeit without stats recording. "show caps" becomes "show caps list" to disambiguate between show caps commands
* | | Put guards on a bunch of exception-inducing code, as seen in logs from load ↵Diva Canto2013-07-093-2/+11
| |/ |/| | | | | test.
* | Try to normalize the creatorData of scene object parts with the trailing ↵Diva Canto2013-07-061-0/+4
|/ | | | '/'. What a nightmare this '/' is!
* refactor: Make stats and sim status simpler by extending BaseStreamHandler ↵Justin Clark-Casey (justincc)2013-07-061-20/+6
| | | | like other handlers instead of implementing the IStreamedRequestHandler interface directly
* Add very basic regression test TestChildAgentSingleRegionCapabilities() ↵Justin Clark-Casey (justincc)2013-07-051-0/+88
| | | | which checks for addition and removal of capabilities on add/remove of child agent
* Throttle the viewer's requests for region handles. Apparently Kokua is ↵Diva Canto2013-07-041-18/+0
| | | | requesting this for all landmarks in inventory. Not sure why. But this seems to be the root cause of the login freeze mentioned before. This commit adds a blocking queue / process thread pattern.
* Debug the RegionHandle handler (same issue)Diva Canto2013-07-041-0/+1
|
* change "debug packet" command to "debug lludp packet" to conform with other ↵Justin Clark-Casey (justincc)2013-07-041-23/+0
| | | | | | | "debug lludp" options also moves the implementing code into LLUDPServer.cs along with other debug commands from OpenSim.cs gets all debug lludp commands to only activate for the set scene if not root
* Add materials store null check into UuidGatherer code.Justin Clark-Casey (justincc)2013-06-281-0/+4
|
* Reinsert code for gathering uuids reference by materials back directly into ↵Justin Clark-Casey (justincc)2013-06-282-30/+99
| | | | | | | UuidGatherer for now. This cannot be triggered as an event from Scene.EventManager since some invocations of UuidGatherer (e.g. IAR saving) use scene objects which are not in scenes. There needs to be some way for modules to register for events which are not connected with a particular scene.
* refactor: Move code for gathering textures referenced by materials into ↵Justin Clark-Casey (justincc)2013-06-272-67/+33
| | | | | | MaterialsDemoModule from UuidGatherer This code is now triggered via EventManager.OnGatherUuids which modules can subscribe to.
* Make the concept of namespaces explicit in dynamic attributesJustin Clark-Casey (justincc)2013-06-272-9/+11
| | | | | | | | This is in order to reduce the likelihood of naming clashes, make it easier to filter in/out attributes, ensure uniformity, etc. All dynattrs in the opensim distro itself or likely future ones should be in the "OpenSim" namespace. This does alter the underlying dynattrs data structure. All data in previous structures may not be available, though old structures should not cause errors. This is done without notice since this feature has been explicitly labelled as experimental, subject to change and has not been in a release. However, existing materials data is being preserved by moving it to the "Materials" store in the "OpenSim" namespace.
* Improve situation where editing just the root prim of an attachment causes ↵Justin Clark-Casey (justincc)2013-06-251-1/+10
| | | | | | | other prims to be set to very far off positions on reattach. Functionally the same as the patch by tglion in http://opensimulator.org/mantis/view.php?id=5334 However, not yet perfect - after editing just root prim on reattach the position is still wrong, though other prims are not set to far off positions.
* Tidy up SOG.UpdateRootPosition() to eliminate unnecessary copying of Vector3 ↵Justin Clark-Casey (justincc)2013-06-251-10/+4
| | | | structs
* Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2013-06-231-5/+5
|\
| * Fix other places when saving scripts or notecards in prim inventories where ↵Justin Clark-Casey (justincc)2013-06-181-5/+5
| | | | | | | | messages should be transient without an OK button
* | Fix prim locking to behave like SLMelanie2013-06-231-2/+2
|/
* * This fixes having to select and deselect prim to get keyframemotion to ↵teravus2013-06-121-0/+5
| | | | start running when pulled from data storage.
* Add TriggerScenePresenceUpdated events when an animation is addedRobert Adams2013-06-113-3/+9
| | | | | | or removed. Shouldn't impact anyone as only DSG seems to use OnScenePresenceUpdated event. Some minor format changes to AnimationSet's ToString().
* * Adds KeyFrameMotion storage support to SQLite, just a note, seems that ↵teravus2013-06-111-2/+3
| | | | | | | there's still something wrong with keyframed motion starting when the sim starts up, you have to 'select' and 'deselect' the prim again to get it to appear to move. Not sure what this is but maybe melanie_t can comment on this. * Has a prim table migration.. that might take a while, hold on to your hats. * Fixes a null-ref when shutting down while keyframed motion is active.
* Fix regression where multiple close agents could be sent to the wrong ↵Justin Clark-Casey (justincc)2013-06-071-1/+6
| | | | | | | | neighbour region on root agent close. This was introduced in git master d214e2d0 (Thu May 16 17:12:02 2013) Caught out by the fact that value types used in iterators act like references and this was dispatched asynchronously. Should address http://opensimulator.org/mantis/view.php?id=6658
* Fix keyframe motion copyrightMelanie2013-06-061-3/+26
|
* Hook up Keyframe motion to almost everything. Failing to cross a sim borderMelanie2013-06-065-0/+64
| | | | may yield unexpected results in some cases. No database persistence yet,
* Committing Avination's Keyframe module. This is not hooked up yet and will ↵Melanie2013-06-061-0/+766
| | | | do nothing. More commits to follow.
* Avoid a deadlock where a script can attempt to take a ↵Justin Clark-Casey (justincc)2013-06-051-11/+21
| | | | | | | | ScriptInstance.m_Scripts lock then a lock on SP.m_attachments whilst SP.MakeRootAgent() attempts to take in the opposite order. This is because scripts (at least on XEngine) start unsuspended - deceptively the ResumeScripts() calls in various places in the code are actually completely redundant (and useless). The solution chosen here is to use a copy of the SP attachments and not have the list locked whilst creating the scripts when an avatar enters the region. This looks to address http://opensimulator.org/mantis/view.php?id=6557
* Trigger OnScenePresenceUpdated when the avatar's animations change.Robert Adams2013-05-302-4/+21
|
* Add methods to Animation and AnimationSet for easier manipulation andRobert Adams2013-05-302-0/+136
| | | | | display of groups of animations (Equal(), ToString(), FromOSDArray(), ...). No functional change to animations.
* Add region heartbeat start event to complement heartbeat end event.Robert Adams2013-05-302-0/+25
| | | | This allows object modification before the usual heartbeat operation.
* If on a sit request we sit the avatar on a different prim in a linkset for ↵Justin Clark-Casey (justincc)2013-05-301-3/+3
| | | | | | | | | some reason (e.g. because it has a sit target), then send the actual sit prim UUID to the viewer rather than the requested one. This purports to fix the issue described in http://opensimulator.org/mantis/view.php?id=6653 where the camera can end up following the requested sit prim rather than the actual. The original spot was by Vegaslon, this commit just goes about it in a slightly different way This commit also makes m_requestedSitTargetUUID to be the actual UUID, which is consistent with m_requestedSitTargetID which was already doing this. However, this adjustment has no practical effect since we only currently need to know that there's any requested sit UUID at all, not which one it is.
* Try caching the user name for a new agent earlier on in the process of ↵Justin Clark-Casey (justincc)2013-05-291-3/+9
| | | | | | | | | | establishing a connection, to see if this helps with "Unknown UserUMMTGUN" issues. The UMMTGUN form of Unknown User seems to appear because a viewer sometimes sends a UUIDNameRequest UDP request that fails to find a binding. However, in theory the incoming agent should have made that binding before any such request is triggered. So moving this binding to an earlier point in the process to see if this makes a difference. Unknown user name is also updated to UserUMMTGUN2 - if you see the old name then you need to clear your viewer cache. This relates to http://opensimulator.org/mantis/view.php?id=6625
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2013-05-284-4/+22
|\
| * One more appearance change: drop sending the SendAppearance packetMic Bowman2013-05-241-1/+3
| | | | | | | | | | | | to avatar when it becomes root. This packet shows up in the viewer logs as an error and appears to cause problems for completing the texture rebake process for v1 viewers in some cases.
| * minor: Remove unnecessary duplication of AbsolutePosition Vector3 in SOG.Copy()Justin Clark-Casey (justincc)2013-05-241-1/+0
| | | | | | | | As a struct, Vector3 has already been cloned by MemberwiseClone()
| * Fix issue where llSetPayPrice on either one of a clone prim in the same ↵Justin Clark-Casey (justincc)2013-05-241-0/+2
| | | | | | | | | | | | | | OpenSimulator session would change the prices on both prims. This is because the PayPrice array refernence was being memberwise cloned and not the array itself. Addresses http://opensimulator.org/mantis/view.php?id=6639
| * Fix bug where a cloned object would report the wrong llGetNumberOfPrims() ↵Justin Clark-Casey (justincc)2013-05-231-0/+1
| | | | | | | | | | | | | | when avatars had been sitting on the original and a different avatar sat on the copy within the same opensim session. This was because the sitting avatars list was being cloned rather than reset. Addresses http://opensimulator.org/mantis/view.php?id=6649
| * Implement llSetSoundQueueing().Justin Clark-Casey (justincc)2013-05-222-2/+16
| | | | | | | | | | | | This is controlled by the viewer, not the server. So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing, only two sounds can be queued per prim. You probably need to use llPreloadSound() for best results
* | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2013-05-205-15/+11
|\ \ | |/