John Hurliman
6492640e72
* Change the OnQueueEmpty signature to send the flags of the queues that are empty instead of firing once per empty queue
...
* Change the OnQueueEmpty firing to use a minimum time until next fire instead of a sleep
* Set OutgoingPacket.TickCount = 0 earlier to avoid extra resends when things are running slowly (inside a profiler, for example)
2009-10-21 18:03:41 -07:00
Melanie
9ec55df988
Mark new version
2009-10-22 01:51:27 +01:00
John Hurliman
4e04f6b3a5
* Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and upped it to 30ms
...
* Removed the unused PacketSent() function
* Switched UnackedPacketCollection from a SortedDictionary to a Dictionary now that the sorting is no longer needed. Big performance improvement for ResendUnacked()
2009-10-21 17:02:55 -07:00
John Hurliman
2b39ff0a39
Merged master into prioritization
2009-10-21 16:24:17 -07:00
John Hurliman
b06f258319
* FireQueueEmpty now checks if a measurable amount of time has passed, and if not it sleeps for a small amount of time. This throttles OnQueueEmpty calls where there is no callback or the callback is doing very little work
...
* Changed HandleQueueEmpty()'s Monitor.TryEnter() calls to locks. We want to take our time in this function and do all the work necessary, since returning too fast will induce a sleep anyways
2009-10-21 16:21:08 -07:00
John Hurliman
2752a3525c
* Changed the timing calculations for sending resends/acks/pings from per-client back to per-scene
...
* Testing a fix from Jim to make the cpu usage fix cleaner
2009-10-21 15:22:23 -07:00
John Hurliman
62f1bfd136
Testing out a hack to identify the source of the high cpu usage
2009-10-21 14:25:22 -07:00
John Hurliman
bb4da417ad
Removing the Sleep(0) call from the OutgoingPacketHandler
2009-10-21 14:03:49 -07:00
John Hurliman
7ee422a344
* Handle UseCircuitCode packets asynchronously. Adding an agent to a scene can take several seconds, and was blocking up packet handling in the meantime
...
* Clamp retransmission timeout values between three and 10 seconds
* Log outgoing time for a packet right after it is sent instead of well before
* Loop through the entire UnackedPacketCollection when looking for expired packets
2009-10-21 13:47:16 -07:00
Melanie
d88bb83136
Fix llParticleSystem to accept LSL variables and LSL constants in place
...
of the named constants for the rule selector.
Information provided by Snowcrash
2009-10-21 20:47:24 +01:00
John Hurliman
9178537e94
* Replaced the UnackedPacketCollection with a lockless implementation. The tiny amount of time spent in the locks turned into a lot of time when the rest of the LLUDP implementation went lockless
...
* Changed the timer tracking numbers for each client to not have "memory". It will no longer queue up calls to functions like ResendUnacked
* Reverted Jim's WaitHandle code. Although it was technically more correct, it exhibited the exact same behavior as the old code but spent more cycles. The 20ms has been replaced with the minimum amount of time before a token bucket could receive a drip, and an else { sleep(0); } was added to make sure the outgoing packet handler always yields at least a minimum amount
2009-10-21 11:59:48 -07:00
Melanie
8dd15fd5a5
Patch by mcortez: Remove lock from scene presence updating in groups module
2009-10-21 18:45:37 +01:00
John Hurliman
c0c845aea4
Fixed the way OnQueueEmpty is called to prevent simultaneous calls for the same category
2009-10-21 01:07:40 -07:00
John Hurliman
cde47c2b3d
Committing Jim's optimization to replace the 20ms sleep in outgoing packet handling with an interruptible wait handle
2009-10-21 00:18:35 -07:00
Melanie
93b24b5207
Fix web map retrieval for regions configured via .ini
2009-10-21 03:44:40 +01:00
Melanie
2a886fd76c
Really make module port selection work. Implement port setting in
...
LLProxyLoginModule.
2009-10-21 02:19:45 +01:00
John Hurliman
45dc4e0a54
* Added a sanity check to GetScriptAssemblies() and GetScriptStates() for the case where no scripting engine is enabled
...
* Added TokenBucket.cs to OpenSim, with some fixes for setting a more accurate MaxBurst value and getting a more accurate Content value (by Drip()ing each get)
2009-10-20 18:19:17 -07:00
John Hurliman
1833c69568
* Removed the unused m_agentUpdates collection and some extra work that was being done for AgentUpdate packets
...
* Start LLUDPClients unpaused (this variable is not being used yet)
2009-10-20 15:19:19 -07:00
John Hurliman
d38f33736c
* Removed the throttle speed optimizations to see if it brings stability back
...
* Changed the outgoing packet handler to use a real function instead of a closure and to track time on a per-client basis instead of a global basis
2009-10-20 14:41:20 -07:00
John Hurliman
d1ab11dc2a
Added try/catches in the outgoing packet handler to match the one in the incoming packet handler
2009-10-20 12:43:09 -07:00
John Hurliman
99abe885c8
Fixing position/rotation/collisionplane in ObjectUpdate packets for avatars
2009-10-20 12:30:34 -07:00
John Hurliman
edd393ff30
Reverting the deletion of files related to texture sending until we figure out exactly what is and isn't needed
2009-10-20 11:58:23 -07:00
Melanie
f568982e69
Cleanup and comment the region module loader. Add support for configuring
...
a server port to use for modules in a generic way and also add support
for disabling modules that don't support proper disabling.
Add support for selective loading by class name (advanced users only)
2009-10-20 19:38:35 +01:00
John Hurliman
8151190a45
* Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
...
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
John Hurliman
9a5e7222ce
* Removing cruft left over from the conversion to the new texture sending and UDP code
...
* Changing the cache modules to only initialize the caches if they are actually enabled. Should save a bit of resources from unused cache systems
2009-10-20 10:33:23 -07:00
Melanie
9bc303d293
Add MainServer.GetHttpServer(port) method for using multiple listener
...
ports in region modules
2009-10-20 16:57:22 +01:00
Melanie
26863c04a5
Change "config save" to "config save <filename>", which is mandatory.
...
File name is enforced to NOT be OpenSim.ini
2009-10-20 14:02:11 +01:00
Snowcrash
182693628c
Fix for index error in llList2String
2009-10-20 02:09:24 -07:00
John Hurliman
0a6ea33ac8
* Optimized sending of terrain data
...
* Send terrain data in a spiral pattern instead of a typewriter pattern (placeholder until terrain data becomes part of the interest list management)
* Added a debug line when resent packets are being sent
2009-10-19 18:50:31 -07:00
John Hurliman
fdce1be3db
* Removed OpenSim.Data.NHibernate
...
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
John Hurliman
72078195c2
Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-19 15:20:38 -07:00
John Hurliman
bd03cbd815
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-19 15:19:37 -07:00
John Hurliman
142008121e
* Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference
...
* Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost
* Reordered some comparisons on hot code paths for a minor speed boost
* Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow)
* Don't fire the queue empty callback for the Resend category
* Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down
* Rewrote some expensive math in LandObject.cs
* Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible
* Only update the attachment database when an object is attached or detached
* Other small misc. performance improvements
2009-10-19 15:19:09 -07:00
Diva Canto
590d91e572
Forgot {} on last commit.
2009-10-19 15:03:55 -07:00
Diva Canto
2dd8a6beac
More instrumentation in physics.
2009-10-19 14:48:17 -07:00
Melanie
ffd59868f5
Merge branch 'master' into vehicles
2009-10-19 21:58:51 +01:00
Jeff Ames
0a259caeef
Minor formatting cleanup.
2009-10-19 15:48:07 +09:00
John Hurliman
6d04a213d6
Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-18 20:25:16 -07:00
John Hurliman
233e16b99c
* Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
...
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
Jeff Ames
0d29614ca1
Formatting cleanup.
2009-10-19 08:58:03 +09:00
Diva Canto
baed19d068
A bit of instrumentation to figure out what's going on with physics actors.
2009-10-18 16:48:44 -07:00
John Hurliman
1dbbf6edb6
* Process the avatar terse update priority queue as soon as an update for our own avatar is ready to send
...
* Reduce the scope of the locks when processing the update queues
* Reuse the ImprovedTerseObjectUpdate.RegionData block
2009-10-18 03:15:36 -07:00
John Hurliman
2f2eeb6731
Zero out PrimitiveBaseShape.SculptData after the JPEG2000 data has been decoded to allow garbage collection on it
2009-10-18 02:53:36 -07:00
John Hurliman
b4526a5a6d
* Big performance increase in loading prims from the region database with MySQL
...
* Handle the AgentFOV packet
* Bypass queuing and throttles for ping checks to make ping times more closely match network latency
* Only track reliable bytes in LLUDPCLient.BytesSinceLastACK
2009-10-18 02:00:42 -07:00
John Hurliman
a3f93cffb4
* Committing Nini.dll with the patch from #3773 applied
...
* Fixing a log message typo
2009-10-17 22:06:36 -07:00
John Hurliman
fdb2a75ad3
Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates
2009-10-17 18:01:22 -07:00
John Hurliman
e28ac42486
Wrapped the contents of the IncomingPacketHandler loop in a try/catch statement
2009-10-17 17:19:18 -07:00
John Hurliman
3a63de8d02
Added a description for RegionType
2009-10-17 15:55:30 -07:00
Melanie
66923983a7
Add support for display of the script compilation errors in the script editor's
...
debug pane. This will still use DEBUG_CHANNEL currently, since it is not
fully implemented. This also removes the "Compiled successfully" message
that pops up in the viewer.
2009-10-17 22:36:44 +01:00
Melanie
cdcbd22ba8
Merge branch 'master' into prioritization
2009-10-17 14:51:17 +01:00
Melanie
c7da13eb23
Adds SendAvatarInterestsUpdate to IClientAPI
...
Thank you, Fly-Man
2009-10-17 14:50:21 +01:00
Melanie
e5ccd3f793
Merge branch 'master' into prioritization
2009-10-17 14:34:48 +01:00
Melanie
a95741cdd6
Re-rename ProductName back to it's original RegionType
2009-10-17 14:33:46 +01:00
Melanie
077f473167
Merge branch 'master' into prioritization
2009-10-17 13:41:32 +01:00
Melanie
72b96bcd84
Add ProductName to RegionInfo (for search)
2009-10-17 13:36:45 +01:00
John Hurliman
9c21d672d4
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 18:32:12 -07:00
Teravus Ovares (Dan Olivares)
01051daaab
* One more tweak to inform the user that they may not be able to move until relogging.
2009-10-16 21:24:08 -04:00
Teravus Ovares (Dan Olivares)
d49424c421
* After seeing it repeat over and over again.. again, We won't inform the scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon.
2009-10-16 21:20:55 -04:00
John Hurliman
c81378dc22
Changing avatar movement updates to the Task throttle category until we get finer grained prioritization of avatars vs. prims
2009-10-16 17:33:41 -07:00
John Hurliman
7d6d94a7b5
More debugging of RegionCombinerModule.RegionLoaded() by making RegionLoaded() a two line function
2009-10-16 16:49:13 -07:00
John Hurliman
f3f93228e0
Changing the region module loading foreach loops to typecast things to the IRegionModuleBase interface where AddRegion(), RegionLoaded(), etc. actually exist. Shot in the dark at fixing the Mono issue
2009-10-16 15:50:22 -07:00
John Hurliman
c04ffe5c94
Reverting the previous ugly hack and replacing it with try/catch statements for each RegionLoaded() call. This probably won't fix nebadon's crash, but it seems like a good idea
2009-10-16 15:44:20 -07:00
John Hurliman
c3712a56f5
A very ugly and temporary hack to disable the RegionCombinerModule RegionLoaded from firing for testing
2009-10-16 15:34:27 -07:00
John Hurliman
c21f19741d
Adding noisy debug for nebadon
2009-10-16 15:17:37 -07:00
John Hurliman
80a8a9c4a7
Converted FireAndForget methods to use a singleton pattern to attempt to work around a Mono bug with nested delegates
2009-10-16 14:34:42 -07:00
John Hurliman
31dfe87570
Prevent oversized packets from crashing the LLUDP server. It will now print a friendly error message and drop the packet
2009-10-16 14:26:58 -07:00
John Hurliman
1bd9202f24
* Simplified the prioritization packet creation code to reduce CPU usage and increase throughput. Apologies to Jim for hacking on your code while it's only halfway done, I'll take responsibility for the manual merge
...
* Changed LLUDP to use its own MTU value of 1400 instead of the 1200 value pulled from the currently shipped libomv
2009-10-16 14:17:13 -07:00
John Hurliman
b813058635
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 13:29:12 -07:00
Teravus Ovares (Dan Olivares)
f5964347bd
* fix previous commit
2009-10-16 16:25:48 -04:00
John Hurliman
e776dfb1d7
* Changing the "clean dropped attachments" MySQL command to a using statement inside a try/catch. This statement times out for me very frequently
...
* More verbose logging when zerocoding fails on an outbound packet
2009-10-16 13:22:45 -07:00
Teravus Ovares (Dan Olivares)
ac31cb89d5
* Ensure that at least 20 frames run before letting avatar in.
2009-10-16 16:22:10 -04:00
John Hurliman
eee1318597
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 12:42:53 -07:00
John Hurliman
a18489dc9b
* Change appearance packets from State to Task. This will hopefully fix the cloud issues
...
* Changed the throttling logic to obey the requested client bandwidth limit but also share bandwidth between some of the categories to improve throughput on high prim or heavily trafficked regions
2009-10-16 12:20:01 -07:00
Teravus Ovares (Dan Olivares)
0079d0a7c4
* One more attempt at the NullRef In The OdePlugin. This might fix it, but it will definitely get us closer to the root cause.
2009-10-16 14:30:55 -04:00
John Hurliman
5a4fda9dc3
Updating OpenSim.ini.example with the section required to enable a useful prioritization scheme
2009-10-16 11:09:18 -07:00
John Hurliman
06354a093d
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 10:09:19 -07:00
Melanie
5de657cf5d
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-16 13:29:07 +01:00
Melanie
0487092d15
Thank you, Fly man, for plumbing the AvatarInterestsUpdate packet
2009-10-16 13:28:40 +01:00
Teravus Ovares (Dan Olivares)
67afa9e633
* Make sure to unregister the OutOfBounds Physics event in RemoveFromPhysicalScene or we'll be leaking
2009-10-16 03:52:57 -04:00
Teravus Ovares (Dan Olivares)
1f28c6208b
* Added a message for when the null reference exception occurs to make debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring.
2009-10-16 03:40:44 -04:00
Teravus Ovares (Dan Olivares)
ac2f98b846
* A hacky attempt at resolving mantis #4260 . I think ODE was unable to allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now.
...
* The broken avatar may not be able to move, but it won't stop simulate from pressing on now. And, the simulator will try to destroy the avatar's physics proxy and recreate it again... but if this is what I think it is, it may not help.
2009-10-16 03:32:30 -04:00
John Hurliman
4b75353cbf
Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
2009-10-15 16:35:27 -07:00
jjgreens
df2d5a460f
Replaced the update lists with a priority queue implementation in LLClientView
...
Replaced the update lists with a priority queue implementation in LLClientView.
The priority queues are based on the MinHeap implementation also included in
this commit within the OpneSim.Framework namespace. Initially setup to exactly
mimic the behavior beofre the change which was a first come first serve queue.
2009-10-15 15:52:53 -07:00
John Hurliman
d44b50ee46
* Removed some of the redundant broadcast functions in Scene and SceneGraph so it is clear who/what the broadcast is going to each time
...
* Removed two redundant parameters from SceneObjectPart
* Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs)
* Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-15 15:25:02 -07:00
Melanie
642084c2a9
Merge branch 'master' into vehicles
2009-10-15 21:16:05 +01:00
Melanie
6deef7d0f3
Merge branch 'master' into vehicles
2009-10-15 21:14:13 +01:00
Teravus Ovares (Dan Olivares)
6d3d985511
* Request from lkalif to have the Sim send a coarselocationupdate for each avatar in the sim, including yourself.
...
* Apparently the LLClientView should have been doing this previously.. Also fixed the 'You' on the index block.. so the client doesn't display an extra green dot.
* Thanks lkalif for bringing it to our attention.
2009-10-15 02:01:29 -04:00
John Hurliman
b1c93cd3b1
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-14 19:24:09 -07:00
John Hurliman
4790f8576c
* Replaced (possibly broken?) math for calculating the unix timestamp in MySQLAssetData with Utils.DateTimeToUnixTime()
...
* Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode
* Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login
2009-10-14 19:23:44 -07:00
Diva Canto
cd321ec4d2
Moved some code up to AddRegion, so that other modules that depend on it don't crash. This code needs to be removed as soon as user services is refactored.
2009-10-14 19:15:11 -07:00
John Hurliman
fe4109a5b0
Merge branch 'htb-throttle' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-14 16:48:42 -07:00
John Hurliman
06990b074c
Allow the LLUDP server to run in either synchronous or asynchronous mode with a config setting, defaulting to synchronous mode
2009-10-14 16:48:27 -07:00
John Hurliman
82012ec4e3
* Clean up the SetThrottle() code and add a maxBurstRate parameter to allow more tweaking in the future
2009-10-14 16:21:48 -07:00
Melanie
6bdd6ae0a0
Merge branch 'master' into htb-throttle
2009-10-14 23:31:38 +01:00
John Hurliman
1e9e9df0b3
* Switched to a plain lock for the ClientManager collections and protected the TryGetValues with try/catch instead of a lock
...
* Added ClientManager.ForEachSync() for operations that need to run synchronously, such as "show connections"
2009-10-14 14:25:58 -07:00
John Hurliman
25878d6828
* Added the "show connections" command to print out all of the currently tracked IClientAPIs
2009-10-14 13:00:42 -07:00
John Hurliman
c033477d2f
* Read scene_throttle_bps from the config file and use it
...
* Minor formatting cleanup
2009-10-14 11:52:48 -07:00
Justin Clark-Casey (justincc)
c58713a3a5
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-10-14 19:44:19 +01:00
John Hurliman
4b5a2f8c02
Merge branch 'htb-throttle' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-14 11:44:17 -07:00
Justin Clark-Casey (justincc)
0cb0a28fde
* minor: remove some mono compiler warnings
2009-10-14 19:43:56 +01:00
John Hurliman
0d2e6463d7
* Minimized the number of times textures are pulled off the priority queue
...
* OnQueueEmpty is still called async, but will not be called for a given category if the previous callback for that category is still running. This is the most balanced behavior I could find, and seems to work well
* Added support for the old [ClientStack.LindenUDP] settings (including setting the receive buffer size) and added the new token bucket and global throttle settings
* Added the AssetLoaderEnabled config variable to optionally disable loading assets from XML every startup. This gives a dramatic improvement in startup times for those who don't need the functionality every startup
2009-10-14 11:43:31 -07:00
Diva Canto
bea13e3709
Setting changeY in border crossing.
2009-10-14 11:01:46 -07:00
Melanie
3795cface2
Enable LSL dialogs to display group names properly
2009-10-14 17:39:38 +01:00
Melanie
d83ace0d3b
Merge branch 'master' into htb-throttle
2009-10-14 05:10:43 +01:00
Melanie
db4cdc0961
Set the estate owner to be the master avatar if it's not set.
2009-10-14 04:18:59 +01:00
John Hurliman
4135b0c4dc
* Split Task category into Task and State
...
* Crude prioritization hack
2009-10-13 19:45:38 -07:00
Dan Lake
5976ac16b0
Optimized heartbeat by calling Update() only on updated objects.
...
During the heartbeat loop, Update() is called on every SceneObjectGroup which in turn checks if any SceneObjectPart has changed. For large regions (> 100k prims) this work consumes 20-30% of a CPU even though there are only a few objects updating each frame.
There is only one other reason to check every object on every frame, and that is the case where a script has registered the object with an "at target" listener. We can easily track when an object is registered or unregistered with an AtTarget, so this is not a reason to check every object every heartbeat.
In the attached patch, I have added a dictionary to the scene which tracks the objects which have At Targets. Each heartbeat, the AtTarget() function will be called on every object registered with a listener for that event. Also, I added a dictionary to SceneGraph which stores references to objects which have been queued for updates during the heartbeat. At each heartbeat, Update() is called only on the objects which have generated updates during that beat.
2009-10-13 19:32:59 -07:00
Teravus Ovares (Dan Olivares)
31a61bbeec
* Fixes some prim crossings on megaregions with regions beyond the 512m mark
...
* There's a slight chance that this could cause a problem with regular prim crossings.. but hopefully not. Revert if it does.
2009-10-13 22:03:53 -04:00
John Hurliman
e8c1e69a0d
* Copied LocklessQueue.cs into OpenSim.Framework and added the .Count property and .Clear() method
...
* Changed the way the QueueEmpty callback is fired. It will be fired asynchronously as soon as an empty queue is detected (this can happen immediately following a dequeue), and will not be fired again until at least one packet is dequeued from that queue. This will give callbacks advanced notice of an empty queue and prevent callbacks from stacking up while the queue is empty
* Added LLUDPClient.IsConnected checks in several places to prevent unwanted network activity after a client disconnects
* Prevent LLClientView.Close() from being called twice every disconnect
* Removed the packet resend limit and improved the client timeout check
2009-10-13 18:56:54 -07:00
John Hurliman
dc11643c00
* Consolidated adding / removing ClientManager IClientAPIs to two places in Scene
...
* Added some missing implementations of IClientAPI.RemoteEndPoint
* Added a ClientManager.Remove(UUID) overload
* Removed a reference to a missing project from prebuild.xml
2009-10-13 17:33:45 -07:00
John Hurliman
395a8680c3
* Fixed a bug where clients were being added to ClientManager twice
...
* Changed the ClientManager interface to reduce potential errors with duplicate or mismatched keys
* Added IClientAPI.RemoteEndPoint, which can (hopefully) eventually replace IClientAPI.CircuitCode
* Changed the order of operations during client shutdown
2009-10-13 16:53:19 -07:00
John Hurliman
23a334b9f5
* Rewrote ClientManager to remove Lindenisms from OpenSim core, improve performance by removing locks, and replace LLUDPClientCollection
...
* Removed the confusing (and LL-specific) shutdowncircuit parameter from IClientAPI.Close()
* Updated the LLUDP code to only use ClientManager instead of trying to synchronize ClientManager and m_clients
* Remove clients asynchronously since it is a very slow operation (including a 2000ms sleep)
2009-10-13 14:50:03 -07:00
John Hurliman
c893761319
* Unregister event handlers in LLUDPServer when a client logs out and disconnects
...
* Move ViewerEffect handling to Scene.PacketHandlers
* Removing the unused CloseAllAgents function
* Trimming ClientManager down. This class needs to be reworked to keep LLUDP circuit codes from intruding into the abstract OpenSim core code
2009-10-13 12:50:59 -07:00
John Hurliman
f55b282078
Avoid checking m_clients collection twice when a UseCircuitCode packet is received
2009-10-13 11:28:08 -07:00
John Hurliman
82ace481c9
* Broke the circular reference between LLClientView and LLUDPClient. This should speed up garbage collection on the large LLClientView objects, and also prevents handling packets for disconnected clients
...
* Renamed local LLUDPClient variables to udpClient to avoid naming confusion between LLUDPClient and LLClientView
2009-10-13 11:14:45 -07:00
John Hurliman
3828b3c0e8
* Eliminated unnecessary parameters from LLUDPServer.SendPacketData()
...
* Changed PrimMesher's Quat.Identity to return <0,0,0,1> instead of <0,0,0,1.1>
2009-10-13 10:38:35 -07:00
Diva Canto
e3d5beebfb
Better handling of missing assets.
2009-10-13 06:39:11 -07:00
Diva Canto
f3d2192cd4
Better handling of missing assets.
2009-10-12 18:30:06 -07:00
Diva Canto
63ed605eba
Stop the recurring texture requests for textures that truly don't exist.
2009-10-12 17:36:13 -07:00
Diva Canto
0cfbdf3894
Added this one file for the previous commit to work.
2009-10-12 17:01:03 -07:00
Diva Canto
c0beeb929e
* Fixes http://opensimulator.org/mantis/view.php?id=4225
...
* Fixes http://opensimulator.org/mantis/view.php?id=3959
* Allows for viewing inventory textures outside home grid
2009-10-12 17:00:01 -07:00
Melanie
bf68dad643
0004246: [Patch] FlotsamAssetCache deep scan & cache
...
Thank you, mcortez.
2009-10-12 23:21:32 +01:00
Melanie
09cd2ac443
Stop null values from being returned on database queries
2009-10-12 20:46:19 +01:00
Melanie
170d2c4660
Merge branch 'master' into htb-throttle
2009-10-12 15:25:42 +01:00
Melanie
70553a979e
Merge branch 'master' into vehicles
2009-10-12 15:12:15 +01:00
Melanie
50f509d600
Merge branch 'master' into vehicles
2009-10-12 15:11:01 +01:00
unknown
fe0940a22f
Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
2009-10-12 01:53:57 -07:00
Diva Canto
ef6aa444bf
Fixed tree crossing. This will alleviate
...
http://opensimulator.org/mantis/view.php?id=4163
2009-10-11 13:46:19 -07:00
Diva Canto
36dcfd2b80
* Changed logic of enabling LLProxyLoginModule to follow the new style -- true/false on the name, rather than gridmode=true.
...
* Better error messages on Add/Remove clients.
2009-10-11 10:23:16 -07:00
dahlia
7b4183d7a0
sync PrimMesher with r46
2009-10-11 02:12:17 -07:00
dahlia
41b27ef064
disambiguate System.Path (preparation for new PrimMesher)
2009-10-11 01:30:24 -07:00
Diva Canto
01783877ec
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-10 06:36:10 -07:00
Diva Canto
8030ed89b0
Use Util.UTF8 instead of creating a new heap object every time.
2009-10-10 06:35:31 -07:00
Melanie
5e6e31591c
Merge branch 'master' into htb-throttle
...
This is hand-edited to not let master changes creep into here and may cause a
somewhat rocky merge to master later.
2009-10-10 10:26:47 +01:00
Melanie
ef03b2d936
Fix selling objects
2009-10-10 10:18:16 +01:00
Teravus Ovares (Dan Olivares)
8271528b1f
* comment out the velocity test, using updates every 500 ms as set in ScenePresence.AddToPhysicalScene.
...
* This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms.
* This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
2009-10-10 04:01:36 -04:00
Teravus Ovares (Dan Olivares)
3f0dc88c46
Merge branch 'master' of ssh://MyConnection/var/git/opensim
2009-10-10 03:54:10 -04:00
Teravus Ovares (Dan Olivares)
4ffe936ba8
* Make ODECharacter respect the scene's requested collision update time
...
* Set the Scene collision update time to 500 ms
2009-10-10 03:53:53 -04:00
dahlia
d7654c3bda
Adjust velocity threshold for triggering flailing. Thanks to KittoFlora for researching this.
2009-10-10 00:26:43 -07:00
Teravus Ovares (Dan Olivares)
5f94889044
* Fix incorrect math on the Velocity check in PhysicsCollisionUpdate. This may reduce avatar flailing.
2009-10-10 01:49:06 -04:00
Teravus Ovares (Dan Olivares)
798bce592f
* Move the 'On Collision Update Movement Animation' routine to above the 'm_invulnerable' test. It doesn't fix anything but it should really be there anyway.
2009-10-10 01:16:34 -04:00
Diva Canto
3f78ff6ee0
Slight variation on the locking scheme: now locking always, except the ForEach, which gets a copy of the Array. I think the ForEach was the big gorilla.
2009-10-09 19:16:03 -07:00
John Hurliman
29543514e6
* Changed the "Packet exceeded buffer size" log line to debug and include the packet type. This message is normal, but could be evidence of a message marked for zerocoding that probably shouldn't be
...
* Changing OpenSimUDPBase back to high concurrency. High concurrency mode seems to make other problems happen faster, so it's helpful for working out other bugs and will probably
2009-10-09 16:33:50 -07:00
Diva Canto
f29bd8036d
A slight improvement on name fetching -- using the local name cache, since it exists.
2009-10-09 14:36:08 -07:00
Diva Canto
c8cc14a98b
This is to *try* to avoid the exception we are seeing repeatedly:
...
#13:53:03 - [LLUDPSERVER]: Packet exceeded buffer size during zerocoding. Removing MSG_ZEROCODED flag
#13:53:03 - [Scene]: Failed with exception System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
# at System.Buffer.BlockCopy (System.Array src, Int32 srcOffset, System.Array dst, Int32 dstOffset, Int32 count) [0x000b7] in /home/grid/install/mono24/mono-2.4.2.3/mcs/class/corlib/System/Buffer.cs:116
# at OpenSim.Region.ClientStack.LindenUDP.LLUDPServer.SendPacketData (OpenSim.Region.ClientStack.LindenUDP.LLUDPClient client, System.Byte[] data, Int32 dataLength, PacketType type, Boolean doZerocode, ThrottleOutPacketType category) [0x00060] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs:290
# at OpenSim.Region.ClientStack.LindenUDP.LLUDPServer.SendPacket (OpenSim.Region.ClientStack.LindenUDP.LLUDPClient client, OpenMetaverse.Packets.Packet packet, ThrottleOutPacketType category, Boolean allowSplitting) [0x00077] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs:265
# at OpenSim.Region.ClientStack.LindenUDP.LLClientView.OutPacket (OpenMetaverse.Packets.Packet packet, ThrottleOutPacketType throttlePacketType) [0x00000] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs:5244
# at OpenSim.Region.ClientStack.LindenUDP.LLClientView.SendCoarseLocationUpdate (System.Collections.Generic.List`1 users, System.Collections.Generic.List`1 CoarseLocations) [0x0012a] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs:3424
# at OpenSim.Region.Framework.Scenes.ScenePresence.SendCoarseLocationsDefault (UUID sceneId, OpenSim.Region.Framework.Scenes.ScenePresence p) [0x000fa] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/Framework/Scenes/ScenePresence.cs:2536
# at OpenSim.Region.Framework.Scenes.ScenePresence.SendCoarseLocations () [0x0000d] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/Framework/Scenes/ScenePresence.cs:2491
# at OpenSim.Region.Framework.Scenes.ScenePresence.Update () [0x00011] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/Framework/Scenes/ScenePresence.cs:2404
# at OpenSim.Region.Framework.Scenes.SceneGraph.UpdateEntities () [0x0001b] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/Framework/Scenes/SceneGraph.cs:164
# at OpenSim.Region.Framework.Scenes.Scene.Update () [0x000dc] in /home/grid/PLAZA/wrightplaza/opensim/OpenSim/Region/Framework/Scenes/Scene.cs:1031 On Region: Wright Plaza
2009-10-09 14:25:01 -07:00
Diva Canto
c146f2c8c4
Use the cache, Luke!
2009-10-09 13:49:55 -07:00
Diva Canto
8231cb2231
Putting this to exactly what it was yesterday around this time, so we can do the 100-ppl load test in WP. We need to carefully play with this code in order to understand all the problems.
2009-10-09 11:32:53 -07:00
Melanie
527c94825b
Merge branch 'master' into htb-throttle
2009-10-09 17:23:18 +01:00
Melanie
78f57283f4
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-09 17:22:39 +01:00
Justin Clark-Casey (justincc)
f1f239758f
Apply http://opensimulator.org/mantis/view.php?id=4066
...
If XEngine compile fails, show script name in error message in-world as well as the exception itself
Thanks Luca Peck
2009-10-09 17:43:25 +01:00
Justin Clark-Casey (justincc)
b6678faf34
* Apply http://opensimulator.org/mantis/view.php?id=3933
...
* Remove client servers when regions are closed or removed
* Thanks randomhuman!
2009-10-09 17:28:16 +01:00
Rob Smart
1c220e173c
Adding a hair item to the default wearables, fixes newly created avatars appearing as a cloud
2009-10-09 17:22:02 +01:00
Melanie
23586b69a1
Slow down the packet receiving code again after new reports of thread storms.
2009-10-09 12:17:55 +01:00
John Hurliman
77e48a6725
Change the backup thread to run on a BackgroundWorker instead of a Thread. I don't have an explanation, but this seems to stop a slow but steady memory leak I was experiencing
2009-10-09 02:49:55 -07:00
John Hurliman
76a5cae0b4
Forgot to initialize m_writeLock
2009-10-09 02:18:25 -07:00
John Hurliman
a3e31cdeaf
Added more debugging output to the "unrecognized source" warning
2009-10-09 02:13:21 -07:00
John Hurliman
494a1e922d
Calling .Close() on AutoResetEvent and ManualResetEvent (those classes contain an unmanaged resource that will not automatically be disposed when they are GCed), and commenting out some ManualResetEvents that are not in use yet
2009-10-09 02:10:53 -07:00
John Hurliman
a5b9971fd7
* Added a lock object for the write functions in LLUDPClientCollection (immutable != concurrent write safety)
...
* Allow the UDP server to bind to a user-specified port again
* Updated to a newer version of OpenSimUDPBase that streamlines the code even more. This also reintroduces the highly concurrent packet handling which needs more testing
2009-10-09 01:53:06 -07:00
John Hurliman
56a27c37d3
Simplified LLUDPClientCollection from three collections down to one. This will prevent any potential problems from inconsistency between the internal collections
2009-10-08 21:51:53 -07:00
John Hurliman
3a04d706c9
Fear the lockless LLUDP implementation!
2009-10-08 17:34:51 -07:00
Diva Canto
51ea39199b
Putting the lock back in TryGetValue.
2009-10-08 15:42:08 -07:00
Melanie
a0dd9f4bb4
Fork UDPBase from libOMV into opensim
2009-10-08 22:25:14 +01:00
Diva Canto
fc41f2e461
Added guards against the exception reported:
...
#2009-10-08 12:58:34,462 ERROR - OpenSim.Application [APPLICATION]:
#APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs
#
#Exception: System.Exception: Object reference not set to an instance of an object. ---> System.NullReferenceException: Object reference not set to an instance of an object.
# at OpenSim.Region.ClientStack.LindenUDP.J2KImage.SendFirstPacket(LLClientView client) in c:\Opensim\OpenSim\Region\ClientStack\LindenUDP\J2KImage.cs:line 230
# at OpenSim.Region.ClientStack.LindenUDP.J2KImage.SendPackets(LLClientView client, Int32 maxpack) in c:\Opensim\OpenSim\Region\ClientStack\LindenUDP\J2KImage.cs:line 84
2009-10-08 07:55:06 -07:00
Melanie
f6b8bac0fa
Merge branch 'master' into vehicles
2009-10-08 10:32:15 +01:00
Melanie
1eb390beda
Remove ThreadTrackerTest. It's no longer relevant because the thread
...
tracker now uses the system thread list
2009-10-08 08:32:34 +01:00
Melanie
fe679be9e7
Merge branch 'htb-throttle'
2009-10-08 08:07:38 +01:00
Diva Canto
68961ec092
One last attempt at tunning the locking/no locking behaviour. The previous one was too lax and made the important login packets fail.
2009-10-07 20:36:24 -07:00
Diva Canto
dd80380df5
Another go at the deadlock: not locking TryGetValue, and just catch/ignore exceptions.
2009-10-07 19:45:57 -07:00
Diva Canto
29f03d95f3
Bug fix.
2009-10-07 19:20:34 -07:00
Diva Canto
c71b3e730d
Changed the locking mechanism, because the existing one is causing deadlocks to occur.
2009-10-07 18:54:08 -07:00
Diva Canto
ab3bfca546
Printout one more field in show threads, but this won't buy us much.
2009-10-07 17:29:21 -07:00
Melanie
d9f15fbf40
store owner_uuid in the region table
2009-10-07 19:37:18 +01:00
Melanie
48826fcdf7
Remove debug again
2009-10-07 19:22:27 +01:00
Melanie
a0b6cc3861
Enable debugging of the region connector's query string
2009-10-07 19:10:18 +01:00
Melanie
6fdec1f7c9
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-07 18:35:33 +01:00
Melanie
596f2307bf
Add owner_uuid. Not sure this works. Worth a test
2009-10-07 18:34:59 +01:00
Diva Canto
78e4501bef
Improved fault handling in HelloNeighbour.
2009-10-07 08:42:33 -07:00
Melanie
d06c7d90a1
Correct a build break caused by an optimization in trunk
2009-10-07 06:56:00 +01:00
Diva Canto
d344ca932d
A small change in FetchInventoryDescendantsCAPS.
2009-10-06 22:19:20 -07:00
Diva Canto
8c255b374a
Uncommented log message on CAPs FetchInventoryDescendants
2009-10-06 21:32:15 -07:00
Melanie
a52f6c56b1
Merge branch 'master' into htb-throttle
2009-10-07 05:19:20 +01:00
Melanie
d33b6fef2b
replace LLClientView with proper version
2009-10-07 04:37:12 +01:00
Melanie
adc208e568
Replace LLClientView on the branch with master. UNCOMPILABLE!
2009-10-07 04:36:36 +01:00
Diva Canto
58c33fbc89
Uncommented log message on CAPs FetchInventoryDescendants
2009-10-07 04:32:35 +01:00
Diva Canto
b5b53dd3eb
* One more debug message on FetchInventoryDescendants
...
* More streams close on finally
2009-10-06 19:55:35 -07:00
Melanie
6f2d183107
Merge branch 'master' into htb-throttle
2009-10-07 03:01:11 +01:00
Melanie
89d23a1fa2
Revert "Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed."
...
This reverts commit e992ca0255
.
2009-10-07 01:45:49 +01:00
Melanie
9618c196c2
Revert "Merging in diva's locking fixes"
...
This reverts commit 832cc68513
.
2009-10-07 01:44:36 +01:00
John Hurliman
312438f145
Commented noisy debugging about packet splitting
2009-10-06 15:55:39 -07:00
John Hurliman
832cc68513
Merging in diva's locking fixes
2009-10-06 15:54:00 -07:00
John Hurliman
7199976d48
Checks the number of ThreadPool and IOCP threads on startup and bumps up the numbers to .NET defaults of 500/1000 if need be
2009-10-06 15:51:56 -07:00
Diva Canto
e992ca0255
Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed.
2009-10-06 15:39:53 -07:00
John Hurliman
9cb5db3621
Applying the real fix (thank you for tracking that MSDN doc down Melanie)
2009-10-06 15:08:09 -07:00
John Hurliman
74fe284a20
Trying Melanie's fix
2009-10-06 14:50:46 -07:00
John Hurliman
c855806548
Reverting MySQLLegacyRegionData spam
2009-10-06 14:26:00 -07:00
John Hurliman
a3a8691ebe
MySQLLegacyRegionData: Extreme Spam Edition(tm)
2009-10-06 14:18:37 -07:00
John Hurliman
eb205ef4f0
Added a debug line for nebadon
2009-10-06 14:07:04 -07:00
John Hurliman
25676ac5cf
* Added a sanity check for Mono before trying to enumerate over an empty SortedDictionary
...
* Changed the order of a log line from DotNetEngine so you can tell whether or not it is actually loading
2009-10-06 13:39:10 -07:00
Justin Clark-Casey (justincc)
99c85b5ef5
* Change some more default ports to the robust default of 8003
...
* Make these use existing constants rather than hardcoding
* These will probably go away soon anyway once all services are under ROBUST
2009-10-06 20:32:33 +01:00
John Hurliman
fa6027aa09
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-06 12:15:24 -07:00
John Hurliman
61b5372153
* Added missing references to prebuild.xml and commented out the LindenUDP tests until a new test harness is written
...
* Clients are no longer disconnected when a packet handler crashes. We'll see how this works out in practice
* Added documentation and cleanup, getting ready for the first public push
* Deleted an old LLUDP file
2009-10-06 12:13:16 -07:00
Diva Canto
77b4abaa25
* Removed verbose debug message
...
* Restored HG inventory access which had been lost upon adding a 3rd argument to inventory and asset server handlers
* Fixed a stupid bug in the InventoryConnector which was making move items do things twice
2009-10-06 11:08:11 -07:00
John Hurliman
fb19d1ca0a
* Try/catch around EndInvoke() when Util.FireAndForget() returns to catch exceptions thrown in the async method
...
* Added packet stats handling to the new LLUDP implementation
* Attempting to avoid a race condition when creating a new LLUDPClient
2009-10-06 10:12:59 -07:00
Diva Canto
3db4d38645
Removing dependencies on System.Runtime.Remoting.
2009-10-06 09:54:15 -07:00
Melanie
0374f1b144
Merge branch 'master' into vehicles
2009-10-06 17:44:59 +01:00
Diva Canto
e474fc2fdb
Corrected words in error message.
2009-10-06 08:50:25 -07:00
Melanie
40d0018d66
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-06 15:29:46 +01:00
Diva Canto
d4d060b57d
Commenting the DEBUG code that I added yesterday, because it's causing mono to fail with
...
https://bugzilla.novell.com/show_bug.cgi?id=538854
2009-10-06 07:49:05 -07:00
Melanie
2a060136bd
Lock the heartbeat against multiple invocations. May prevent deadlocks and/or
...
runaway thread use
2009-10-06 15:28:38 +01:00
Melanie
8a7a947faa
Remove the using() constructs from the new style database modules; they caused
...
the underlying connection of a reader or command to be closed before the
reader or command itself. Added the proper logic to Close and dispose items
in CloseDBConnection. Readers and Connections need Close(), Commands need
Dispose(), in the order Reader, Command, Connection.
Also reinstated 80-column-friendly formatting
2009-10-06 14:30:25 +01:00
John Hurliman
2519f071f2
Fixing a few compile errors in the previous commit
2009-10-06 02:50:59 -07:00
John Hurliman
e7c877407f
* Continued work on the new LLUDP implementation. Appears to be functioning, although not everything is reimplemented yet
...
* Replaced logic in ThreadTracker with a call to System.Diagnostics that does the same thing
* Added Util.StringToBytes256() and Util.StringToBytes1024() to clamp output at byte[256] and byte[1024], respectively
* Fixed formatting for a MySQLAssetData error logging line
2009-10-06 02:38:00 -07:00
Diva Canto
0c46df973a
Correction on the DEBUG code.
2009-10-05 21:02:10 -07:00
Diva Canto
e36a54ee2a
#if DEBBUG code for monitoring the ThreadPool.
2009-10-05 20:39:23 -07:00
John Hurliman
7ddb6fbced
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-05 17:38:27 -07:00
John Hurliman
429a84f390
Beginning work on the new LLUDP implementation
2009-10-05 17:38:14 -07:00
John Hurliman
a76a1afda8
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-05 16:41:19 -07:00
John Hurliman
6720369376
Added CloseDBConnection() to replace the old CloseReaderCommand(). This will close the MySQLConnection attached to a MySQLCommand. I'm not sure if this accounts for every time a database connection needs to be closed, but it matches up 1:1 with the places where the database connection was previously being closed
2009-10-05 16:39:40 -07:00
Diva Canto
2753f4d62c
* GridServerPostHandler.cs: Try/catch in Handle
...
* BaseOpenSimServer.cs: Added thread pool numbers in show threads
2009-10-05 16:06:21 -07:00
Michael Cortez
f4726f4bcc
Make sure that keys exist in arrays before trying to access them.
2009-10-05 20:52:07 +01:00
Michael Cortez
90d1ef9e4a
Ensure the specified imSessionID exists in the DroppedSession collection before attempting to access it.
2009-10-05 20:52:01 +01:00
Michael Cortez
d4a6d9191a
Make sure that keys exist in arrays before trying to access them.
2009-10-05 20:47:00 +01:00
Michael Cortez
544675d0f0
Ensure the specified imSessionID exists in the DroppedSession collection before attempting to access it.
2009-10-05 20:47:00 +01:00
Diva Canto
282b752035
Minor change.
2009-10-05 13:14:14 -07:00
Diva Canto
9bd1353875
Fixed bug introduced in one of the last commits.
2009-10-05 12:13:38 -07:00
Diva Canto
05b80185b9
More debug to try to diagnose a problem with region registration.
2009-10-05 11:49:21 -07:00
Diva Canto
5f18a088a8
More error catching/outputting.
2009-10-05 11:14:46 -07:00
Diva Canto
05c1ec7faf
Changed the lock object, to see if this helps at all. Also switched the order of lock and try/catch in RemoveImageFromQueue.
2009-10-05 11:01:45 -07:00
Justin Clark-Casey (justincc)
2a19187e01
* minor: tweak asset cache logging levels downwards
2009-10-05 18:32:19 +01:00
Diva Canto
62ea6b6383
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-05 10:31:41 -07:00
Diva Canto
a2d5da7129
More debug messages if things go wrong.
2009-10-05 10:31:09 -07:00
Justin Clark-Casey (justincc)
10c4b88ccf
minor: remove mono compile warning
2009-10-05 18:20:37 +01:00
Diva Canto
81c08ec74a
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-05 09:19:16 -07:00
Diva Canto
75b35ddf4a
More error messages to warn when/if things go wrong.
2009-10-05 09:18:51 -07:00
Diva Canto
ad81b453b3
GetRegionByPosition: use the cache, Luke.
2009-10-05 09:02:52 -07:00
Melanie
8d7075c5c6
Adapt to renamed members in landObject
2009-10-05 16:33:25 +01:00
Melanie
0cb974bc76
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-05 16:32:31 +01:00
Melanie
5702c8f910
Adapt to renamed members in landObject
2009-10-05 16:31:54 +01:00
Melanie
a7023ed81c
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-05 16:08:57 +01:00
unknown
7c3e5afc0c
MSSQL changes for Grid server in ROBUST plus some code tweaks 'n tidy up
2009-10-05 16:08:35 +01:00
unknown
82df3d8fd6
MSSQL changes for Grid server in ROBUST plus some code tweaks 'n tidy up
2009-10-05 16:07:33 +01:00
Melanie
8d5a40aad0
Merge branch 'master' into vehicles
2009-10-05 12:58:52 +01:00
Dan Lake
6d52974c5f
Eliminate pinned Mesh data on managed heap by using IntPtrs to memory allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.
2009-10-05 12:45:41 +01:00
Melanie
dcdcbb314e
Fix build break
2009-10-05 11:08:02 +01:00
Melanie
0744292b47
Merge branch 'master' into vehicles
2009-10-05 10:17:23 +01:00
dahlia
5c593f3892
only cache mesh if meshing was successful
...
re-enable sculpt mesh caching
2009-10-04 20:01:44 -07:00
Melanie
a208f33c5d
Make the asset connector async Get overload return false if the asset
...
retrieval was not synchronous.
2009-10-05 00:23:47 +01:00
Diva Canto
362e94a022
* KeepAlive set to false in expect_user and log_off.
...
* Check for null SP in PermissionsModule.
2009-10-04 16:30:12 -07:00
Diva Canto
08d3650138
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-04 14:06:28 -07:00
Diva Canto
5b19d5a7b7
Reduced locking.
2009-10-04 14:05:58 -07:00
John Hurliman
a528e7704c
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-04 13:58:22 -07:00
John Hurliman
29a4614529
* MySQL data tests now pass by fixing a bad fix for a bad cast on the asset Local member in MySQLAssetData
...
* First pass at applying the using(){} pattern to IDisposable objects. Always use the using pattern on IDisposable objects whenever possible, do not manually call .Close() or .Dispose() unless there is no other way to write the code. This pass mostly covers OpenSim.Data.MySQL, and should have no functional change (tests still pass)
2009-10-04 13:57:51 -07:00
Diva Canto
022526661b
Just trying a few things. This one will reduce the number of async calls.
2009-10-04 13:38:12 -07:00
Diva Canto
d93e0a0503
Guarding a line that is sometimes throwing a null pointer exception.
2009-10-04 10:30:21 -07:00
Diva Canto
30aac00f6b
Closing more streams even if things fail.
2009-10-04 10:12:19 -07:00
Diva Canto
fe9cca64de
Stream needs to be closed before the file can be moved...
2009-10-04 09:56:54 -07:00
Diva Canto
b803d5ab9b
Make sure to close the file streams on the FlotsamCache, even if something fails.
2009-10-04 09:44:04 -07:00
Diva Canto
f21f3727df
Leaving the MemoryStreams unclosed.
2009-10-04 09:20:01 -07:00
Diva Canto
366bfe17ae
Trying to avoid the null pointer exception in J2KImage, RunUpdate.
2009-10-04 07:41:10 -07:00
dahlia
95ebb7794c
flexible extrusion shape defaults to linear
2009-10-04 02:59:12 -07:00
dahlia
efebc809ce
disable physics actors for flexible prims
2009-10-04 02:54:36 -07:00
dahlia
0cbd9eee2f
Exclude sculpt proxies from mesh caching
2009-10-04 02:14:13 -07:00
Melanie
6878b26b0d
Merge branch 'diva-textures-osgrid'
2009-10-04 05:49:16 +01:00
Diva Canto
2d9c27a28f
Slightly better message with status code for WebException.
2009-10-03 20:18:21 -07:00
Diva Canto
b2cdee5a14
Better error handling to diagnose login problems.
2009-10-03 19:08:56 -07:00
Diva Canto
b6920267f0
Close was being called to early on the Memory stream.
2009-10-03 16:27:55 -07:00
Diva Canto
b75b887798
Fixed interface between the Messaging server and the grid server.
2009-10-03 11:55:52 -07:00
Diva Canto
df7049008a
More streams closed.
2009-10-03 08:57:30 -07:00
Diva Canto
de94aa9bb5
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-03 08:46:25 -07:00
Diva Canto
e1112ff879
MOre streams closed. Corrected word in GridCommon.ini.example
2009-10-03 08:46:06 -07:00
Diva Canto
4843edfeb7
Closing more streams.
2009-10-03 08:33:19 -07:00
Melanie
874e423141
Fix my build break
2009-10-03 15:37:31 +01:00
Melanie
b4d1cf0009
Small permissions tweak
2009-10-03 14:22:29 +01:00
Diva Canto
006dfd6d9a
Closing another stream.
2009-10-02 20:35:15 -07:00
John Hurliman
387e9f7a7f
* Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
...
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
John Hurliman
3ab6c89652
Merge branch 'diva-textures-osgrid' of ssh://opensimulator.org/var/git/opensim into diva-textures-osgrid
2009-10-02 16:54:03 -07:00
John Hurliman
332d3eb1bb
* Removed code that is no longer used with Melanie's queue callback optimization
...
* Moved all priority queue access to helper functions to improve reliability and readability
* New version of CSJ2K.dll (from libomv source tree) that fixes a JPEG2000 comment decoding bug
2009-10-02 16:53:35 -07:00
Diva Canto
7a2ac292d6
Merge branch 'diva-textures-osgrid' of ssh://diva@opensimulator.org/var/git/opensim into diva-textures-osgrid
2009-10-02 16:24:13 -07:00
Diva Canto
e66321227e
Close streams in MakeRequest.
2009-10-02 16:23:46 -07:00
Melanie
36c8d55827
Merge branch 'diva-textures-osgrid'
2009-10-03 00:03:09 +01:00
Melanie
73fa409318
Merge branch 'diva-textures-osgrid'
2009-10-02 23:25:17 +01:00
John Hurliman
bdc1345501
* Removed even more unnecessary state variables from J2KImage
...
* Fixed the incorrect "out of memory?" exception messages and replaced them with useful information
* Cleaned up J2KImage and LLImageManager to conform to coding conventions
2009-10-02 13:08:15 -07:00
John Hurliman
9b342d3e0d
* Changed the flush logic to drop packets in non-transactional streams, and to not fire any "put more data in the queues" callbacks
...
* Minor tweaks to code formatting to make the callback chain for packet queuing easier to follow
2009-10-02 12:00:42 -07:00
Melanie
9eccea5777
Merge branch 'master' into vehicles
2009-10-02 19:53:42 +01:00
Melanie
46955f4260
Merge branch 'master' into vehicles
2009-10-02 19:04:46 +01:00
Melanie
ce8974539e
Merge branch 'master' into diva-textures
2009-10-02 19:03:22 +01:00
Melanie
6def897556
Merge branch 'diva-textures-osgrid' into diva-textures
2009-10-02 19:02:38 +01:00
dr scofield (aka dirk husemann)
6c068eaf12
reducing script engine log spam
2009-10-02 12:38:13 +02:00
dr scofield (aka dirk husemann)
75a42e0459
reducing region DB log spam
2009-10-02 12:05:59 +02:00
dr scofield (aka dirk husemann)
3c271bf222
fixing TestLandChannel to let it return empty List<ILandObject>() (as
...
does the real LandChannel), percolating to SceneSetupHelpers.
2009-10-02 11:31:30 +02:00
dr scofield (aka dirk husemann)
2107b67f1b
- cleaning up LandData/ILandObject capitalization issues
...
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Melanie
31d8cec0f8
Merge branch 'master' into diva-textures
2009-10-02 08:23:38 +01:00
Melanie
3ba36bb4d8
Restore the missing image handling to the image manager. The missing
...
image packet crashes Hippo without a message.
2009-10-02 05:49:27 +01:00
Melanie
9a429610e2
Merge branch 'diva-textures-osgrid' into texturetest
2009-10-02 04:19:22 +01:00
Diva Canto
746dad7b74
Locking the priority queue to see if it gets pass that exception.
2009-10-01 20:32:22 -07:00
Melanie
18a744cac1
Change texture sending to be driven by the queue empty event from the
...
packet queue, rather than a timer
2009-10-02 04:04:14 +01:00
John Hurliman
54ff84050f
Removing console debug spew
2009-10-01 18:12:13 -07:00
Adam Frisby
a2cdbd784d
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-02 10:54:01 +10:00
John Hurliman
aaf8fbcef9
Merge branch 'diva-textures-osgrid' of ssh://opensimulator.org/var/git/opensim into diva-textures-osgrid
2009-10-01 17:53:28 -07:00
Adam Frisby
a030e3d61b
* Attempting to fix a issue with console commands & the estate module. Again.
2009-10-02 10:53:21 +10:00
John Hurliman
6e0c79b8fe
* Rewrote LLImageManager to use a real priority queue and hold minimal state
...
* Rewrote the logic in J2KImage.RunUpdate()
* Added a default avatar texture (I made it myself)
2009-10-01 17:42:13 -07:00
Diva Canto
24d5b57503
Added messages to assertions in the failing tests, so that we know which ones are failing.
2009-10-01 17:28:42 -07:00
Melanie
212e132e79
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:47:01 +01:00
Melanie
4a1076128c
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-02 00:45:43 +01:00
Melanie
d6301db382
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:45:31 +01:00
Diva Canto
ac0927c922
Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim
2009-10-01 16:40:04 -07:00
Diva Canto
c8c4b4c505
Switched log level of an annoying message in SQLite to Debug, and commented it too.
2009-10-01 16:39:41 -07:00
Melanie
54a912bb9c
Add a method to determine the count of packets in a throttle
2009-10-01 22:35:57 +01:00
Melanie
7c1fdb2540
Add "dump asset" command to remote asset connector (the only one that uses a
...
cache at all)
2009-10-01 21:29:57 +01:00
Melanie
26478ff689
Add "dump asset" command to remote asset connector (the only one that uses a
...
cache at all)
2009-10-01 21:26:53 +01:00
Melanie
5e9da4daab
Add OnQueueEmpty event to the packet layers. No user functinality yet
2009-10-01 21:08:17 +01:00
Diva Canto
94783e9377
Catch and print exceptions in MessagingService, to diagnose mysterious disappearances of the Messaging server.
2009-10-01 09:17:22 -07:00
Melanie
d0cc0985fa
Fix a merge conflict
2009-10-01 14:45:06 +01:00
Melanie
41ff39414b
Merge branch 'master' into vehicles
2009-10-01 14:08:15 +01:00
dr scofield (aka dirk husemann)
133a4a9906
- adding new LandDataSerializer testcase to "test-xml" target as well
...
- adding another LandDataSerializer testcase
2009-10-01 15:03:16 +02:00
dr scofield (aka dirk husemann)
05da73c300
fixing LandDataSerializer (yeah! for testcases)
2009-10-01 12:01:41 +02:00
dr scofield (aka dirk husemann)
18416ec518
Merge branch 'oar-parcel' into x-opensim
2009-10-01 10:30:43 +02:00
dr scofield (aka dirk husemann)
77ed8e977a
adding meat to the LandDataSerializerTest cases.
2009-10-01 10:30:26 +02:00
dr scofield (aka dirk husemann)
5b378a793b
Merge branch 'oar-parcel' into x-opensim
2009-10-01 09:48:30 +02:00
dr scofield (aka dirk husemann)
40cf840df2
adding testcase for LandDataSerializer; fixing LandDataSerializer ;-)
2009-10-01 09:47:45 +02:00
James J Greensky
44776fea72
Fixing LLClientView memory leak
...
Fixing LLClientView memory leak by disposing of all timers utilized
in LLClientView as they contain references to the callback method.
This required the use of the Terminate and Close infrastructure that
was already in place but was not being utilized.
2009-10-01 04:11:32 +01:00
Diva Canto
1eb6f99d19
Create j2k cache directory if it doesn't exist. The Meshmerizer needs it there.
2009-09-30 20:27:40 -07:00
James J Greensky
8e3dd64282
Removed an innefficent List.Contains lookup from UpdateQueue
...
Changed the underlying data structure used to detected duplicate
in OpenSim.Region.Framework.Scenes.Types.UpdateQueue from a
List to a Dictionary.
2009-09-30 17:53:32 -07:00
John Hurliman
cb26878f96
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 17:51:34 -07:00
Jeff Ames
606e831ff5
Formatting cleanup.
2009-10-01 09:38:36 +09:00
John Hurliman
5dfd2643df
* Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
...
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
2009-09-30 15:53:03 -07:00
John Hurliman
acfe2d9f4e
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 15:28:23 -07:00
Melanie
041aaaa62c
Prevent null data being sent to the decoder
2009-09-30 22:21:22 +01:00
Melanie
79ba96ad6f
Limit the number of packet data blocks to 50, as packets are already limited
...
This is enough to prevent the fast back and forth of allocation and release
the pool is meant to prevent, but not too much so we don't hog memory
2009-09-30 21:33:29 +01:00
Melanie
400abed271
Add RebakeAvatarTexturesPacket to the client view
2009-09-30 21:33:20 +01:00
Melanie
67fefdb5a0
Remove predecode-j2k and it's assoaciated logic
2009-09-30 21:33:00 +01:00
Melanie
b0c0d6f9d1
Squelch the debug noise from diva's patch
2009-09-30 20:36:20 +01:00
John Hurliman
f56dc5fcda
Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
...
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K
* Renamed IJ2KDecoder and J2KDecoder member names to follow standard naming conventions * Removed j2kDecodeCache cruft and replaced it with the OpenSim cache system * Rewrote the default layer boundary algorithm to use percentages instead of an exponent * Switched from an infinite in-memory cache to an expiring cache (10 minute timeout) * Slightly quieted logging errors for failed texture decodes
2009-09-30 19:26:53 +01:00
Melanie
f908e32f62
Revert "Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug"
...
This reverts commit 22cc31135e
.
2009-09-30 19:26:26 +01:00
Melanie
8d35cd9061
Remove more tests that don't apply to this build
2009-09-30 19:25:48 +01:00
Melanie
41e4f3afdb
Remove some tests that no longer apply
2009-09-30 19:14:58 +01:00
John Hurliman
22cc31135e
Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug
...
Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K
2009-09-30 18:42:45 +01:00
Diva Canto
4bf47fa592
This releases the texture assets from LLImageManager cache, and re-requests them later if the client asks for them again. Needs more testing in texture-rich sims.
2009-09-30 18:41:41 +01:00
Melanie
61d6e42af2
Merge branch 'vehicles' of ssh://opensim@tor.k-grid.com/home/opensim/opensim into vehicles
2009-09-30 17:46:04 +01:00
Kitto Flora
07df0e0ab0
Merge branch '0.6.7-post-fixes' into vehicles
2009-09-30 19:07:18 +02:00
Kitto Flora
d43f739cef
And another merge issue
2009-09-30 19:05:39 +02:00
Kitto Flora
11750a272e
And another
2009-09-30 19:04:06 +02:00
Kitto Flora
6b65eb76d0
Another small change to avoid later merge conflict
2009-09-30 19:01:55 +02:00
Kitto Flora
53fbc970ca
Small chaneg to adapt to trunk
2009-09-30 18:58:52 +02:00
opensim
827b0fb199
Commit initial version of KittoFlora's vehicle changes
2009-09-30 18:51:02 +02:00
Jeff Ames
ee205e7e81
Formatting cleanup.
2009-10-01 01:17:47 +09:00
dr scofield (aka dirk husemann)
33515c75e4
adding LandDataSerializer (not connected anywhere, work-in-progress)
...
[hi, there, justin!]
2009-09-30 16:19:39 +02:00
Melanie
1006a2254c
Make create user to the Right Thing with regard to salting user passwords
2009-09-30 13:36:03 +01:00
Melanie
377a8b5229
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-09-30 11:17:27 +01:00
Melanie
94aa7e677c
Change command help text to show .ini in place of .xml when creating regions
2009-09-30 09:12:43 +01:00