SL projects update week 21 (2): server releases, Interest list, group ban list

Server Deployments

As always, please refer to the release forum  thread on the weekly deployments for the latest updates and discussions.

Due to issues with the JSON deployment made to all three Release Candidate channels in week 20, there has been no Main channel deployment in week 21.

On Wednesday May 22nd, the three Release Candidate (RC channels should each receive the following updates:

  • Magnum should receive an update to the server maintenance project deployed to all three RC channels in week 20 which includes fixes for bugs within the LSL support to create and parse JSON-formatted strings, which I reported on in my week 20 report.  This week’s update fixes some bugs related to the changes. Release notes.
  • BlueSteel should receive a further update to the experience tools project, and there should be no visible changes with this update. Release notes
  • LeTigre should receive an update related to the simulator’s interest list subsystem which reduces scene loading time when entering a new region. Release notes.

Interest List Bits

Andrew Linden
Andrew Linden (image captured by Opensource Obscure)

As noted in week 18, Andrew Linden has been working on fixing a bug which he specifically mentions in terms of Meeroos, but which can affect other animals as well, which he described as:

If you turn your camera away from a crowd of Meeroos, wait several seconds, then turn back around… the Meeroos will be updated, but not quite in the right order. So sometimes you’ll see a head move to the new position, then a fraction of a second later the rest of the body.  So I have a theoretical fix that doesn’t crash the simulator (anymore)

Providing an update at the Simulator User Group meeting on the 21st May,, he said, “I do have a little news about the Meeroo animation bug… I wasn’t able to fix it after all… but I did reduce it or eliminate it for meeroos that are nearby (closer than 10m).” He also noted an issue with the Meeroos’ animations which he believes to be “Mostly by slow scripts, low bandwidth connection, or general lag,” which results in the Meeroos walk animation appearing to be broken. He believes the fix in his new project will enable nearby Meeroos to update correctly when being viewed, and he’ll be revisiting the problem once the initial fix has been deployed, although he’d be interested in hearing back on how well the partial fix works, once the fix has gone out.

Baker Linden: Group Ban List and Other Work

Baker Linden: getting closer to working on group bans
Baker Linden: getting closer to working on group bans

Baker Linden reports that he is making “really great progress” on fixing leading and trailing spaces in display names. He’s currently working on some unit tests and dealing with a couple of minor issues, but he hopes that overall it will be ready for QA later in the week. He did admit that, “I’m unsure how useful it’ll be — anyone that wants to game the system will just append a bunch of other characters that appear before letters… But at least whitespace will be stripped.”

Once this has happened, he’ll be finishing-off the fixes for name searches using the People floater and the correct removal (unmuting) of muted avatars and objects from the viewer’s mute list. As soon as these two issues have been dealt with, Baker will be pushing forward with the new group ban list capability as requested in JIRA SVC-8127.

SL projects update week 20 (2): materials beta, SSB/A

Server Deployments – Week 20

As always, please refer to the release forum  thread on the weekly deployments for the latest updates and discussions.

Second Life Server (Main channel)

On Tuesday May 14th, the Main channel received the Experience Keys project. This means the project is now available across the grid, although there are no visible changes to be seen at this point. Release notes.

Release Candidate (RC) Channels – JSON Capabilities

On Wednesday May 15th, all three RC channels received a new server maintenance project (release notes (Bluesteel)).  The project is designed to fix two crash modes and two bugs, and introduce new LSL support creating and parsing of JSON-formatted strings – see part 1 of this week 20 report.

Commenting on the JSON capabilities at the Server Beta meeting on Thursday May 16th, Maestro Linden said, “There are some issues with this week’s Json functions… the keys in key-value pairs are not quoted, but should be and right now you’ll run into problems when you add stings which contain escaped quotes.”

In addition, a further confirmed bug has been found in the code on the three RC channels (BUG-2601), described by Lucia Nightfire as:

Seems that the release on the RC channels has brought about an annoying bug that affects control event triggering in attachment’s child prims after changing regions.

There are two different effects depending how you enter a version 13.05.14.275813 RC region.

After going into an RC region while using any controls, those controls will lock under execution and remain locked until you reset the script or the control perms or detach the object.

After going into an RC region without using controls like with a teleport, the control event will not trigger when attempting to use any controls until you re-request/re-grant control perms or go back to a main channel region.

Should this problem be encountered, returning to any Main channel region should restore the broken functionality.

Because of both of these issues, it is believed the code currently on the three RC channels will remain on them for a further week while fixes are developed and implemented.

SL Viewer Updates

Beta Viewer

The current SL beta viewer code, which contains the FMOD Ex updates is expected to be merged with viewer release shortly, prior to going to testing. Depending on the results of the testing, an updated SL release viewer should appear early in week 21.

Viewer Release Process

Because the version upgrading changes will move to the viewer release channel with the move of the current beta viewer, the viewer beta repository will stop being used, and viewer releases will start switching over to the new release process. As a part of this, two new wiki pages will be appearing in the next future (probably in week 22).

The first of these will be a revamped Alternate Viewers page on the wiki, which will list all the available LL project viewers and beta viewers and release candidates which are available, as well as the current viewer release, all of which will have download links and links to their respective release notes.

The second wiki page will have the same information together with pointers to which repository used to build the viewer, which changesets were used to build a viewer, and whether or not the repository is public.

The plan remains that under the new release process, all beta and release candidates will have public repositories, while project viewers many not initially have public repositories, but will have as they reach the later stages of their development.

Cocoa Project

The Cocoa project for Mac versions of the viewer has been largely stalled as a result of redeploying TPV assistance from that project to the materials project. It is anticipated that once materials moves to a beta viewer status, the emphasis will shift back on to the Cocoa viewer work

Materials Processing

Providing all goes according to plan, the Materials Processing code should move to a beta  status within its own repository and hopefully also make an appearance in week 21. Commenting on this, Oz Linden said at the TPV Developer meeting o Friday May 17th, “It’s still not 100% there; there’s still a few known bugs, but we think we’ve got all the serious ones and so we’re going to put it out where people can play with it.”

Once the materials viewer does reach beta, the anticipation is that it will remain there for “a little while” and the it will not be a one-spin beta release prior to moving on.

Detail on the hint of a Katana created entirely using the new materials capability. The sword is made by June Dion and has an LI of 7
Materials used to create details on the hilt of a Katana created by June Dion – soon to be visible in the Materials Processing beta viewer

Continue reading “SL projects update week 20 (2): materials beta, SSB/A”

SL projects update week 20 (1): server, JSON, viewer release process

Server Deployments – Week 20

As always, please refer to the release forum  thread on the weekly deployments for the latest updates and discussions.

Second Life Server (Main channel)

On Tuesday May 14th, the Main channel received the Experience Keys project which is widely regarded (and referred to by LL staff) as the “experience permissions”. This means the project is now available across the grid, although there are no visible changes to be seen at this point. Release notes.

Speculation is still running high on exactly what the new project is – and whether it is “just” the experience permissions to partner the existing advanced creation tools ot something more – as well as whether the capabilities will be available for use across the grid (i.e. on Mainland as well as private estates). Details will be forthcoming from the Lab in time; for the moment, they’re holding their cards close to their collective chest.

Release Candidate (RC) Channels – JSON Capabilities

On Wednesday May 15th, all three RC channels should receive a new server maintenance project (release notes (Bluesteel)).  The project is designed to fix two crash modes and two bugs, namely:

  • A fix for ‘Overriding “Sitting on Ground” animation while sitting on the ground makes “stand up” button disappear’ (BUG-2424)
  • A fix for ‘ApplyImpulse now works only in the root prim’ (SVC-8227)

In addition, this project introduces new LSL support creating and parsing for JSON-formatted strings. The new LSL functions comprise: 

  • list llJson2List(string json) – converts the top level of the json string to a list.
  • string llList2Json(string type, list values) 
    • Type is JSON_ARRAY or JSON_OBJECT
    • Converts either a strided list of key:value pairs to a JSON_OBJECT or a list of values to a JSON_ARRAY
  • string llJsonGetValue(string json, list specifiers) – gets the value indicated by spcifiers from the json string.
  • string llJsonSetValue(string json, list specifiers, string value) – returns a new json string that is the json given with the value indicated by specifiers set to value
  • string llJsonValueType(string json, list specifiers) – returns the type constant for the value in json indicated by specifiers.

At the time of writing, the RC deployments still had a question mark over them as testing was, according to Simon Linden when speaking at the Simulator User Group, “down to the wire, although it all looks good.”

Further information on the new LSL support for JSON can be found on the LSL JSON wiki page.

The project is being lead by Kelly Linden who described the reason for implementing them as being because he’s “keen on improving the ability to interface LSL with the larger web. The previous maintenance version expanded the content-type support of http-in and http-out which ties in with this.”

It is likely that further LSL support for JSON will be added in the future.

SL Viewer

Beta Viewer and the Viewer Release Process

A further beta viewer release was made on May 11th (3.5.2.275565) – see the release notes for details – in preparation for the deployment of the new viewer release process. The beta 3.5.2 viewer incorporates changes required by the new service.

While at the Open-source Dev meeting on Monday May 13th, I asked Oz Linden on the status of the new process. “Internally, we’re essentially already using it in that all projects are based on viewer-release,” he replied. “We’re starting system test of the server-side infrastructure changes this week… once those are tested, it’s just a matter of deploying them and we can fully switch over to the new process. ‘just deploying’ on our scale is always an understatement, incidentally.”

This does not mean the release process is about to be deployed, however. The server-side infrastructure testing is liable to be on-going for a while. One aspect which the Lab will be checking carefully is the changes made to the log-in process.

When a user logs-in to Second Life using an official viewer, a check is carried out to see if a mandatory upgrade is required. To prepare for the new release process, is check has been updated. “that’s not something one deploys without having taken every step one can think of to quadruple-check just a bit,” Oz explained.

How long the tests will take to complete is unclear, but it is unlikely the new release process will be deployed in week 20.

Materials Processing

May 8th saw the The materials project viewer updated with the release of version 3.5.2.275470, with the release notes available here.

Detail on the hint of a Katana created entirely using the new materials capability. The sword is made by June Dion and has an LI of 7
Detail on the hilt of a Katana created entirely using the new materials capability. The sword is made by June Dion and has an LI of 7

Work is continuing with the viewer, focusing on the UI issues which need to be resolved in order for the code to progress towards mainstream  release.

Continue reading “SL projects update week 20 (1): server, JSON, viewer release process”

SL projects update 19 (3): server, pathfinding, materials & more

Server Deployments – Week 19

The week 19 server deployments went ahead as scheduled and as outlined in an earlier part of this report, to wit:

SLS (Main) Channel

On Tuesday May 7th, the Main channel received the maintenance package which has been running on Magnum. This project brings some new minor features to LSL, and fixes some crash modes and well as additional LSL HTTP support, as well as the previously rolled-back new AO capabilities.

In addition, this package included an additional update which was not documented in the release notes until after the deployment had been made: “Fixed a bug: ‘Orientation data for landing point is disregarded during teleport’.

This fix means that when teleporting to a place which has a defined landing point, you will arrive facing the direct determined by that landing point, rather than arbitrarily facing east. To complement this fix, there is an upcoming viewer update which will show the heading of a parcel’s landing point on the map – but no details on when that update is liable to appear.

Pointing out the fix at the Server Beta meeting, Maestro Linden added, “There’s an exception for cases in which if you have a beacon set, where you’ll face the beacon position instead. I think this is a bug.”

This lead to a discussion on the exception, in which the wider consensus appeared to be that having an avatar facing the beacon (when set) on arrival might be the preferable to automatically having the avatar facing the direction imposed by the landing point. However, this would mean people using a beacon would arrive at the landing point facing a direction other than the land owner intended, prompting Voidpointer Linden to comment, “Yeah, seems like we would only want to have you face the beacon when going to a landing point if it’s in the same region, maybe?”

It’s currently unclear as to whether the feedback from the meeting will mean this exception is allowed to continue, or whether there will be further tweaking with the landing point code in the future,

Release Candidate Channels

On Wednesday May 8th, all three Release Candidate channels (BlueSteel, LeTigre and Magnum) received server-side support for experience permissions which was running on BlueSteel in week 18. The update, as usual, will also include the changes which are going to the Main channel on May 7th, which included the new AO capabilities – release notes (BlueSteel).

SL Viewer Updates

Beta Viewer

The beta viewer as we currently know it received what might by its final update prior to the new viewer release processing coming into effect. Version 3.5.2.275565 was released on May 9th, and the release notes provide details on changes.

Materials Processing Project Viewer

A new version of the Materials Processing viewer – 3.5.2.275470 – was released on May 8th, based on the 3.5.2 viewer code. The release also appears to include a fix for MATBUG-38 (“Material with normal map but no specular map is always specular with no adjustment possible”), and which I’d described in week 18.

MATBUG-38. appears to have been fixed in Material Processing project viewer 3.5.2
MATBUG-38. appears to have been fixed in Material Processing project viewer 3.5.2.275470, May 8th 2013.

The release may also include a fix for MATBUG-16 (Changing one material, or setting causes another material texture to be lost), which I’d previously noted in week 16.

Whether this latter issue is fixed is hard to judge, as it was somewhat intermittent to start with. and there have been reports that it was already less noticeable with the previous release of the viewer. However, at the time of writing, the bugs remain marked as Unresolved / Incomplete in the public JIRA (but could have been updated in LL’s internal JIRA).

I can say that I’ve so far been unable to reproduce either bug using the new release, having carried out a number of individual tests.

Continue reading “SL projects update 19 (3): server, pathfinding, materials & more”

SL projects update week 19 (1): server releases, SSB/A, materials

Server Deployments Week 19

Second Life Server (Main) Channel

On Tuesday May 7th, the Main channel should receive the maintenance package which has been running on Magnum. This project brings some new minor features to LSL, and fixes some crash modes and well as additional LSL HTTP support – release notes.

 Release Candidate Channels

On Wednesday May 8th, all three Release Candidate channels (BlueSteel, LeTigre and Magnum) should receive server-side support for experience permissions which was running on BlueSteel in week 18. The update, as usual, will also include the changes which are going to the Main channel on May 7th – release notes (BlueSteel).

I was somewhat confused by the release notes for 13.05.04.275247 package, as on the one hand they suggested the new LSL AO capabilities would be absent from Agni following the RC deployments (“Changes since 13.04.19.274370 … Removed changes introduced by Second Life Server 13.04.12.273874”), while on the other, the line originally following this comment suggested otherwise.

I contacted Maestro for clarification, and he confirmed that the AO capabilities will be present on the RC channels following the deployment, and that the release notes have been revised to prevent any further confusion.

As always, there is a discussion thread in the forums for the deployments.

Server-Side Baking / Appearance

SSB/A - further viewer-side updates expected. No published timeline on testing as yet
SSB/A – further viewer-side updates expected. No published timeline on testing as yet

As noted in the last part of my week 18 report, there will be at least update to the viewer-side SSB/A code, which Nyx referred to at the Content Creation meeting on Monday May 6th as being, “Mostly reliability and some related polishing”. From the TPV Developer meeting on Friday May 3rd, the release will be addressing some additional ways in which baking can fail as well as addressing stability in general, although as Nyx noted at the TPV Developer meeting, “Nothing that we know of right now that would be mandatory for the system to work.”

The question of when constrained testing would commence again came up at the Content Creation meeting. This will see a number of regions across the main grid have the server code for SSB/A enabled in order for LL to carry out further load tests on the system ahead of the “switch being thrown” and SSB/A enabled across the entire grid. All Nyx would say on the matter is, “We don’t have a timeline to announce today.”

Whether this means there will be a formal announcement when testing does commence, remains to be seen. However, the Lab is still intending to make a formal announcement on SSB/A, mostly likely via a blog post, ahead of the service being enabled across the grid in the hope of further communicating the change, and the need to upgrade to an SSB/A-capable viewer to as many users as possible.

Outfit Changes

During her tests with SSB/A on Aditi, Kitty Barnett noted that when changing a wearable or reordering the layers of an outfit, the updated bakes could take a while to come through. Concern that this might be the case when SSB/A is enabled on the main grid prompted her to ask:

For server-side baking, would there be any issue with turning on local baking to make getting dressed more pleasant? it could be Aditi, but [when] wearing something it takes a very long time before the server bake comes through, particularly reordering clothing or taking something off … I actually just turn local baking on as soon as there’s a wearable change and it seems to be working nicely and turns itself off when the server bake comes through… but I was wondering if that would cause any undesirable issues [if the same was done on Agni]?

Local bakes already occur when using the Editing Appearance options, so Kitty’s question appears to be more broadly aimed at general outfit changes (people simply swapping individual clothing layers directly from inventory, and (possibly) using the capability in some TPVs to re-order clothing layers directly from inventory, rather than going via the appearance editor).

Responding to the question, Nyx said:

I’m not certain how you’re turning on local baking, and can’t really speak to whether there are undesirable behaviors as a result. The code to switch between the different types of bakes is rather complex and sometimes fragile, and bugs in that area can be subtle … Proceed with caution and best of luck :). Report back if it works well (or if you find interesting bugs!)

Whether such a delay will be noticeable enough to be an irritant on Agni is hard to say as we’ve yet to see the server code up and running on the main grid, so it’ll be interesting to see what further tests on Kitty’s part reveal as testing commences.

Continue reading “SL projects update week 19 (1): server releases, SSB/A, materials”

SL projects update 18 (4): servers, viewer release process, group bans and bits

Server Deployments – Week 18

As reported in the first part of this update, the SLS Main channel was rolled back to release 13.04.05.273580, as a result of a widespread performance issue.  This unfortunately saw the removal of the new LSL animation capabilities from the channel.

The issue itself is related to problems with regions locating their neighbours. “The sim were hitting the [region presence lookup] service too hard, causing stability problems.” Maestro Linden said at the Server Beta meeting on Thursday May 2nd. Release notes.

In the original notes for this week’s deployments, BlueSteel and LeTigre were scheduled to receive the same deployment package. However, this was subsequently changed so that:

  • BlueSteel received the same reversions as the Main channel due to the performance issue between neighbouring regions, but also received updates for the Experience Keys project as originally planned. Release notes.
  • LeTigre received the same code that was on the main channel in week 17, the only difference being that it fixes the performance issue that caused the Main channel to be rolled back this week.  Release notes.

Maestro described the deployment of the fix for region lookup issues as the “conservative option”, rather than deploying the fix to multiple Release Channels, “In case the changes from the other two channels have their own problems.”

Magnum received the package originally scheduled for it, described as bringing some new minor features to LSL, and fixes some crash modes as well as the fix for grid performance issue, and fixing an issue in which llDialog() messages sent to the object owner could be incorrectly throttled. Release notes.

The hope is that if all is well with the Magnum update, it is liable to be deployed to the Main channel in week 19.

SL Viewer Updates

Beta Viewer Release

A new beta version of the viewer emerged on May 2nd, using the 3.5.2 code (3.5.2.275087). This release includes the update from FMOD to FMOD Ex, and well as a number of other maintenance and other fixes as specified in the release notes.  However, it does not include the anticipated Vivox updates to improve SL Voice. These will be coming along at a later date.

The current plan is for this release to remain in the beta channel for at least one further update prior to it appearing in the release channel. As such, it is unlikely to be in the release viewer until late in week 19 or in week 20. Once it has appeared in the release viewer, LL will probably deploy the new viewer release process, and the beta channel will cease being used.

Viewer Release Process

Oz Linden
Oz Linden

As previously reported, the viewer release process will be changing in the coming weeks. As a part of this, the development viewer channel has already been deprecated; however it will still be a while before the new process is put into place, as further infrastructure changes are still required on LL’s part.

Concerns have been raised by TPV developers about a side-effect of the new process potentially being that the rate at which code becomes available to them may slow down, thus causing them to “fall behind” the LL viewer in terms of new functionality or capabilities. Stressing that this is not the intent, Oz Linden described process in further detail at the TPV Developer meeting, indicating that under the new system:

  • Viewer projects will each have their own repositories, which will be made available to TPVs (and others) once it is deemed they are “safe to share” as a project or “beta” viewer
    • While it has yet to be formally decided within LL, and may take a little time to work up to, critical bug fixes are liable to have their own repositories, from where they can be merged into other viewers
  • Users will be able to pick which beta / project viewer(s) they download from the Alternate Viewer wiki page without being tied to any specific update route (so you can download and run as many project / beta viewers as you like)
  • Once a project is believed to be of release quality, it will be put into a release candidate, built on the current viewer release code and released to a target number of users (as chosen by LL), alongside other release candidates being used by other users
  • When a user receives a release candidate viewer via the download page, the updates they receive will be offered on the basis of the release candidate they are currently running (for example, if a user is running the Materials RC viewer, they won’t be offered updates from, say, the SSB/A RC viewer)
  • After some period of time, and when LL have looked at the results, one of the release candidates will be promoted to the default download (without the viewer having to be rebuilt) and will be available on the main download page
  • The remaining viewer projects (at least those at release candidate status) will then be merged with the newly-released viewer code, and re-test and issue a further release candidate, which may in turn be selected as the next candidate for promotion to the default download.

He added that in terms of TPV’s concerns over code being made available to them, the level of co-operation which has been evident in the Sunshine project (SSB/A) has “not gone unnoticed” within LL’s management, and that the team involved has received a lot of kudos for the way they have handled interaction with TPVs. As such, it is likely that the Lab will endeavour to build on this going forward.

Continue reading “SL projects update 18 (4): servers, viewer release process, group bans and bits”