SL project updates 41/2: TPVD meeting, attachments & Interest List issues

Ironwood Hills; Inara Pey, October 2015, on Flickr Ironwood Hills (Flickr) – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, October 9th, 2015. A video of the meeting is included at the end of this report, although the opening few minutes of the meeting are missing. Because of this, I’ve included an audio file as well to cover the opening of the meeting.  Time stamps to both the audio and the video are provided, and my thanks as always to North for the video recording and providing it for embedding.

Please note that any extraneous noises on either the audio or the video are the result of an open mic in the meeting itself, and not from myself or North

Server Deployments: Week 41 – Recap

As per the server deployment thread, there were no scheduled deployments / restarts for the three RC channels during the week, while the Main (SLS) channel received the same server maintenance package deployed to the RCs in week #40.

SL Viewer Updates


[00:00 – 02:10 on audio]

CEF Project Viewer

On Wednesday, October 7th, the Lab issued the long-awaited project viewer utilises the Chromium Embedded Framework (CEF) for media handling – and more – in Second Life. Version sees CEF replace the ageing llqtwebkit functionality for media management in Second Life (also see my separate update).

[13:25 video] The emphasis from the Lab is that if you use web media in-world test your products / projects / uses thoroughly with the CEF project viewer, and make sure you continue to test as the project viewer is updated, in order that specific issues encountered can be reported and looked at while the lab is still developing the viewer.

It also appears that QuickTime media may still work on this viewer, rather than being disabled, as had been indicated in my last TPVD update. However, this should not be taken to mean either QuickTime or Flash will be supported by the Lab going forward, or that media using them will be viewable by all users. CEF, HTML 5, etc., are the future of media in SL.

Other Viewer Updates

On Friday, October 9th the HTTP updates viewer (project Azumarill) was promoted to release Candidate status with the release of version This viewer provides improved performance and stability. Impacts include: asset uploads, AISv3 inventory manipulation, VMM, Experience management, LSL compilation, Simhost event polling, etc.

Currently, it appears as though the Maintenance RC viewer, version, is in line to be promoted to the de facto release viewer in week #42 (week commencing Monday, October 12th).

An update for the Oculus Rift project viewer (currently version, and now almost a year old), is still expected, but it is subject to other work being undertaken at this point in time.

Attachment Loss on Region Crossings

[03:44 audio;  00:00 video]

The Lab recently carried out extensive work to reduce the number of attachment loss issues occurring as a result of issues caused directly within the viewer itself (project Big Bird). However, while this work fixed a lot of issues, some still remain, particularly during region crossings, whether physical or via teleport (see BUG-7761 as an example).

Essentially, what happens when moving from one region to another is that all of the attachments on your avatar must get new IDs from the simulator to which you are moving. The viewer then has to associate these new IDs with the attachments you are wearing, and the locations where those item as actually attached. In doing so, it attempts to preserve continuity  by keeping things where they were according to the region you’re leaving, and then updating them with the information it receives from the new region.

A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip
A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip

This obviously involves a lot of messages being passed back and forth between server and viewer – and the more attachments you have, the greater the number of messages being passed back and forth.

Additionally, if the attachments are scripted, further messages relating to script states, etc., also need to be passed relating to their state, etc., which adds to the load. Finally, all of these messages may use different transport mechanisms to pass between server and viewer.

This means there are many opportunities for messages to arrive out-of order due to race conditions, etc., or to be dropped and lost because of possible network issues and some messaging mechanisms not having a retry option, etc. It is these problems which tend to result in issues with attachments being removed, etc.

The Lab is interested in trying to eliminate as many of these problems as they can (allowing for the fact some might be related to your network connection, and possibly outside of their ability to control). However, in order to do so, they first need to identify exactly what is going on, and this requires examples of attachment losses, etc., that are consistently reproducible (e.g. attachment type X will always detach when crossing between regions Y and Z, for example). It is these kinds of consistent examples which are proving hard to find – so if you do know of one, please raise a JIRA outlining it step-by-step.

Continue reading “SL project updates 41/2: TPVD meeting, attachments & Interest List issues”


“Project interesting” viewer reaches release status

On Tuesday May 6th, the Lab announced the “Project Interesting”  viewer has finally made it to a release status with the arrival of version of the viewer as the de facto release version.

Available since mid-November 2013 as a release candidate viewer, this release represents the last stage in the current work on improving interest list functionality, the code which controls how the data relating to your in-world view is handled by both the server and the viewer. This includes what is sent to the viewer, what is retained by the viewer for reuse and things like the order in which objects are rendered when you log-in to SL or teleport (so that the “interesting” objects which are closer to you or which are particularly large should render first, for example).

To mark the viewer’s formal release, the Lab has re-issued a video by Torley Linden, originally released when the viewer first made it to release candidate status, which neatly encapsulates the key updates contained within the viewer, and how they relate to server-side changes which have already been implemented.

Related links

SL project updates week 3 (1) Server and viewer + misc items

Simulator User Group meeting (stock)
Simulator User Group meeting (stock)

Server Deployments: week 3, 2014

There are no server deployments this week on either Tuesday 14th (Main channel) or Wednesday 15th January (RC channels). The latter was anticipated to be the case, after Maestro Linden indicated there were no maintenance or other projects in the RC pipeline during the Server Beta meeting of Thursday January 9th.

While it had been thought that issues relating to STORM-1831 were not sufficient to prevent the RC package deployed in week 2 from being promoted to the Main channel, the decision has been taken to allow the package to run a further week on the RCs.

Week 4 Deployments

It now seems as if the plan is to deploy the RC maintenance project to the Main grid in week 4 (week commencing Monday January 20th), and to issue a new server maintenance project on the Wednesday of that week, although details on this have yet to be finalised.

SL Viewer

The Project Interesting viewer with the viewer-side interest list changes (notably the changes to how region information is cached and re-used by the viewer) gained a further update on Tuesday January 14th, with the release of release candidate, which includes a number of additional bug fixes – see the release notes and download page.

STORM-1831: LSL Syntax Highlighting

This contribution by Ima Mechanic will allow LSL syntax highlighting in the viewer’s LSL editor to be updated and defined using a file obtained directly from the simulator the viewer is connected to, with the intention to eliminate issues of the viewer using outdated versions of the file. The server-side updates for this work are currently deployed to all three RC regions. However, as of the end of week 2, additional work was required on the syntax file itself.

In addition, there are a number of issues which are currently being addressed with the viewer-side code. These are listed on the JIRA for the project – STORM-1831, and require resolution prior to the code being issued  in a release candidate viewer. Most of these are currently being worked on, and are not seen as major show-stoppers, but will delay the code’s appearance in the short-term.

Other Items

Values for brush constants in calls to llModifyLand

One issue which has (again) been raised through STORM-1831 is that the values for brush constants in calls to llModifyLand, used for scripted terraforming operations, are out by 1 each (they are set to 1, 2, 3 and should be 0, 1, 2). This means that, for example, a call using LAND_SMALL_BRUSH will edit an area of 4×4 metres, not 2×2. The wiki documentation for the function notes the error as well. As a result of discussing this issue in the Open-source Developer’s meeting on Monday January 13th, a STORM JIRA was raised to (again) highlight this issue (STORM-2006).

However, as the issue itself is actually related to either STORM-1831 per se and because it will actually require server-side changes, the issue is liable to be moved to a BUG status and triaged from there.

Snapshot uploads to the SL Feeds

“It has to do with authentication under the hood when getting the credentials and then using them to fetch the snapshot config info,” Simon Linden said at the Simulator User Group meeting on Tuesday January 14th. The problem is still being worked upon for those still affected by it (I am), but there is currently no ETA as to a complete fix for the matter.

With thanks to Mona Eberhardt for the meeting notes.

“Project Interesting” arrives as a release candidate viewer

The long-awaiting “Project Interesting”  viewer has finally made it to release candidate status with the arrival of version of the viewer on Thursday November 14th.

This viewer represents the last stage in the current work on improving interest list functionality, the code which controls how the data relating to your in-world view is handled by both the server and the viewer. This includes what is sent to the viewer, what is retained by the viewer for reuse and things like the order in which objects are rendered when you log-in to SL or teleport (so that the “interesting” objects which are closer to you or which are particularly large should render first, for example).

The vast majority of the interest list work has already been delivered, and everyone should already be enjoying the broader benefits. However, the final phase of the current batch of work has been focused on both server and viewer changes, and the latter have been somewhat delayed due to a number of bugs, some of which were the result of the need to further tweak things server-side which in turn adversely affected the viewer’s behaviour, while others were bugs which appeared to have been dealt with, only to return in a later build.

The “project interesting” viewer updates should further improve scene loading for users through improved caching of region and object data, better use of memory, etc.

The core changes within this viewer relate to what can be cached locally. This should allow the viewer to store more information on objects and regions than is currently the case, enabling it to re-use object / region data without having to rely on the server to re-send the information, improving rendering times when you are exploring a region / teleporting back to a region previously visited.

One of the bugs which delayed the arrival of the “project interesting” viewermeant that some objects would not render (as is the case with the house in this image). Unlike the recent “missing prims” issue, no bounding box, etc., was loaded by the viewer, so right-clicking where the house should be would not resolve the issue – a relog was required (image courtesy of Whirly Fizzle)

There are other improvements to further assist with scene loading as well. For example, when teleporting into a region never before visited, the viewer can now tell the simulator that it has no data for the region cached, and the simulator can in turn simply get on with prioritising the data and downloading to the viewer, rather than it having to repeatedly ask the viewer if it needs the data, as is currently the case. The result of this is that “several seconds” can be shaved from scene loading times for uncached regions. Also, the viewer will no longer load objects from cache into memory if they are completely by scene geometry, thus reducing unnecessary memory use.

The viewer is currently a release candidate, which means it will be downloaded and installed for some users who have indicated a willingness to participate in the release candidate programme through their viewer Preferences (Set-up > Willing to update to release candidates). Those who wish to manually install the viewer can read the release notes and download it from the link below.

The Lab issued a blog post to accompany the viewer release (which I initially missed), which includes a video demonstrating the changes, narrated by Torley Linden.

Related Links