Commit Graph

19176 Commits (13b1c5dfcef6e6e74709da8d588ed48d99d560d2)

Author SHA1 Message Date
Diva Canto 4cbbbefbf6 Removed ignoreCase=true from the call to Type.GetInterface, because, well, we don't want to ignore case. And this seems to be causing problems in mono 4.3. 2015-08-15 16:08:14 -07:00
Melanie Thielker 2374c4a4c1 Adding the IAgentStatefulModule interface. It is used in addtion to
one of the existing module interfaces to denote a module that holds
agent specific state that should be transferred to other regions
2015-08-15 19:08:45 +02:00
Drake Arconis 4f3198da22 Only send the requested ObjectPropertiesFamily in the RequestObjectPropertiesFamily reply and not the actual ObjectProperties packet
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-15 01:57:25 +02:00
Drake Arconis a5967d918a Send a proper ownerid for Object messages to conform with what viewer expects
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-15 01:18:20 +02:00
Melanie Thielker e9067c133c Remove DOS line endings from LSL_API.cs 2015-08-13 01:34:18 +02:00
Diva Canto a22e6cb7f5 Whitespace borkness? 2015-08-12 09:13:45 -07:00
Drake Arconis f25c67ea1d Send correct uuids in the FromID and ID packet fields for llInstantMessage
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-12 09:08:01 -07:00
Oren Hurvitz 59da146e9d When the user stops a script, have it remain stopped
Previously the script state was never saved for a !Running script, so upon region restart the script would be Running again.

The use of the 'StayStopped' flag is needed because all scripts are automatically stopped when the region shuts down, but in that case we shouldn't save in their state that they're !Running.
2015-08-11 08:44:27 +01:00
Oren Hurvitz a568f06b7f When scripts are sleeping, don't count that as execution time
Sleeping doesn't use the CPU.
2015-08-11 08:44:27 +01:00
Oren Hurvitz d24528b3bc Show Script Time in the statistics panel
The value shown is the number of milliseconds per frame that were spent executing scripts in this region.
2015-08-11 08:44:26 +01:00
Oren Hurvitz 5679cd0100 Changed "Script Execution Time" to be the gross time, i.e. including handling it in XEngine
Previously the "Net Time" was reported: only the time actually spent in the script's code. This is not a correct indication of how much load the script places on the simulator, because scripts that change state often or have many events use up a lot of time just in the event handlers, and previously this time wasn't counted.
2015-08-11 08:42:31 +01:00
Oren Hurvitz a3bed1fbcb Report "Script Execution Time" as the time spent executing the script in the last 30 seconds. Use a sliding window to calculate this.
Notes:
- This metric provides a better indication of which scripts are taking up a lot of CPU (and therefore should be optimized).
- Previously the execution time was reset to 0 in every new measurement period, causing the reported time to fluctuate for no reason. This has been fixed by using a sliding window.
2015-08-11 08:42:26 +01:00
Oren Hurvitz 287096d826 Improved calculation of Script Execution TimeStarted
1. Use a Stopwatch (a high-resolution timer)
2. Whenever we start a new measurement period, zero out the total execution time (previously it just kept accumulating)
3. Changed the measurement period from 30 minutes to 30 seconds. This is much more useful in the "Top Scripts" dialog, as it shows currently active scripts
2015-08-11 07:35:41 +01:00
Oren Hurvitz 20af31f18e Fixed mistakes related to confusion between Environment.TickCount (milliseconds) and TimeSpan.TicksPerXXX (10000 x milliseconds) 2015-08-11 07:35:40 +01:00
Oren Hurvitz 4c6fb9fb64 Log scripts that have processed many events: this is probably an indication of a problem 2015-08-11 07:35:39 +01:00
Oren Hurvitz aadd5627fe Removed unused code that checked wait_timeout in MySQLEstateData 2015-08-11 07:35:39 +01:00
Oren Hurvitz 7457173fe4 Fixed calling "debug xengine log" without the 'level' parameter: this should show the current log level; not crash 2015-08-11 07:35:38 +01:00
Oren Hurvitz c8135834db Prevent a crash if "debug jobengine log" is entered without a log level 2015-08-11 07:35:37 +01:00
Oren Hurvitz 4ad1468165 Better handling of invalid XML: a) prevent infinite loop on EOF; b) better logging
If the XML was truncated for some reason then ExecuteReadProcessors() would get into an infinite loop, using high CPU. Now it detects EOF (and several other error cases) and aborts.

The rest of the changes just improve logging of XML in case of errors, so that we can see what the bad XML is.
2015-08-11 07:35:37 +01:00
Oren Hurvitz 373455a6fa Fixed mistakes in string format specifiers (e.g., "{0)" instead of {0}") 2015-08-11 06:16:23 +01:00
Robert Adams fe37cb9990 BulletSim: rearrange code and add different locking to eliminate chances
of race conditions and, especially, race conditions when an object is
removed and quickly re-added to a scene.

This hopefully reduces the occurance of problems when avatars TP within
a region -- the main problem being the loss of collisions.
2015-08-09 15:36:50 -07:00
Robert Adams fe86df0ec9 BulletSim: update the motion actors so they completely clean themselves
when Dispose() is called. This reduces chance of object leakage when
    destroying objects.
Rearrange initialization and shut down of BSActorLockAxis so it is
    consistant with other actors.
2015-08-09 15:34:06 -07:00
Kevin Cozens f3c883a26d Corrected spelling of SQLITE. Fixes mantis #7675. 2015-08-08 17:08:06 -04:00
Diva Canto d9a9f6f43b Convert the enum to int before casting it to string for DB query 2015-08-08 13:47:42 -07:00
Diva Canto 2c9ffc2a87 Fixed failing test 2015-08-08 12:56:52 -07:00
Diva Canto 959872315f WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Oren Hurvitz 2153a01cc7 Have osAvatarName2Key check the cache first, even for foreign users
Another change: removed the second call to userManager.AddUser(). UserManagementModule won't modify an existing record.
2015-08-07 11:34:52 +03:00
Cinder f218cbd29d max-agent-groups support
Robust now tells viewers what the maximum number of groups is. Viewers show this limit to the users, and enforce it.

The default is 42, which is what viewers had assumed was the maximum number before this update.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-08-07 07:42:26 +01:00
Robert Adams 5a1279af8a BulletSim: clean up some code for axis locking. No functional change. 2015-08-06 21:48:50 -07:00
Robert Adams f0417c5d50 BulletSim: rearrange code and add some tests to try and resolve the
initialization race conditions reported in Mantis 6792.

When a region is initializing it seems that the prim initialization code
can be interrupted part way through then taints are processed for
prims that are not completely there.
2015-08-06 19:57:32 -07:00
Christopher 86c426e587 create osGetAvatarHomeURI
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-04 18:09:13 +02:00
Christopher b5be5ca490 Make osAvatarName2Key() able to get names from unknown HG users
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-08-04 18:08:54 +02:00
Oren Hurvitz c4f8630968 In the AgentCircuitData of HG users, set the last name to include the port
E.g., instead of "first.last @grid.example.com", the name is now "first.last @grid.example.com:8002"
2015-08-03 16:25:45 +03:00
Oren Hurvitz dc098ef671 Merged the two "Version 2" migrations in PGSQL 2015-08-03 15:34:59 +03:00
Geir Nøklebye 818735ae2c PGSL Presence migration to correct a double version 2 migration that existed
The migration file had a version 2 migration defined twice and
therefore the LastSeen field most likely never was defined in the
presence file. This migration adds the field and migrates the table to
version 4.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-08-03 13:32:11 +01:00
Oren Hurvitz 5a59a6d445 Removed unused variable 2015-08-03 15:31:48 +03:00
Robert Adams fdb7a804fc Add an option to processes physics collisions using FireAndForget.
Off by default but set with [Startup]ShouldUseFireAndForgetForCollsions=true

There is a problem with physics colliions sometimes stopping. One suspicion
is that the long callback path from the physics engine into the script engine
is causing problems. Enabling this feature passes the collision into the
script engine on a separate thread and not the main simulation thread.
Tester can enable this and see if the collsions stay around. If they still
fail, this commit should be reverted and another solution looked for.
2015-08-02 22:31:53 -07:00
AliciaRaven ce62824b1f Add HGFSAssetService to the HypergridService to provide HG support for FSAssets. 2015-08-02 20:02:36 +01:00
Christopher bccf785665 osKey2Name returns now correct values for HG users who are not on the region.
Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-08-02 09:17:50 +01:00
Diva Canto c8cd2f18f5 Mantis #7657: similar fixes for FSAssets. 2015-08-01 20:27:04 -07:00
Diva Canto e5a1243abc Mantis #7657 and #7514. This should alleviate the problem of bad object assets being passed around via HG and archives. No guarantees that all the leaks have been found, but at least it detects and fixes these bad assets upon:
(1) storing and getting assets over HG -- assuming the core HG asset service is being used (not the case with OSGrid!)
(2) importing assets via OAR and IAR

Instantiation of bad assets now should also work, instead of producing an exception, but the bad assets themselves aren't being fixed in the DB. That should be done with a cleaning tool -- see Perl script in Mantis #7657.

Virus!
2015-08-01 18:58:05 -07:00
Diva Canto 32d87aa168 Mantis #7664: Added IHypergridLinker interface to establish a contract about what implementers need to provide publicly. This is used by 3rd-party addons such as Wifi. 2015-08-01 09:30:34 -07:00
Cinder 368ea78d14 Show last online status of group members from the PresenceService in group profiles
Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-07-31 17:19:13 +01:00
Oren Hurvitz 14b4d8bad7 Eliminated several warnings 2015-07-31 18:13:39 +03:00
Oren Hurvitz 149cb8dcbc XMLRPCModule now actually aborts the worker thread when requested 2015-07-31 18:13:23 +03:00
Geir Nøklebye 1de8c3570d PGSQL migrations for IM_Store, UserProfiles, removal of casting exception for UserProfiles and adding double precision to PGSQL Manager
PGSQL migrations for IM_Store, UserProfiles, removal of casting
exception for UserProfiles and adding double precision to PGSQL Manager.

Fixes the Offline IM to Email toggle and prepares for fixing Offline
IM.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-07-31 15:57:22 +01:00
Oren Hurvitz e979a7e7f0 Fixed bad log message
This fixes http://opensimulator.org/mantis/view.php?id=7661
2015-07-31 17:55:09 +03:00
Oren Hurvitz 8aa75f225b Fixed bug introduced in 4735514. The project didn't compile. 2015-07-26 14:09:17 +03:00
Geir Nøklebye a7fccbcf6f Update PGSQL groups handler to accept search queries from the viewer
Update PGSQL groups handler to accept search queries from the viewer.
Fixed malformed query strings.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-07-26 11:59:15 +01:00
Quill Littlefeather 4735514a88 Fixed not being charged to create classifeids on money enabled regions
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-07-26 02:31:31 +02:00
Oren Hurvitz 83da582261 Removed unused code related to DNS lookups 2015-07-23 14:50:50 +03:00
Melanie Thielker 7342192223 Add quotes aroung LandFlags as PGSQL seems to choke on the word when
it's bare.
2015-07-23 01:59:33 +02:00
Oren Hurvitz 43c8e2396e Added locking to HypergridLinker, to prevent problems if multiple linking requests for the same region are handled simultaneously 2015-07-22 20:39:30 +03:00
Oren Hurvitz 3a2d4c8b05 Added logging in places where regions are searched for by their location
This commit also fixes the log message "Region already exists in coordinates <{0},{1}>": it was actually showing the *requested* coordinates, instead of the coordinates of the previously-existing link.
2015-07-22 20:13:53 +03:00
Robert Adams 8cc7433d68 BulletSim: fix cut-and-paste typo in constraint frame setting.
This code is in the XNA module so it does not affect the normal
Bullet configuration .
2015-07-21 20:11:59 -07:00
AliciaRaven 297d31b1c2 Prevent two maptiles being generated at startup, one for v1 and another for v2-3 service. * v1 Service (WorldMapModule) is called directly by scene on startup. This patch moves the initial map registration of the v2-3 service (MapImageServiceModule) to that point so they can share the bitmap instead of doubling the work of Warp3D and exasperate its memory leak issues.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2015-07-21 15:11:47 -04:00
Melanie Thielker c7f6e248e8 Correcting errors in previous change: MySQL needs int unsigned, not
unsigned int. PGSQL has no unsigned types, changing to bigint.
2015-07-14 21:22:53 +02:00
Melanie Thielker 7b571a928c Mantis #7629: Change LandFlags column to unsigned. Thanks, Jim! 2015-07-14 21:16:25 +02:00
AliciaRaven 248c0e18de Prevent multiple instances of the FSAssets service causing problems. Protect against secondary instances registering duplicate console commands Also prevents multiple instances each starting a writer thread which will cause major file access exceptions as they fight over the contents of the spool directory.
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-07-13 19:04:33 +02:00
Oren Hurvitz e174dc87fb Fixed the whitespace in Scene.cs
The whitespace in this file was fubared recently
2015-07-13 12:37:18 +03:00
AliciaRaven f3f748ed11 Bringing FSAssets more inline with current OpenSim standards. * If no connection string found in assets config, fallback to using default database config * Create database storage interface to allow other db connectors to be written at some point * Add MySQL migrations file to create the initial db table * Added new config option named DaysBetweenAccessTimeUpdates to reduce db load by only updating access times when fetching assets if the last access time was over the threshold. This idea was taken from XAssets service. * Change log message headers to indicate FS assets is the source not just assets
Signed-off-by: Melanie Thielker <melanie@t-data.com>
2015-07-12 04:03:08 +02:00
Melanie Thielker c59144ff13 More cleanup, add missing refs to prebuild, remove refs to stuff not
used. Will NOT compile.
2015-07-11 19:27:19 +02:00
Melanie Thielker a343c07d12 Some cleanup, add prebuild project, correct path 2015-07-11 19:21:32 +02:00
Melanie Thielker 2672637202 Rename for uniformity, add data module 2015-07-11 19:10:39 +02:00
Melanie Thielker db62e1ac3c Add main FSAssetsService 2015-07-11 19:07:42 +02:00
Melanie Thielker 987e7e4f84 Applying Gavin Hird's patch to correct PGSQL group notices. Thatk you,
Gavin
2015-06-26 19:08:51 +02:00
Robert Adams d750647fb1 BulletSim: fix two compiler warnings.
Mostly code left over from things that are not done that way anymore.
2015-06-25 22:02:12 -07:00
Diva Canto 0e401238e7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2015-06-25 15:02:06 -07:00
Diva Canto c299414d50 Fixed bad-ish code in login patch 2015-06-25 15:01:43 -07:00
Quill Littlefeather 4131fbea0c Changes to Welcome Message sent to clients.
.gitignore                                        |  1 +
 OpenSim/Services/LLLoginService/LLLoginService.cs | 32 +++++++++++++++--------
 1 files changed, 22 insertions(+), 11 deletions(-)

Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-25 14:53:51 -07:00
dahlia 3aa9e786de Thanks Gavin Hird for a fix for Mantis 0007604: DeleteClassifiedRecord exception PGSQL 2015-06-24 04:08:34 -07:00
dahlia 2c5a3ff9f0 Thanks Gavin Hird for a fix for an exception when requesting an Estate Ban when using PGSQL. 2015-06-24 03:46:30 -07:00
Diva Canto b5ac0e1ab8 FetchInventoryDescendents2: Signal to the viewer that folder with UUID.Zero is a bad folder. Don't even go to the backend to ask for it, because that will likely kill the sim. Apparently Firestorm requests folder Zero quite often. 2015-06-23 14:24:55 -07:00
Cinder a91f32e2c7 Guard against null AgentPrefs service in llGetAgentLanguage()
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-21 08:41:37 -07:00
Cinder 7edaf1d851 Add MaxMaterialsPerTransaction to SimFeatures
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-19 08:44:34 -07:00
AliciaRaven c37315da87 Warp3DImageModule. Reduce workload by not calling to render the root prim twice. When loading prims to draw the map, the Warp3D system first calls to load the root prim, followed by all the prims in the SOG. The initial call to load the root prim is not required because it is also in the parts list. The result of this was that all root prims were being loaded twice.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-19 06:56:19 -07:00
Diva Canto 017d2cf417 Bug fix in inventory fetching: sometimes the caps request comes before there is a scene presence, and that's ok. 2015-06-17 15:55:07 -07:00
Diva Canto 4a516fa156 Removed the pgsql table for AgentPrefs, because it is not working. For now the Agent Preferences feature will not work with PGSQL installations -- someone who uses PGSQL needs to send a table that works. 2015-06-14 14:49:20 -07:00
Diva Canto be68f4852c Mantis #7610. Changed AgentPrefs table in PGSQL to use uuid instead of varchar(36), to be consistent with the otehr pgsql tables. Since the first commit on this was yesterday, there's no migration; instead, the version starts at 2. If anyone created the table yesterday, it will be dropped and recreated.
WARNING: untested. (I don't use pg)
2015-06-14 09:30:55 -07:00
Diva Canto f27ce66877 Squooshed a warning that could result in a runtime null pointer exception. It says that code is for debugging, but it was buggy. 2015-06-14 08:18:21 -07:00
Diva Canto 03f142730c Squoosh one more warning 2015-06-14 08:14:09 -07:00
Diva Canto 496f35b4e8 Removing the Store methods in the DB layer of AgentPreferences, as they were simply calling the base ones. 2015-06-14 08:04:25 -07:00
Cinder 3853904b80 Quell three new warnings I introduced with AgentPrefsData, return an empty llsd map instead of an empty llsd block when no AgentPrefs service is available to try and appease Firestorm
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-14 07:59:25 -07:00
Roger Kirkman 54c1659934 AgentPreferences SQLLite Migration update Mantis #7157
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 22:10:51 -07:00
Cinder 7635138c59 SQLite and PGSQL adapters for AgentPreferences
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 14:53:17 -07:00
Diva Canto 75baf6ce01 Added ':' to debug messages 2015-06-13 14:34:28 -07:00
Cinder d6dc782d75 Add optional GodNames region module
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 14:31:49 -07:00
Cinder 044654b5a9 Guard against scenes without an agent prefs service and a copy and paste fix
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 13:37:08 -07:00
Diva Canto 7f1a73cbda Fixed indentation 2015-06-13 10:27:48 -07:00
Diva Canto bcb8a7d7f9 A few bug fixes for Agent Preferences to actually work. Also added missing config for standalone. 2015-06-13 08:36:06 -07:00
Cinder 0fa94f222d Refactor AgentPreferences so that database operations happen centrally. the opensim way.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Cinder c1ddb7f05e Relicense AgentPreferences files to BSD and OpenSimulator
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:26 -07:00
Cinder 6f71d5c2c6 Support for Linden AgentPreferences capability and friends (UpdateAgentLanguage and UpdateAgentInformation) and Mantis #7157
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:01 -07:00
dahlia 58972f65ac SceneObjectPart.UpdateLookAt() now uses corrected libomv quaternion functions. 2015-06-10 01:26:38 -07:00
Diva Canto a83d2247d4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2015-06-09 13:22:24 -07:00
Diva Canto b931f393a8 Avoid registering console commands in every single instance of GridUserService running on the same process. Only one registers them now. 2015-06-09 13:21:41 -07:00
Robert Adams 81ef7b586e Address Mantis 7592 (http://opensimulator.org/mantis/view.php?id=7592) by
disabling terrain patch sending by view distance for legacy sized regions.

The problem seems to be that people expect adjacent legacy sized regions
to just display like they always have. Limiting displayed terrain is
complicated by the camera position not being updated in child regions.
2015-06-06 07:09:20 -07:00
H-H-H 0c5facbd75 Typo Fix
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-05 16:48:16 -07:00
Diva Canto c4efeb0f7c Upgraded the Simian inventory connector with an item cache, too, so that it doesn't get awfully out of sync with the improvements I'm making to the robust service connectors, which are being fully leveraged by the simulator. This Simian connector needs more love... 2015-06-05 11:46:13 -07:00
Diva Canto 96f0c6f074 More on mantis #7567. Two things:
- Increase the inventory cache timeout to 20 secs, so that the items will still be there when they are needed by the sim for rezzing
- Before rezzing attachs, make a call to GetMultipleItems so to fetch them all at the same time
2015-06-05 10:07:50 -07:00