Server Deployments week 5
On Wednesday 29th January, the following updates were deployed to the Release Candidate channels:
- BlueSteel received the server-side materials processing code – release notes
- LeTigre received the maint-server project originally deployed to Magnum in week 3. This deployment includes the bug fix for the places / search indexing issue which occurred following the original deployment of the code to Magnum – release notes
- Magnum received a further update to the interest list code deployed in week 4, with fixes intended to deal with issues of high packet loss – release notes.
A number of initial problems were reported in the forum discussion thread, Several of which appeared to be related to initial region caching / capabilities problems which lead to some strange initial experiences for users, ranging from teleport failures / potential viewer crashes on region crossings (physical or teleport) and out-of-range controlled flight (i.e. avatars could continue to fly under full control when apparently at coordinates well outside the region (e.g. 320, 128, 75). These issues seem to cease once regions were correctly caching following a (protracted) restart period.
There were also some reports in the forum discussion thread that use of the estate tools to eject / teleport home / ban an avatar can lead to a region cross. However, as the reports appear to be the same / similar to previously filed SEC JIRA (SEC-1215 and SEC-1204, neither of which are open to public viewing), and may be an isolated series of incidents (others are not reporting the same problems, so they have not been repro’d outside of the affected region), there is a reluctance within LL to attribute them directly to the region crossing code.
Magnum RC (Interest List Code)
The Interest List Code problem relates to the use of bots. Originally, it had been hoped that one of the fixes deployed this week would correct the issue; however this has not entirely been the case.
Following further investigation by Latif Khalifa and Andrew Linden, an explanation of the problem is provided in the deployment forum thread. The issue has its routes in the fact that the Second Life UDP protocol requires an acknowledgement (or “ACK”) for all messages sent to the viewer. However, rather than sending a distinct “message received” back to the server for each packet received, certain types of bot append the acknowledgement to other outgoing messages. A bug in the interest list code means these appended ACKs aren’t read. This results in original data been regarded as a packet loss, so it is repeatedly re-sent to the viewer controlling the bot, leading to the huge increases of bandwidth which have been witnessed. Andrew is currently working on a fix for this issue.
Deployments for Week 6
There is currently no clear news on deployment plans for the week commencing Monday 4th February. Currently, it appears that the main-server release re-deployed to LeTigre will most likely be promoted to the Main channel.
SL Viewer Updates
Issues relating to the beta viewer 3.4.5 code have been resolved, and an updated beta viewer (220.127.116.119698), was released on Thursday January 31st – see the release notes for updates. Also released on the 31st was a new version of the CHUI development viewer, 18.104.22.1689797. The SL development viewer rolled to 22.214.171.1243 on Wednesday January 30th.
An interesting issue has been noted recently by those using multiple versions of the SL viewer. When swapping between more recent versions of the SL development viewer and older versions of the code base, toolbar buttons can vanish from the viewer’s UI. The exact cause is unclear, and the problem appears intermittent (I’ve personally only encountered it once jumping between project and release versions of the viewer).
Mesh Deformer Project Viewer
Sovereign Engineer assisted with code merges for the parametric deformer project viewer with the result that the code is now merged-up to the 3.4.4 codebase with the latest release of the mesh project viewer (126.96.36.1999558) on January 29th. There are apparently no functional changes to the deformer itself.
This removes one of the three bottlenecks to the project as noted in the first part of this week’s reports. However, the issue of internal resources at the Lab remains a problem, although Oz Linden is attempting to address this and there may be further news in week 6.
Avatar Baking (Server-side Baking / SSB) Project Viewer
The issues with the Mac build of the viewer have been fixed, and a new version of the viewer has been released, which sees the viewer merged-up with the 3.4.5 codebase. The new version – 188.8.131.529555 – is available for Windows, Mac and Linux or via the Sunshine wiki page.
Those wishing to test the viewer / SSB, can do so by logging-in to Aditi, and visiting the Sunshine Test region.
There is sadly no other news on this project at present.
There was some news on this project this week, complete with some new teaser images, and I had the opportunity to peek at the latest version of the (non-public) pre-release viewer. As such, I’ve provided a separate update. However, here’s another preview image, again courtesy of Geenz Spad.
There will be no script support for materials processing. According to Maestro Linden, the capability was removed from the proposal for fear of it being exploited and used to thrash the server and rendering pipeline in a similar manner as sculpt UUID flipping (using a script to repeatedly change the map applied to a sculpt so it is constantly being re-rendered) is bad for the renderer. However, animation scripts will still be usable within objects using the three maps, although animations will be applicable to object faces (as is currently the case), rather than to individual maps.
Side Discussion – Script Service
While this is not, and will not be an SL project, a question was asked at the Server Beta meeting on Thursday 21st January as to whether it would be possible to divorce scripts “attached” to avatars (via attachments) from simulators, and move them to a dedicated “scripting service” (much as is being done with avatar baking in the SSB project).
Currently, as avatars (and vehicles) move between regions, any associated scripts have to be stopped, fully serialised and transferred to the region the avatar / vehicle is entering, loaded and run. Thus, moving attachment scripts to a dedicated service was suggested as a means of reducing the amount of script transfers taking place and theoretically improving avatar movement between regions.
However, while this idea has been examined by the Lab, it has been rejected for a number of reasons, of which the most prominent are:
- Many attachment scripts interact very closely with the region they are on, and so moving them to a separate service could result in breakage or increase traffic flow between simulators and the “script service”, requiring additional processing at both ends, resulting in performance hits
- Placing attachment scripts on a single service could lead to someone figuring out a means to crash all attachment scripts for a given shard of the database running those scripts.
Thus, while the idea may sound initially attractive, it is unlikely to lead to a sufficient enough gain (if any at all), and / or lead to significant unwanted negative effects to warrant implementation.