Commit Graph

27972 Commits (acebfeb5c96c3f11a514541069d3d7d81697b500)

Author SHA1 Message Date
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
AliciaRaven 971d57644f Fix a typo in my previous changes to robust.ini example files with regards to the FSAssets config. 2015-07-30 18:58:44 +01: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
Melanie Thielker 965f94e30f Add LogFile option in OpenSimDefaults.ini. It was omitted accidentally 2015-07-26 04:54:46 +02: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
Oren Hurvitz b94df58891 Git-ignore log files and console history files 2015-07-23 11:47:09 +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
AliciaRaven 3e90d28d33 Robust config loader does not support config includes. Replace these additions for FSAssets with direct options in robust.ini example files instead.
As suggested by Orenh in mantis 7644, in the future it would be beneficial and less confusing to use only 1 of the 3 current config loaders.

Signed-off-by: Oren Hurvitz <orenh@kitely.com>
2015-07-22 18:28:33 +01:00