aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-07-14Let's go easy on authenticating ChildAgentUpdates, otherwise this will be ↵Diva Canto1-7/+5
chaotic while ppl are using different versions of opensim. Warning only, but no enforcement.
2013-07-14Fix broken tests -- the test setup was wrong... sigh.Diva Canto1-0/+1
2013-07-14Authenticate ChildAgentUpdate too.Diva Canto2-16/+29
2013-07-14Change the auth token to be the user's sessionid.Diva Canto2-3/+3
2013-07-13And this fixes the other failing tests. Justin, the thread pool is not being ↵Diva Canto1-2/+0
initialized in the tests!
2013-07-13This should fix the failing test.Diva Canto1-2/+1
2013-07-13Deleted a line too manyDiva Canto1-0/+3
2013-07-13Guard against unauthorized agent deletes.Diva Canto3-10/+30
2013-07-13Some more debug to see how many threads are available.Diva Canto1-0/+2
2013-07-13That didn't fix the problem.Diva Canto1-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.
2013-07-13Trying to reduce CPU usage on logins and TPs: trying radical elimination of ↵Diva Canto1-34/+26
all FireAndForgets throughout CompleteMovement. There were 4.
2013-07-13This commit effectively reverses the previous one, but it's just to log that ↵Diva Canto1-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!
2013-07-13Same issue as previous commit.Diva Canto1-3/+4
2013-07-13Moved SendInitialDataToMe to earlier in CompleteMovement. Moved ↵Diva Canto1-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.
2013-07-13Reinsert PhysicsActor variable back into SOP.SubscribeForCollisionEvents() ↵Justin Clark-Casey (justincc)1-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.
2013-07-11Centralize duplicated code in SceneObjectPart for subscribing toRobert Adams1-54/+43
collision events. Improve logic for knowing when to add processing routine to physics actor.
2013-07-11minor: remove some regression test logging switches accidentally left ↵Justin Clark-Casey (justincc)1-1/+1
uncommented.
2013-07-09Put guards on a bunch of exception-inducing code, as seen in logs from load ↵Diva Canto3-2/+11
test.
2013-07-08minor: remove mono compiler warnings related to keyframe codeJustin Clark-Casey (justincc)2-8/+3
2013-07-08Add "show caps stats by user" and "show caps stats by cap" console commands ↵Justin Clark-Casey (justincc)1-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
2013-07-06Try to normalize the creatorData of scene object parts with the trailing ↵Diva Canto1-0/+4
'/'. What a nightmare this '/' is!
2013-07-06refactor: Make stats and sim status simpler by extending BaseStreamHandler ↵Justin Clark-Casey (justincc)1-20/+6
like other handlers instead of implementing the IStreamedRequestHandler interface directly
2013-07-05Add very basic regression test TestChildAgentSingleRegionCapabilities() ↵Justin Clark-Casey (justincc)1-0/+88
which checks for addition and removal of capabilities on add/remove of child agent
2013-07-04Throttle the viewer's requests for region handles. Apparently Kokua is ↵Diva Canto1-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.
2013-07-04Debug the RegionHandle handler (same issue)Diva Canto1-0/+1
2013-07-04change "debug packet" command to "debug lludp packet" to conform with other ↵Justin Clark-Casey (justincc)1-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
2013-06-28Add materials store null check into UuidGatherer code.Justin Clark-Casey (justincc)1-0/+4
2013-06-28Reinsert code for gathering uuids reference by materials back directly into ↵Justin Clark-Casey (justincc)2-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.
2013-06-27refactor: Move code for gathering textures referenced by materials into ↵Justin Clark-Casey (justincc)2-67/+33
MaterialsDemoModule from UuidGatherer This code is now triggered via EventManager.OnGatherUuids which modules can subscribe to.
2013-06-27Make the concept of namespaces explicit in dynamic attributesJustin Clark-Casey (justincc)2-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.
2013-06-25Improve situation where editing just the root prim of an attachment causes ↵Justin Clark-Casey (justincc)1-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.
2013-06-25Tidy up SOG.UpdateRootPosition() to eliminate unnecessary copying of Vector3 ↵Justin Clark-Casey (justincc)1-10/+4
structs
2013-06-23Fix prim locking to behave like SLMelanie1-2/+2
2013-06-18Fix other places when saving scripts or notecards in prim inventories where ↵Justin Clark-Casey (justincc)1-5/+5
messages should be transient without an OK button
2013-06-12* This fixes having to select and deselect prim to get keyframemotion to ↵teravus1-0/+5
start running when pulled from data storage.
2013-06-11Add TriggerScenePresenceUpdated events when an animation is addedRobert Adams3-3/+9
or removed. Shouldn't impact anyone as only DSG seems to use OnScenePresenceUpdated event. Some minor format changes to AnimationSet's ToString().
2013-06-11* Adds KeyFrameMotion storage support to SQLite, just a note, seems that ↵teravus1-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.
2013-06-07Fix regression where multiple close agents could be sent to the wrong ↵Justin Clark-Casey (justincc)1-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
2013-06-06Fix keyframe motion copyrightMelanie1-3/+26
2013-06-06Hook up Keyframe motion to almost everything. Failing to cross a sim borderMelanie5-0/+64
may yield unexpected results in some cases. No database persistence yet,
2013-06-06Committing Avination's Keyframe module. This is not hooked up yet and will ↵Melanie1-0/+766
do nothing. More commits to follow.
2013-06-05Avoid a deadlock where a script can attempt to take a ↵Justin Clark-Casey (justincc)1-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
2013-05-30Trigger OnScenePresenceUpdated when the avatar's animations change.Robert Adams2-4/+21
2013-05-30Add methods to Animation and AnimationSet for easier manipulation andRobert Adams2-0/+136
display of groups of animations (Equal(), ToString(), FromOSDArray(), ...). No functional change to animations.
2013-05-30Add region heartbeat start event to complement heartbeat end event.Robert Adams2-0/+25
This allows object modification before the usual heartbeat operation.
2013-05-30If on a sit request we sit the avatar on a different prim in a linkset for ↵Justin Clark-Casey (justincc)1-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.
2013-05-29Try caching the user name for a new agent earlier on in the process of ↵Justin Clark-Casey (justincc)1-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
2013-05-24One more appearance change: drop sending the SendAppearance packetMic Bowman1-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.
2013-05-24minor: Remove unnecessary duplication of AbsolutePosition Vector3 in SOG.Copy()Justin Clark-Casey (justincc)1-1/+0
As a struct, Vector3 has already been cloned by MemberwiseClone()
2013-05-24Fix issue where llSetPayPrice on either one of a clone prim in the same ↵Justin Clark-Casey (justincc)1-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