MantisBT - Issues
Updated: 16 min 45 sec ago
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. This patch handles these viewers by searching both of these fields ('Channel' and 'Viewer') for the viewer name.
This patch allows runprebuild.bat to run correctly in Cygwin. (It ran before, too, but was unable to find the Microsoft build tools.)<br /> <br /> This patch also modifies Prebuild itself to support .NET 4.5. It doesn't change OpenSim to use .NET 4.5; it just adds the option. This is useful for anyone that wants to use the new async functionality in .NET 4.5.
Enabled log-rolling on the Robust and OpenSim log files (once per day).
This patch contains a big improvement to the logging of HTTP requests, which aids in debugging. The changes include:<br /> <br /> - Fixed cases where logging failed either because they used MemoryBuffer (which isn't seekable), or because the streams were compressed.<br /> - 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.<br /> - Log responses to HTTP requests<br /> - Use the same log prefix for all of these log messages ("[LOGHTTP]"), to make them easy to see at a glance<br /> - Increased the snippet length to 200. It was at 80, but that isn't enough to see the method name in xmlrpc requests.<br /> - Only add the "..." suffix if we truly didn't log the entire line.<br /> <br /> Other changes:<br /> <br /> - Always throw an exception if MakeRequest (used for HTTP POST) fails. Previously many exceptions were ignored, but that just means that things don't work and we couldn't know why.<br /> - Minor: fixed the name of the CLI command "Debug" for Groups. It used the lowercase word "debug", but that caused "help debug" to show two entries for "Debug".
Currently, after an object with KeyframeMotion is copied into the user's inventory ("Take Copy") it stops moving. This patch causes it to resume motion.
This patch fixes a problem that occurs only in megaregions, and only with prims that use KeyframeMotion. The problem is that megaregions load each of their sub-regions, and only then combine them. A prim with KeyframeMotion that is in a high region (not the SW region) starts moving before the regions have been combined. That causes it to think that it should cross into a different region, but that fails. Due to a different bug (see Mantis <a href="http://opensimulator.org/mantis/view.php?id=6946">0006946</a>), a failed region-crossing causes the prim to be deleted. (While Mantis <a href="http://opensimulator.org/mantis/view.php?id=6946">0006946</a> will prevent the prim from being deleted, *this* patch prevents it from atetmpting region-crossing in the first place.)<br /> <br /> The patch fixes the problem by delaying KeyframeMotion prims from starting to move until all the regions have been loaded (and combined, in the case of megaregions).
When a prim crosses to a new region, it's deleted from the source region. But what happens if the region crossing failed? The prim shouldn't be deleted.<br /> <br /> This patch simply makes the region-crossing code for prims report if it failed. (Previously it always returned 'success'). That's all that is needed.
Added the ability to log activity on the thread pool. When this option is enabled, we log for each task that is added to the thread pool: when it's queued (including its stack trace), when it starts executing, and when it ends. This is very useful for finding problems such as too-frequent tasks, or tasks that take too long (and would be better handled out of the main thread pool). This flag is intended to be used by developers when working on performance improvements, since it requires recompilation.<br /> <br /> The flag is set in the property "DebugFlags" of class Util. This property allows adding additional debug flags in the future, but currently only one flag is defined: "LogThreadPool". (All the debug flags are disabled by default.) When "LogThreadPool" is set, activity on the main threadpool is logged. Otherwise, it's not logged (with one exception; see below).<br /> <br /> In addition, when the threadpool is close to full we enter "overload mode". In overload mode we always log thread activity, even if the debug flag was turned off. This is designed to be used in production: it makes it possible to review in retrospect what caused a performance problem.<br /> <br /> The stack trace is logged in one of two ways: full, or just the first frame. When the LogThreadPool flag is enabled we log the full stack trace. However, when logging is enabled due to "overload mode" we only log the first stack frame: it's usually good enough to determine what the task is, and this avoids filling up the log.
Sometimes we get coalesced objects whose XML starts with an XML Declaration ("<xml...>"). Currently such objects aren't recognized as coalesced objects.<br /> <br /> This patch fixes the problem by using XmlDocument to parse the object, since it handles XML correctly both with and without an XML Declaration.<br /> <br /> However, the function that parses coalesced objects is called on *all* object assets, even though most of them are regular objects (not coalesced). In order to minimize the amount of parsing that needs to be done, the function first parses the XML "manually" (without DOM). It only uses XmlDocument if the simple (and fast) check shows that the object is in fact coalesced.
Load OAR automatically checks the Owner ID of objects, and if it's an unknown user then it makes the object owned by the Estate Owner.<br /> <br /> However, objects may be owned by Groups instead of Users. This patch checks for that case.
Load OAR checks the User and Group ID's of the objects it loads, and if they're unrecognized then it replaces them with the Estate Owner. However, currently this only works on objects that are rezzed.<br /> <br /> This patch implements the same functionality for object assets.<br /> <br /> This patch also refactors Load IAR, but in that case the functionality doesn't change since Load IAR was already examining object assets.<br /> <br /> The core of this patch is a function that accepts an object asset (as XML); parses it; runs a supplied function on each SOG; and then converts the object back to XML.
0006941: [PATCH] Windlight functions caused an error if called when the script's owner isn't in the scene
Fixed: Windlight functions caused an error if called when the script's owner isn't in the scene.
In HGAssetService, if the "HomeURI" config option isn't found in the service's own config section then fallback to other sections (same as we do elsewhere).
However, the inventory shows all inventory correctly being worn.<br /> <br /> But, this module got an inventory item creator added that actually triggers on something within the teleport protocol.<br /> <br /> Together with the sometimes failing inventory accesses on HG, this module can easily create lots of inventory items due to teleports. <br /> <br /> In addition, it adds this item to the list of active wearables.<br /> <br /> It still shows the original shirt to be worn in the observed case.<br /> <br /> <br /> The code has also issues by adding those added clothing items under body parts.
Updating the user settings in the database fails because the data type (boolean) doesn't match the database field type. This patch converts the data to string, which is then acceptable to MySQL.<br /> <br /> This patch also ensures that if attempts to update a profile Note fail then we'll tell the user.
Users can choose whether their Groups should be public. This patch makes group searches exclude hidden groups.
Improved some error messages. Usually by logging the exception using log4net, which makes it easier to read. Also removed old "hacktastic" code that did nothing.
When users perform a search (for users or groups), I have found that sometimes the viewer adds a space at the end of the search string. This causes searches to fail. This patch trims the query string, which fixes the problem.
Fixed: there were some parcel changes that weren't saved to the database, so they appeared to work but the next time the region was restarted they had disappeared.<br /> <br /> Also fixed: the OnRegionInfoChange event was never actually sent.
Refactored so that only one class, ExternalRepresentationUtils, calculates the complicated "CreatorData" field.