| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Another change: removed the second call to userManager.AddUser(). UserManagementModule won't modify an existing record.
|
| |
|
|
|
|
| |
Signed-off-by: Diva Canto <diva@metaverseink.com>
|
| |
|
|
|
|
| |
libraries.
|
| |
|
|
|
|
|
| |
This shows named threadpool calls (excluding timer and network calls) that are currently queued or running.
Also shows total of labelled and any anonymous calls.
|
|
|
|
|
|
| |
problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
|
|
|
|
| |
smartthreadpool calls
|
|
|
|
|
|
|
| |
a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
|
|
|
|
|
|
| |
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
|
|
|
|
| |
"Queue threadfunc" for a particular thread then don't log "Run threadfunc" or "End threadfunc" for that thread either.
|
| |
|
|
|
|
|
|
|
|
| |
As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe.
If called by multiple threads at once, methods may return 0.
Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance.
This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe.
This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
|
|
|
|
|
|
| |
shutdown.
Adds regression test for this case.
|
|
|
|
|
|
| |
config option, LogOverloads, to log when a thread pool overload occurs.
This option defaults to "True" because the logging data is useful for
diagnosing threading issues.
|
|
|
|
| |
No one needs to see every thread launch.....
|
|
|
|
|
|
| |
list of assets exist.
This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
|
|
|
|
| |
- Changed a few places that launch long-lasting threads to skip the timeout altogether
|
|
|
|
|
|
|
|
|
|
|
| |
- MemoryBuffer isn't seekable, so we can't log it. Log the string instead.
- Handle compressed streams
- Don't attempt to dump binary data. Either don't log it at all (if we know it's binary), or at least convert non-ASCII characters to ASCII.
- Log responses to HTTP requests
- Use the same log prefix for all of these log messages ("[LOGHTTP]"), to make them easy to see at a glance
- Increased the snippet length to 200 (80 doesn't show enough), and add "..." only if the message was actually truncated
Resolves http://opensimulator.org/mantis/view.php?id=6949
|
| |
|
|
|
|
|
|
| |
(which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
|
|
| |
threadpool level" to set the logging level.
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
|
|
|
|
|
|
| |
If a task in the thread pool hangs then it will permanently take up
one of the threads. If this happens repeatedly then the thread pool will
become exhausted and OpenSim will fail. This watchdog terminates threads in the
thread pool that have been executing for over a minute (which probably
means they're hung).
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
|
|
| |
packet type
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
| |
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
| |
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
|
|
| |
threadpool.
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
|
|
|
|
|
| |
"CreatorData" field is calculated, to ensure uniformity
Resolves http://opensimulator.org/mantis/view.php?id=6933
|
|
|
|
|
|
| |
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name.
This resolves http://opensimulator.org/mantis/view.php?id=6952
|
|
|
|
|
|
| |
This reverts commit 52b7b40034ddbb21d06b11ddc4eb6d766b0f616d.
Got the semantics wrong - the sempahore is required so that the blocking thread waits for a signal.
|
|
|
|
|
| |
Exclusion is already guaranteed by the lock on m_syncRoot.
Semaphore could not allow more than one thread in these sections anyway since the underlying SDK structures are not thread-safe.
|
|
|
|
| |
thread-safe operation
|
| |
|
|
|
|
| |
XmlRpcGroupsServiceConnector error
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
locations and for the conversion of region world location to region
'region' location. These routines will replace all the arithmatic
scattered throughout OpenSimulator.
|
| |
|
|
|
|
|
|
|
|
| |
online from a standalone/robust instance.
This is not guaranteed to be accurate since users may be left "online" in certain situations.
For example, if a simulator crashes and they never login/logout again.
To counter this somewhat, only users continuously online for less than 5 days are shown.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
where the q parmater is ignored and everyghig is always placed on m_lowQueue.
No actual impact presently since nothing ends up calling EnqueueHigh()
|
|/ |
|
|
|
|
|
|
|
|
|
| |
17:14:28 - [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs
Exception: System.InvalidOperationException: Operation is not valid due to the current state of the object
at System.Collections.Generic.Queue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Peek () [0x00011] in /root/install/mono-3.1.0/mono/mcs/class/System/System.Collections.Generic/Queue.cs:158
at System.Collections.Generic.Queue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Dequeue () [0x00000] in /root/install/mono-3.1.0/mono/mcs/class/System/System.Collections.Generic/Queue.cs:140
at OpenSim.Framework.DoubleQueue`1[OpenSim.Region.ClientStack.Linden.WebFetchInvDescModule+aPollRequest].Dequeue (TimeSpan wait, OpenSim.Region.ClientStack.Linden.aPollRequest& res) [0x0004e] in /home/avacon/opensim_2013-07-14/OpenSim/Framework/Util.cs:2297
|
|
|
|
|
|
|
|
| |
returned 499 and the exception message in the http_response event rather than the actual response code and body.
This was a regression since commit 831e4c3 (Thu Apr 4 00:36:15 2013)
This commit also adds a regression test for this case, though this currently only works with Mono
This aims to address http://opensimulator.org/mantis/view.php?id=6704
|
|
|
|
| |
threadpool to the ServerBase rather than being in Util
|