SL projects updates 21/2: grid issues, server updates, viewer

Server Deployments week 21 – Recap

On Tuesday May 20th, the Main (SLS) channel received the server maintenance package deployed to Magnum in week 20.This includes a bug fix for a networking-related issue that sometimes affects busy sims. Issues encountered during the deployment, but unrelated to it (see below) meant it had to be curtailed.

As a result, the Main channel deployment resumed on Wednesday May 21st, with the result that the deployments scheduled for the 21st in fact took place on Thursday May 22nd, as follows:

  • The BlueSteel and LeTigre RCs remained on the Sunshine / AIS v3 server-side code, and received the networking-related bug fix deployed to the Main channel
  • The Magnum RC received a new project, which includes changes related to the ‘Experience Tools’ project.

More on the Log-in and Grid Issues, Tuesday May 20th

Simon Linden identified the issue which caused log-in issues on Tuesday May 20th
Simon Linden identified the issue which caused log-in issues on Tuesday May 20th

During the Server Beta meeting on Thursday May 22nd, Simon Linden, who identified the problem, gave a further explanation of Tuesday’s grid issues, which prevented people from logging-in to SL.

Essentially, the log-in server was failing to give the viewer the correct token for it to connect to a region, so people actually got through the log-in phase when starting their viewer, but never connected to a region. “The conversation between the login server, your viewer and the region didn’t work any more,” Simon said.

Maestro then added, “After logins were restored, there was a period where the inventory servers got pretty ‘heated up’, probably from people logging in after hours of downtime, so inventory was bad for an hour or two.” It was apparently at this point that the decision was taken to suspend the Main channel server deployment and resume the work on Wednesday May 21st, pushing the RC updates into Thursday.

It is not anticipated that the problem will recur now it has been identified and rectified.

As a result, the scheduled maintenance that had been planned for Thursday May 22nd was cancelled. This work has yet to be rescheduled, and is apparently to be focusing on the database hardware. “Sims should have slightly faster access after the maintenance,” Maestro said of the work, “though I wouldn’t promise anything major.”

The Grid Status page will carry the revised date and time of the work once it has been rescheduled.

SL Viewer

As noted in these pages, The Lab released its Oculus Rift project viewer to the public on Wednesday May 21st, with an announcement in the main blog. The viewer, version 3.7.8.289834, is aimed at getting people started on using the Oculus Rift in Second Life, rather than at providing a finished product with UI optimisations, and appears to be aimed towards encouraging early adopter of the Oculus Rift to try-out Second Life.

Also on Wednesday May 21st:

  • The Zipper viewer for faster installation was promoted from project viewer status to release candidate status with the arrival of the Zipper RC viewer, version 3.7.9.290133 in the release channel
  • The Sunshine / AIS v3 RC viewer returned to the release channel in the form of version 3.7.9.290131, referred to as “Sunshine v2”.

These two viewer updates see the total number of release candidate viewers in the release channel rise to four once more. As also, details of updates in my Current Viewer Releases page.

Group Ban list

One of the required central updates for the group ban updates was deployed to Agni on Wednesday May 21st. A further update is needed before a server RC with the group ban code gets deployed, however. These updates are related to the central service to manage group bans.

 Other Items

LSL Functions for Materials

Not a lot to add here. As mentioned in part one of this report, Simon is now actively working on this functionality. He didn’t have too much to add during the Server Beta meeting, other than Maestro Linden has also been looking at the work Simon has done and has fixed a few issues. There’s still no date when the work might become visible for people to poke at.

LSL Functions for Projected Lights

Talk of LSL functions for materials saw talk of LSL functions for lighting projectors resurface (see SCR-163), prompting Simon to ask, “Does anyone have ideas how people might cause trouble with the projector LSL functions? I wondering how it might cause problems, other than lots of updates … and if it would be any different from rezzing stuff?” Nothing of any serious impact could be identified, although it’s not clear whether the Lab will poke at that or not once the materials LSL functions have been sorted.

Hiding Objects from View and Parcel Privacy

BUG-5671 is actually a feature request, and concerns the provision of a check box in the viewer’s Parcel Properties so that all objects outside that parcel would be not be rendered for anyone within the parcel boundaries. The request appears to be for a server-side function, and the JIRA has seen some heated debate on the matter.

Simon Linden revealed that while working on the parcel privacy option (which hides avatars inside a parcel, and blocks their chat from those outside of the parcel (and vice-versa), he looked at also blocking object views, “and even played with a prototype,” he said. “It’s pretty ugly because you end up with nothing there … at least in my simple code. “Then you walk onto the parcel and all the trees and house and stuff pops up … it was odd.”

However, he revealed the request has been imported by the Lab, so there might be some interest in doing something with it. Part of the debate around the idea on the JIRA has been on whether the setting should be enforced server-side or just within the viewer (so the user retains the choice as to what they see outside a parcel). Commenting on this, Simon said, “server-side would be better so you wouldn’t get updates for things you can’t see, but a cosmetic viewer-side option might be possible.”

So that’s another one to watch out for.

SL projects updates 21/1: server, viewer, LSL and materials

Server Deployments Week 21

Main (SL) Channel

On Tuesday May 20th, the Main (SLS) channel received the server maintenance package deployed to Magnum in week 20.This includes a bug fix for a networking-related issue that sometimes affects busy sims.

Issues encountered on the grid, but unrelated to the new code deployment, interrupted the latter. Commenting on the situation at the (late-starting) Simulator User Group meeting, Simon Linden said, “I believe the rollout stopped in the middle, and things will get patched up tomorrow morning. We’re still picking up the grid pieces and will sort out the clean up plan later in the day.”

BlueSteel and LeTigre RCs

On Wednesday May 21st, the BlueSteel and LeTigre RCs remain on the Sunshine / AIS v3 server-side code, and receive the networking-related bug fix deployed to the Magnum RC in week 20 and to the Main channel on Tuesday May 20th – see here for details.

Magnum RC

On Wednesday May 21st, the Magnum RC should receive a new project, which includes changes related to the ‘Experience Tools’ project.

SL Viewer

The de facto release viewer updated on Monday May 19th to version 3.7.8.289922, formerly the Maintenance RC comprising fixes in Recent tab, Chat, LSL editor, land management, etc; GPU table updates; crash fixes & performance improvements – release notes here.

Also on Monday May 19th, the following RC viewer updates occurred:

  • The Sunshine / AIS v3 RC was temporarily removed from the Alternate Viewer page, but is expected to return soon
  • A new Memplug RC viewer, version 3.7.8.289942 was released, containing a number of fixes for memory leaks which are expected to result in improved viewer performance and a reduction in crash rates.

LSL Functions for Materials

Materials processing: LSL capabilities for materials
Materials processing: LSL capabilities for materials now being looked at

Further to discussions in week 20, Simon Linden had some news on the much-requested LSL functions for materials processing, saying, “I can say I was trying to grief myself with materials LSL functions the other day. I hope we can talk more about that on Thursday at the beta user group.” He went on to outline some of the functions for manipulating materials that he’s been playing with:

Get functions:
[PRIM_SPECULAR, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
[PRIM_NORMAL, integer face] returns [string texture, vector repeats, vector offsets, float rotation_in_radians]
[PRIM_ALPHA, integer face] returns [integer alpha_mode, integer alpha_cutoff]

Set functions:
[PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossy, integer environment]
[PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians]
[PRIM_ALPHA, integer face, integer alpha_mode, integer alpha_cutoff]

He went on, “There is a magic default value using NULL ids that represents “no material” … so it can be removed.”

Simon also indicated that at some point soon (no date as yet), there will a few regions (most likely on Aditi, the beta grid) to try-out the new functions with the aim of seeing how the capabilities are used, how they get abused and then how SL behaves, so that some appropriate limits can be imposed to prevent deliberate or accidental abuse.

Other Items

New Mesh Avatars and the AMD/ATi Issue

On Thursday May 15th, Linden Lab launched their line of new mesh avatars to something of a mixed response. Unfortunately, said avatars may have fallen a-foul of a long-standing  rigged / fitted mesh rendering issue affecting people used AMD / ATi graphics systems with recent Catalyst drivers, and which sees rigged / fitted mesh stretching to the 0,0,0 coordinate of a region – see BUG-6065, which offers advice on circumventing the issue.

SL projects updates 20/2: server, group bans

Server Deployments Week 20 – Recap

There was only one server channel deployment in week 20, which went to the Magnum RC.

This was a new sever maintenance project deployed on Wednesday May 14th, which included a bug fix for a networking-related issue that sometimes affects busy sims, which Maestro Linden described as, “busy sim hosts would suddenly run into a bunch of networking issues, where you’d see failures creating inventory, accessing capabilities, etc.” The problem can also apparently affect LSL email registration for receiving email from outside the region, causing it to break without automatic recovery.

Maestro indicated that the Lab has a hotfix for regions reporting the problems (although that number appears to be low) which involves a configuration change for the sim host, but the update deployed to Magnum (and which will obviously progress to the other sever channels) has this config change set by default.

SL Viewer

There have been no further updates to any of the SL viewers currently in the release channel or available as project viewers.  Releases are as per my Current Viewer Releases page.

Group Bans

The group ban work is inching closer to the main grid. However, it’ll still be another couple of weeks (ish) before anything visible is seen as far as this capability is concerned. As noted in week 19, the Lab will be deploying things cautiously, with an initial back-end host code update being undertaken first, prior to anything being seen on the simulator channels.

“We’re just running some final tests at this point; the server which runs the group ban service also provides some other services, and we want to check that those didn’t break,” Maestro Linden informed the Server Beta User Group on Thursday May 15th.

He went on, “After the back-end is out, we’ll want to give it a few days to verify that nothing broke because we don’t want to roll back the backend service after group ban is on server RC.”

This probably means it’ll be another couple of weeks before the server-side code appears on a server RC channel. The plan is that when that happens, a formal project viewer with the viewer-side group ban code will appear for public use.

When formal deployment to one more simulator RCs does commence, it is important to remember that until the server-code has been fully deployed across the main grid, the group ban functionality will only work as advertised on those servers / simulators / regions which have the necessary server-side code. It therefore may appear to give unpredictable results.

For example, you will only be able to effectively ban people from you group when the viewer is connected to a server supporting group bans (although they do not need to also be using the group ban viewer in order to be banned). Also, even when someone is banned from your group, they could successfully rejoin it from any simulator / region which does not have the server-side code deployed to it (leading to further confusion as they’ll appear in both your group members list and your group ban list).

Obviously, these issues will go away once the server-side code is fully deployed across the main grid. However, until such time as that has been achieved, people should be aware they may encounter what appear to be “issues” with the functionality simply because it isn’t available right across the grid.

More information will be posted on this when the project viewer surfaces and the code has been made available of a server-side RC.

SL projects updates 20/1: server, viewer, LSL and materials

Server Deployments, Week 20

There was no Main channel deployment or rolling restart on Tuesday May 13th, and neither the BlueSteel or the LeTigre RC channels will receive an update or should undergo a restart on Wednesday May 14th.

The Magnum RC should receive a new sever maintenance project on Wednesday May 14th, which includes a bug fix for a networking-related issue that sometimes affects busy sims.

SL Viewer Updates

The SL Maintenance viewer was updated on Monday May 12th to version 3.7.8.289922. This viewer includes multiple fixes to Mac viewer; fixes in Recent tab, Chat, LSL editor, land management, etc; GPU table updates; crash fixes & performance improvements.

LSL Functions for Materials

The subject of scripted control for materials was once again raised at the Simulator User Group meeting on Tuesday May 13th. Commenting on the matter, Simon Linden said:

I am looking at it but not promising anything. We’re trying to be really careful to understand how the server and viewers will react when stressed with a lot of material churn. From what I can tell, fast-moving material-based animation will not work well … that’s likely to be throttled or blocked somehow. But supporting something like a hud or other control that could adjust the look of an object … where it’s done rarely … is definitely possible.

As noted the last time this subject was raised, there are concerns over how LSL control of materials might impact system performance, either deliberately (via rapid and multiple flipping of maps, hence Simon’s comment on throttling the speed at which changes could be made), or unintentionally, such as using them with objects which may already have a large performance impact (such as animated mesh tails).

During the meeting, there was discussion on options for animating normal and diffuse maps, remembering that they can already be animated in lockstep with their attendant texture (diffuse) map. During this discussion, Simon commented on some of the difficulties in animating  materials independently of the texture map:

The materials LSL support would include changing the offset, repeat and rotation values for the two maps, just like for regular textures. The update problem hits if you look at the way materials have been optimised between the server and viewer and how updates are sent. Materials are referred to by a number ID … so you get updates that say “this face has material 1234” on it, the viewer, if it doesn’t know what 1234 is, has to ask the server.

Now, if you change the offset … you have a new material 34356, the viewer has to again find out what that is, but this time it already has the actual specular and normal maps, so no download there.  And when you switch back to 1234, it has all the info and can draw it faster.

Summing-up the situation in general, Simon concluded, “I hope there will be something to play with eventually on the beta grid … we’ll probably want to experiment there and figure out what kind of limits are effective.”

SL projects updates 19/2: group bans, miscellaneous items

Server Deployments Week 19 – Recap

There were no server deployments!

Group Chat

As noted in part one of this report, the group chat updates were deployed to the back-end chat servers on Monday May 5th. The changes to group chat should be subtle, and may not be observable to many. Additional analytics are included in the code, which should provide further pointers on what else may need addressing going forward.

Group Ban Lists

Obligatory Baker Linden shot :)
Obligatory Baker Linden shot 🙂

Baker Linden’s work on adding the ability to ban troublemakers / spammers, etc., from groups with open enrollment is now getting relatively close to becoming available.

Baker has recently closed what is believed to be the last of the server-side issues, BUG-5929. This meant that if the name of the group owner was accidentally added to a list of people to be banned from a group, the ban process would fail, with no-one in the list either being added to the ban list or banned from the group (although other than the group owner, anyone selected for banning would be ejected from the group).

The expected behaviour would be for all those named (other than the group owner) to be added to the ban list, with those who were already members of the group also being ejected and banned. Baker’s fix is to ensure this is now the case, and it should be available shortly on Aditi for testing (channel DRTSIM-234 14.05.05.289712 – which includes the Morris region where the Server Beta meeting is held).

Viewer-wise, a project viewer with the new code is expected to appear very shortly (it was running through the build process during the Server Beta meeting on Thursday May 8th). This should be added to the Alternative Viewers wiki page when available. The repository for the code has now been made public, so TPVs can start looking at it – but again, given the status of the viewer as a project release, don’t expect the code to immediately start popping-up in TPVs.

HOWEVER, it may be a while before the new group ban functionality can be used on the main grid, as there is an initial back-end host code update required prior to anything being deployed to any simulator channel. According to Maestro Linden, the Lab will likely want to run those updates for a week to check for any unexpected regressions prior to putting any simulators on a group ban RC.

In the meantime, the group ban capabilities can be tested on Aditi either using the project viewer (when available) or the existing test viewer.

Other Items

“Welcome to the Hotel California” – BUG-5961

Trying to leave a group with a large membership list can prove problematic if the memebrship list takes time to load
Trying to leave a group with a large membership list can prove problematic if the membership list takes time to load

An old issue recently came to light once more with BUG-5961 (originally entitled “I cannot leave a group that I joined”, but with the description subsequently updated by Maestro to “Viewer attempts full fetch of member list before allowing user to leave group” in order to better reflect his findings following investigation).

It’s not actually clear if this is a one-off situation, or possibly more widespread, as the bug report is specific to the group “Akeyo”.

However, Maestro’s thinking is that the problem is linked to the download of the membership list, which even with the Group Services fixes introduced in late 2012, can still take time to complete with some larger groups.

Essentially, you cannot leave a group until the membership list has been loaded, as the viewer must check to ensure that when leaving, you’re not the last owner of the group. Should the membership list take time to download, this can lead to a temptation to click the Leave button again, causing the download to start-over, resulting in the list not loading, thus preventing you  from leaving it (hence the Hotel California quip, which I admit I stole from Maestro!).

The Lab is looking into this issue further, although it may be a while before any resolution is found. One workaround in the meantime is to run a client such as Radegast, which handles groups slightly differently to the viewer, and use that to leave the offending group.

Restore to Last Position

Restore to Last position was a popular feature which allowed anyone to take content to inventory and then re-rez it later at the same position. While there were issues with the capability (such as using it to rez an object in a different region, with a different topology to the one where it was originally taken back to inventory resutling in an object to “vanish”, as it rezzed underground or something), it was broadly seen as beneficial.

However, it was also subject to exploitation, which is why the server-side behaviour for it was changed by the Lab some time ago such that the function will only work if you have rezzing rights at 0,0,0 in a region. If you do not, any attempt to use Restore to Last Position will fail with a notification that you don’t have the required rezzing permissions. The viewer-side code for the capability was also removed from the SL viewer, although TPVs have retained it.

A further issue with the capability has been with No Copy objects. If Restore to Last Position is used on these when the user doesn’t have rezzing rights at 0.0.0 in a region, they not only fail to rez – they also vanish from inventory, requiring a relog in order to get them listed again.

However, BUG-5955 “Restore to Last Position (used only by TPVs) causes content loss” highlights a problem where at least one type of No Copy object can be permanently lost from inventory if Restore to Last Position is used even in a region where the user has rezzing permissions at 0,0,0. Not even a subsequent re-log sees the item reappear in inventory.

Given the unpredictable nature of Restore to Last Position, the Lab is considering removing or blocking all support for it viewer-side until such time as a fix for issues can be found / it can be made to work more predictably in all cases.

As an alternative, and given the function’s popularity, it has been suggested a restriction preventing its use on No Copy objects should be implemented. The Lab may be taking this under consideration. This is the option Firestorm have indicated that they intend to implement with their upcoming release (which may as a result be delayed until the code is implemented and tested).

SL projects updates 19/1: SL viewer, group chat and miscellaneous things

Server Deployments

There are no scheduled simulator deployments this week to either the Main or RC channels, and so no associated rolling restarted expected.

SL Viewer

The Interest List RC finally made it to the de facto release viewer with its promotion on Tuesday May 5th (version 3.7.7.289461). This leaves just three RC viewer in the release channel at present: SL Share 2 project viewer version 3.7.7.289497; Sunshine / AIS v3 RC  version 3.7.7.289441; and the Maintenance RC viewer version 3.7.7.289405. Please refer to my Current Viewer Release page for up-to-date information on all viewer releases.

 Group Chat

Simon Linden’s optimisation work for group chat was deployed across all of the back-end chat servers on Monday May 5th. while these should see some improvements in group chat (particularly in sending / receiving chat and moving between regions), Simon does warn that these optimisations are not expected to “fix” all of group chat. However, he will continue to work on further improvements as well.

Other Items

New Starter Avatars

Ebbe Altberg used one of the upcoming new starter avatars at the VWBPE conference in April (image: Strawberry Singh)
Ebbe Altberg used one of the upcoming new starter avatars at the VWBPE conference in April (image: Strawberry Singh)

During his appearance at the VWBPE conference in mid-April, Ebbe Altberg appeared using one of the new starter avatars. At the time he did, it was hinted that the new avatars would be appearing relatively imminently. However, almost a month on and they have yet to officially appear, although there is some speculation they’ll do so in May.

these new avatars are said to take advantage of some of the latest features in SL, which is being taken to mean that some / all are full or partial mesh. This has in turn raised questions as to whether it is wise giving new starters full mesh avatars, given they may not work with freebie items often offered to or picked-up by new starters.

LSL Functions for Materials

While there is no confirmation any work is being carried out on this (except, as Simon quipped, “perhaps in a parallel universe or something”), the Lab is still sounding out how and where such calls would likely be used, and the frequency with which such calls would be made.

The option of having scripted control of materials has been debated often, and still remains a desired item among builders and scripters. However, some of the concerns still remain – notably, have such capabilities might end up causing performance issues, deliberately or otherwise. Much has already been written on how rapid map flipping on multiple objects could deliberately impact performance and potentially result in viewer crashes, plus there are already animated mesh elements available which can also have a significant impact on viewer performance (some types of animated mesh tail can reportedly overload a viewer on a 32-bit system with out-of-memory errors in a matter of seconds), so there are also concerns that were this to be combined with the ability to change textures via script, they could (even unintentionally) have further dramatic impacts on performance.

One way around this would be to throttle the rate at which material maps can be changed via scripted command. What is interesting for the moment is that the Lab appears to have not completely closed the door on scripted control of materials, but is considering options and informally seeking feedback on potential use cases.