SL project news week 5 (2): servers, issues, viewer, SSB, deformer

Server Deployments week 5

On Tuesday 29th January, the Main channel received the threaded region crossing code previously deployed to BlueSteel and LeTigre in week 4release notes.

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 lossrelease notes.

Reported Issues

Main Channel

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 (3.4.5.269698), 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, 2.4.6.269797. The SL development viewer rolled to 3.4.6.703 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 (3.4.4.269558) on January 29th. There are apparently no functional changes to the deformer itself.

The updated shape selection options for mesh clothing and human shapes in the mesh upload floater
The mesh deformer project viewer has now been merged-up to the 3.4.4 viewer codebase. There are apparently no updates to the deformer itself with this release

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  – 3.4.5.269555 – 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.

Materials Processing

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.

Materials processing: drawing closer to a release, but no data as yet. For more information, see (image courtesy of Geenz Spad)
Materials processing: drawing closer to a release, but no data as yet. For more information, see here (image 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.

Related Links

Advertisements

4 thoughts on “SL project news week 5 (2): servers, issues, viewer, SSB, deformer

  1. “There will be no script support for materials processing” and “animations will be applicable to object faces (as is currently the case), rather than to individual maps”: Crap. That’s one vulnerable rendering pipeline if nerfing scripts is thought to protect it.

    Oh well, I can still get more or less the effect I wanted, but with a more complex mesh — but it sure will be harder to render. Speaking of which, I wonder if there’s been any talk of how Materials will affect Land Impact, or if we’ll be getting another free lunch.

    Like

  2. It seems a bit odd to me that UDP is being used the way it is, but what do I know. Still if we’re seeing SL dumping out these streams of UDP data, what’s it doing on the wider internet? I’ve seen UDP described as “congestion insensitive”, since there’s nothing to tell the sender to reduce the rate at which packets are sent. And, we’re getting a lot of repeat transmissions, why isn’t the SL server noticing?

    It all strikes me as akin to the other well-known problem of how SL set things up to use HTTP. They didn’t use this: http://en.wikipedia.org/wiki/HTTP_persistent_connection
    The result is a heavy load on the router at the customer end, and/or the network stack in the customer computer.

    Humans have the mental wiring to spot patterns, possible signs of danger, and I wonder if I am getting a false positive on a pattern of SL having a poor understanding of the internet beyond their office walls.

    Like

    1. Part of Monty’s work on HTTP is persistent connections. If I’m understanding things aright (and again, I’m far from a technologist – I try to pick things up as I go by attending meetings and then hunting around the internet for more background ino 🙂 ), the UDP issue is specifically related to “SL UDP” – the qualifier of “SL” suggesting it is something specific to the way in which UDP was implemented in building-out SL. So maybe someone mised something or was trying to be overly clever, and now it’s back doing a spot of posterior biting?

      As to persistent connections, Monty’s HTTP work is focused upon that – ib fact, it’s been a concern of his for the last 6+ months, hence all the tests he’s been carrying out on routers. I’ve covered some of his more recent feedback in week 2 and in week 4. The week 2 update also chas some of Monty’s hopes for what will happen to the UDP services down the road a way, and the problems in getting to that point.

      Like

Have any thoughts?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.