Commit Graph

22157 Commits

Author SHA1 Message Date
Oren Hurvitz
0b5385ffce Added *.Tests.log to .gitignore 2015-08-11 11:55:51 +03: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
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