SL projects update 28/3: more server and viewer news

Banana Island - The Pilgrim's Dawn; Inara Pey, March 2014, on FlickrBanana Island, The Pilgrim’s Dawn, March 2014 (Flickr)

Server Deployments Week 28 – Recap

  • On Tuesday July 8th, the Main (SLS) channel was updated with the server maintenance project that was previously on BlueSteel and LeTigre.  This project adds the ability for LSL functions to view and modify the render materials (normal mapspecular map, and diffuse texture alpha mode) properties on prims, via new prim parameters – release notes
  • On Wednesday July 9th, the RC channels were updated as follows:
    • BlueSteel and LeTigre received the same new server maintenance update to address a JSON-related bug, an interest list related race condition, and to improve L$ transaction logging for payments made by scripted objects
    • Magnum remained on the Experience Tools project, and receives the same updates as the Main channel, so LSL support for materials is now grid-wide.

 BlueSteel / LeTigre Updates

Commenting on the server maintenance update deployed to BlueSteel and LeTigre at the Server Beta UG meeting on Thursday July 10th, Maestro Linden explained one of the bug fixes (BUG-6466) and the L$ transaction update thus:

The LSL JSON bug fix, BUG-6466, just makes it so that numbers in the format “1.0e+2” get parsed as JSON numbers.  Previously, they’d be treated as strings (though “1.0e2”  would be treated as a number). The spec says that “+” is optional, so we added that support.  I’d be surprised if more than 2 people end up noticing that change 🙂 .

The one non-bug fix change in BS and LT is more verbose logging of certain L$ transaction types … Historically, a L$ transaction from scripted payment (llTransferLindenDollars or llGiveMoney ) would not include the name of the object that did the payment, when you viewed it in the “L$ Transactions” section of the website. However you would see that information if somebody had paid L$ into an object.

Previously, the entry would just look like this: Destination: Maestro Linden; Object Pays; Region: Morris.

But now, with the update to BS and LT, transactions in those regions will additionally include this line: Description: <Name of object which paid>. The page where you see the difference is https://accounts.secondlife.com/transaction_history/. Anyway, it could be useful for understanding which of your objects are paying out L$. Assuming they’re not all named “Object” :).

The remaining fix, “Temp Attachments are sometimes not removed on the viewer when detached from a region change event”, was related to a race condition, and explained by Simon Linden:

Updates were out-of-order there. Basically if your script took things off on the region change, anyone might get the updates out-of-order. It was worst on slow connections. For those who are curious, it went like this:  if the first update from the new region was slow, the “kill” message removing the object would happen first, and get ignored.

So in other words, items which should have been removed appear to remain in place, with Simon adding:

In this case you can’t detach it … because for the sim, it’s already gone. The viewers are the ones out-of-sync with the server. So you right-click and detach again and nothing happens.

The fix on BlueSteel and LeTigre should hopefully prevent this from occurring during a region change to regions on these channels.

SL Viewer

Maintenance RC Viewer

A new Maintenance RC viewer appeared late on Thursday July 10th. Version 3.7.12.291824 contains almost 40 MAINT fixes intended “to make your Second Life smoother”. The list of fixes include:

  • MAINT-3135 Cocoa Viewer: Mac: Maximizing the viewer leaves garbage on the screen
  • MAINT-3154 Alt zoom zooms way out when attempt to zoom in on Mac build running with external monitor
  • MAINT-3171 Alt-clicking while moving mouse can move the camera significantly
  • MAINT-2980 Reevaluate the 512 meg texture cap
  • MAINT-4216 Double clicking on anything in COF removes it from your avatar – including skin, shape, hairbase and eyes – results in bakefailed avatar
  • MAINT-4001 Received Folder is movable within Recent Tab – see my notes here on this issue
  • MAINT-3610 SL viewer partly ‘eats’ chat-message.

 

Please refer to the release notes link above, for the full list of MAINT fixes.

Library Refresh Project Viewer

The Lab issued a new project viewer on Wednesday July 9th, version 3.7.12.291799, which contains a number of updates related to the third-libraries used by viewer. This viewer has grown out of Monty Linden’s ongoing HTTP work, which required the update of several essential libraries used by the viewer, and Monty took the opportunity to undertake a more extensive update of the libraries.

These library updates should provide better security, stability and consistency improvements to the viewer. However, an advisory to Mac users warns that the updated libraries in the viewer have been built with a minimum OS level of 10.6. Therefore, this viewer, and future viewers based upon it, will not run on OS X 10.5.

While the viewer is primarily intended for testing purposes, and doesn’t contain updates which are liable to be noticed by most LS users, it is thought that it might help those encountering very specific SSA-related issues, the release notes stating:

A few users have experienced problems with avatar appearance due to their very specific network configuration. Gray avatars are accompanied by ‘Transferred a partial file’ errors in the SecondLife.log file. Linden has not been able to reproduce this internally but a possible workaround is found in this release.

A list of related JIRA reports is also given, but none of these appear to have been switched back to public access at the time of writing. They are: BUG-3323, BUG-3770, BUG-3877, BUG-3879, BUG-3882 and SH-4375.

Other Items

SL AIS Viewer login / Attachments Issue

Users on the SL viewer using the AIS v3 viewer code are reporting issues with attachments when logging-in to Second Life.

Some of the issues are described as a user logging-in to find their hair or (mesh) foot / hand or other attachment incorrectly positioned, and the only way to rectify the situation is to re-log. Some have suggested that swapping between a non-AIS v3 viewer and the AIS v3-enabled viewer may trigger the situation.

Some bug reports (BUG-890 and BUG-2772, both unfortunately non-public at the time of writing) have been pointed-to as examples of the problem, and further reports have been requested should it be encountered, with Coyot Linden noting for those wishing to file a JIRA on the matter:

One way to get a grapple on that sort of thing is to start a test run and keep track of the login times and regions.  When you hit a fail, logout and do one more and see if it succeeds.  If you provide that and the viewer logs, it would be easier for someone to do some log diving to figure out what the problem is.

Coyot Linden Takes the Driving Seat

Maestro Linden is  taking a three-week vacation from the Lab and Second Life. In his absence, Coyot Linden will be occupying the driving seat for the Thursday Server Beta meeting.

SL projects update week 28/1: server and viewer updates

Server Deployments

As always, please refer to the server deployment thread for the latest news and information.

Main (SLS) Channel

On Tuesday July 8th, the Main channel was updated with the server maintenance project that was previously on BlueSteel and LeTigre.  This project adds the ability for LSL functions to view and modify the render materials (normal mapspecular map, and diffuse texture alpha mode) properties on prims, via new prim parameters – release notes.

Release Candidate (RC) Channels

On Wednesday July 9th, the three release candidate channels should be updated as follows:

  • BlueSteel and LeTigre should receive the same new server maintenance update. This project addresses some miscellaneous bugs, and improves L$ transaction logging for payments made by scripted objects.
  • Magnum remains on the Experience Tools project, and receives the same updates as the Main channel, so LSL support for materials will be grid-wide following the deployment.

SL Viewer

On Tuesday July 8th, the Snowstorm RC viewer, version 3.7.11.291465 was promoted to the de facto release viewer. The viewer includes multiple contributed updates from the SL open source community, including (but not limited to):

  • STORM-68 Allow setting of default permissions on creation of objects, clothing, scripts, notecards, etc.
  • STORM-1831 Obtain LSL syntax table from simulator so that it is always up to date
  • STORM-1972 Restore particle debug display
  • STORM-2011 Improve loading of Group member list
  • STORM-2015 Region restart sound alerts play only locally.
  • STORM-2020 Restore RenderSpecularExponent.
With the new release viewer, users can now set their own default permissions for newly-crated prims, textures, etc.
With the new release viewer, users can now set their own default permissions for newly created prims, textures, etc.

Windows XP users please note: with this release, you must have either Service Pack 3 (Windows XP 32-bit) or Service Pack 2 (Windows XP 64-bit) installed on your system in order to install this and future versions of the SL viewer – see the release notes. Please also note that no Windows XP operating systems are supported by Linden Lab.

Other SL viewers remain as per the Alternate Viewers wiki page and my Current Viewer Releases page.

 Experience Keys (Tools)

There was a Q&A session at the simulator User Group meeting on Tuesday July 8th with Dolphin Linden, to discuss the Experience Keys (Tools) project. For ease of reference, I’ve included notes from that session in a separate report.

 

SL projects update week 27/2: server updates, Experience Keys

Server Deployments Recap

There were no deployments to the Main channel or to the BlueSteel and LeTigre RCs. Magnum received an update to the Experience Tools project, intended to provide a fix for BUG-6438 “Objects attached via llAttachToAvatarTemp to object owner detach when script is removed from prim inventory” and UI updates. – release notes.

Week 28 Updates – LSL Support for Materials

Subject to last-minute hiccups, it is likely that the LSL support for materials (normal and specular maps, and diffuse texture alpha mode) currently on BlueSteel and LeTigre will be promoted to the Main channel and to the Magnum RC in week 28 (week commencing Monday July 7th).

LSL support for materials looks as if it will go grid-wide in week 28 (week commencing Monday July 7th)
LSL support for materials looks as if it will go grid-wide in week 28 (week commencing Monday July 7th)

There is still no additional throttling in place for the LSL materials functions, as testing revealed they may not be any need for them. adding to this, Maestro Linden said at the Server Beta meeting on Thursday July 3rd, “It’s throttled via the normal script time throttles, there’s no special X/minute throttle. Well, also there’s a throttle for accessing the materials list by viewers. So even when your viewer knows that an object got material X via the update, it may have to access the RenderMaterials capability to look up the render parameters, and that capability access is throttled (the viewer knows to request at a rate below the throttle so that it doesn’t hit failures).”

 Experience Keys

There is liable to be a discussion of the Experience Keys project at the next Simulator User Group meeting, to be held on Tuesday July 8th, with members of that project team in attendance. The meeting will take place in Denby, on the main grid, commencing at 12:00 noon SLT.

Webkit News

As I’ve previously reported on a number of occasions, Webkit is a third-party library used within the viewer for a number of tasks. For example,  it powers the built-in web browser, and is used to display profiles (unless you’re using a viewer supporting legacy profiles). It is also used with like Media on a Prim (MOAP) and many in-world televisions.  There have been an increasing number of issues with Webkit which have caused some pain (see BUG-4763 and FIRE-12642, and FIRE-11057), and Monty Linden has been poking at as a part of he ongoing work with the third-party libraries used in the viewer build process.

A major problem here is that Webkit itself has deprecated, leaving the Lab needing a replacement. Speaking at the Future of SL meeting, hosted by the Firestorm team on Wednesday July 2nd, Oz Linden indicated that a decision has been made to replace Webkit with the Chromium Embedded Framework (CEF). There is no indication of how long this work will take, as it is a very non-trivial effort which is leveraging work already carried out on the Lab’s next generation platform and other internal services.

GPU Updates

Also during the Future of SL meeting, Oz indicated that there are two upcoming changes which will affect GPUs and GPU memory usage.  Both are currently with LL’s QA team.

The first eliminates using the GPU card name as a means of recognising the card’s capabilities. Once released, the viewer will be able to recognise GPUs a lot more dynamically. One benefit of this is that people with state-of-the-art GPUs should no longer experience the viewer failing to recognise their card and defaulting to basic graphics

The second is a fix for how the viewer uses a GPU’s memory. “Many of you will have noticed that we don’t use all of the video memory on your video cards,” Oz said of the fix at the meeting. “It turns out that’s because of a very old bug that plagued us a long time ago and we sort-of arbitrarily, in order to avoid tickling the bug, we capped how much memory we would ever use.”

With the fix, the viewer will be able to measure the amount of GPU memory and then allocate itself what is liable to be a reasonable share of that memory.

SL projects update 27/1: server updates, HTTP, group chat hardware updates

Server Deployments – Week 27

As always, please refer to the server deployment thread in the technology forum for any latest news, updates, issues on this week’s deployments.

As many noted on Tuesday July 1st, there was no Main (SLS) deployment, although there was a period of grid-wide maintenance.

There will be no deployments on the BlueSteel and LeTigre RC channels on Wednesday July 2nd. As such, these channels remain with the following simulator releases:

  • Main channel: inventory updates (AIS v3) – 14#14.06.13.29103 (release notes)
  • Bluesteel and LeTigre: LSL support for materials (normal and specular maps, and diffuse texture alpha mode) – 14/#14.06.20.291351 (release notes  – Bluesteel; LeTigre is the same).

On Wednesday July 2nd, the Magnum RC should receive updates to the Experience Tools project, intended to provide, “user facing fixes to address both UI and long-standing HUD updates included in this build.” – release notes.

SL Viewer

There will probably not be any viewer promotion from RC to de facto release this week. The sole RC in the snowstorm RC, version 3.7.11.291465 has yet to generate meaningful stats. Current SL viewers are as listed on the Alternate Viewers wiki page and on my Current Viewer Releases page.

HTTP Pipelining Viewer

Monty Linden has been continuing to work on the HTTP side of things, directing his efforts towards HTTP pipelining, which should yield further benefits in rendering texture and mesh, and in generally efficiency of HTTP connectivity between the viewer and the SL servers. As a part of this, and while it is not formally publicly available as yet, he has produced a viewer using HTTP pipelining.

This has been undergoing testing among a group of SL users, and is showing considerable promise in terms of texture rendering improvements, and a similar level of improvement is anticipated with Mesh.

Whirly Fizzle has produced a video comparing texture rendering between the HTTP pipelining viewer and the current release viewer, with the tests carried out under identical conditions.

Experience Tools

The new Experience Tools project will be officially announced on Wednesday July 2nd, with a blog post, video and the release of a project viewer.

Group Chat

Oz Linden: SL's Technical Director talks about coming updates to Group Chat
Oz Linden: SL’s Technical Director: work is continuing on group chat issues, including hardware upgrades for the service

“We have been looking much more deeply into why the problems which exist than we ever have before,” Technical Director for Second Life, Oz Linden stated at the Firestorm The Future of Second Life meeting on Wednesday July 2nd, in reference to group chat issues. “We’ve added a lot of instrumentation to the way it’s implemented, and we have learnt a lot from that.”

He went on to cover the fact that the Lab has begun to make changes as a result of this data-gathering which are starting to have an impact, although he emphasised that while this work is going to continue in the coming months, there is unlikely to be a single update which will be “the” dramatic change which instantly “solves” group chat lag. Things are liable to be a lot more in the way of incremental improvements (no doubt due in part to the sheer complexity of the chat service).  given this, he also suggested that there may be some fundamental work required in the future which could affect the viewer side of things as well.

He went on to say, “We’re going to be upgrading the hardware that the group chat servers run on, I believe this week or possibly next. We won’t announce when that is, because it would be bad science to tell anybody when it’s happened. We want to watch the stats, we now have very good visibility to what performance and failure rates are. So we have the way to measure what’s going on.”

SL project updates week 26/1: server, viewer, Content Creation UG

Server Deployments Week 26

Main (SLS) Channel

On Tuesday June 24th, the Main channel was updated with the inventory / AIS v3 project, previously deployed to BlueSteel, which requires the current release viewer. See the release notes for more.

Release Candidate Channels

On Wednesday June 25th, the three RC channels should be updated as follows:

  • BlueSteel and LeTigre should receive a new server maintenance project with the new LSL functions to view and modify materials (see my notes) – release notes
  • Magnum remains on the Experience Tools project, but should additionally receive the inventory / AISv3 update deployed to the Main channel – release notes

SL Viewer Updates

The release viewer updated on Monday June 23rd to version 3.7.10.291134 (formerly the SL Share 2 RC – ability to upload Tweets and snapshots to Twitter and / or snapshots to Flickr).

The Group Ban project viewer updated to version 3.7.11.291394 on Tuesday June 24th.

Other SL viewers remain as per my Current Viewer Releases page.

Content Creation User Group

The regular Monday Content Creation User Group meetings came to an end on Monday June 23rd. Also at the meeting, as he has been for the past few weeks, doubtless getting up-to-speed with things as a part of his new role in heading-up the SL development team, Oz Linden indicated content creation issues could in future be raised at either the Simulator User Group meeting (which generally has a strong cross-over of attendees with the Content Creation UG meeting) or the Open Development meeting.

Commenting on the change to the meeting, Nyx said:

I’m moving on to other projects and haven’t been able to keep up with the details of content creation tasks as well as I used to be able to … I’ll still be inworld from time to time, and will be helping Oz whenever any avatar issues come up or with any other pieces where I can assist of course.

Whether this can be taken to mean Nyx is moving on to the new platform project is open to speculation. However, that the Content Creation meeting has now ended as an entity in its own right should not be seen as any indication that the Lab is starting to raise the drawbridge. Meetings over the pass few months have, for the most part, had a low attendance (with occasional sharp rises), and opportunities remain to discuss issues in other venues.

Experience Tools

Thanks to my getting a bullet point in the wrong place in my overview of Experience Tools, the article gave the impression that whitelisting experiences on mainland would only be possible with grid-wide experiences. This has been corrected. Experiences can be run at the parcel level on the mainland.

 

SL projects update: week 25/3: server and TPV meeting

Server Deployments Week 25 – Recap

  • On Tuesday June 17th, the Main (SLS) channel was updated with the group ban project server code – release notes
  • One Wednesday June 18th, the RC channels were updates follows:
  • LeTigre received a new anti-griefing measure – release notes
  • Magnum remained on the Experience Tools project, but also received the group ban server code and the anti-girefing measure – release notes.
  • BlueSteel remain on the Sunshine / AIS v3 project, and the  but also received the group ban server code and the anti-griefing measure, the viewer for which was promoted to the de facto release viewer on Monday June 16  – release notes.

There has been some interest voiced at both the Simulator UG meeting and the Server Beta UG meeting, in the “anti-griefing measure” deployed to the three RCs this week. Commenting on this at the Server Beta meeting on Thursday June 19th, Maestro Linden said, ” I think I’ll be able to discuss the change next week,” (after it has been deployed to the Main channel as well). ” But right now, some people would unfortunately use the information as a how-to-grief instructional.”

Upcoming Deployments

The LSL functions for materials may be set to arrive on an RC in week 25. This depends on how this week’s RCs continue to perform, but assuming the anti-griefing measure on LeTigre is promoted to the Main channel, then that RC would theoretically be available for the LSL functions for materials, assuming no significant bugs are filed against it as a result of Aditi testing.

TPV Developer Meeting

A TPV developer meeting took place on Friday June 20th. The core items discussed in the meeting are reported below, with timestamps in the relevant paragraphs indicating the point at they are discussed in the video embedded here.

As has been noted elsewhere, the meeting was attended by Ebbe Linden, who took an impromptu Q&A session at the end of the meeting. This commences at around the 51:00 mark in the video. While this report does not cover that Q&A session, information on his comments about the Lab’s in-development new virtual world platform can be found in Ebbe confirms: “we’re working on a ‘next generation’ platform” (with audio).

My thanks, as always, to North for the video.

SL Viewer Updates

[0:01:18] The SL Share 2 viewer, providing Flickr and Twitter upload support and the snapshot filtering capabilities for both and for snapshot uploads to Facebook was updated to version 3.7.10.291134 on Thursday June 19th, bringing it to parity with the current release viewer code base

The Snowstorm viewer, released as a project viewer on June 12th was updated to version 3.7.10.291042 on June 19th, bringing it to parity with the current release viewer code base, and issued as a release candidate viewer. This has had a significant bug reported against it, which is currently being fixed. As such, it is unlikely that this RC will be in the running for promotion until after it has been refreshed with the fix and the updated version has been in the viewer release channel sufficiently long enough for the Lab to obtain meaningful statistics on its performance.

Avatar System Clothing Layers

[0:4:00] BUG-6258, “Popularity of Mesh Attachments Facilitates Need For More Alpha Layers” is a request to raise the number of alpha layers which can be concurrently worn (at the moment this is 5).

Rather than increasing the number of an individual layer which can be worn (such as alphas), the Lab is considering setting a global limit – so as with attachments, an avatar can wear as many clothing layers in any combination, up to the global limit (with attachments, this is set to 38).

The Lab is still investigating this approach in terms of feasibility and what the upper limit for clothing layers might be for an avatar.  Until they do make a final determination on the issue, they have requested TPVs do not arbitrarily add to the existing layer limits, as there is a risk that anything the Lab does do on this front may conflict with alternatives put in place by TPVs.

SL Experience Tools

[0:07:10] The major technical announcement of the TPV meeting was that the long-awaiting Experience Tools will be entering a beta test phase in the very near future. You can catch-up on this in my initial Experience Tools overview .

Z-offset Height Adjustment Proposal

[0:39:06] One of the issues with the introduction of Server-side baking is that it broke the “Z-offset” capability common to many third-party viewers. This allowed the vertical height of an avatar above the ground to be adjusted, such that sits and kneels don’t leave the avatar apparently floating in the air, and which allow those with very tall / giant avatars or very small / petite avatars and those wearing full body mesh to similarly adjust their vertical placement relative to the ground / floor.

In response to the issue being raised as a bug report (see SUN-38, “As users of kneel/lay/sit animations and tiny/giant avatars, we need a way to change the body size in SSB sims”), the Lab, via Nyx Linden, introduced the hover feature, which allows an avatar’s standing height to be adjusted to some degree via an appearance slider.

sitting
Jessica Lyon demonstrates part of the avatar height offset issue: when seated using her preferred sitting pose, her avatar floats above a chair, and she has no means of adjusting the height so that she appears to be sitting in the chair

However, as a solution, it has a number of limitations (your shape has to be modifiable, it won’t work in cases where you are trying to adjust your avatar’s default sitting / kneeling pose height to prevent floating, as the hover option requires the avatar to stand in the default shape edit pose, etc).

In order to try to revisit the problem and possibly gain a more thorough solution, Zi Ree from the Firestorm team has written a proposal document entitled Height offset Proposal.

This clearly explains the issues in not having a more flexible approach to adjusting height offset, and also offers a couple of suggestions on what might be done to improve things. This was presented to the Lab at the TPV Developer meeting, together with a concise demonstration by Jessica Lyon of some of the issues.

Obviously the Lab hasn’t at this point committed itself to tackling the matter, but those from the Lab at the meeting were appreciative that the proposal has been written and the issues  / possible approaches clearly laid out. There has been an agreement to look into further, and there might be some feedback at the next TPV Developer meeting (scheduled for July 18).

Cocoa Issues

[0:48:20] The Lab continues to work on the Cocoa issues affecting Mac users and there is some good news from them and Firestorm:

  • The Lab has a fix for the ALT-cam bug, which is expected to be in the next Maintenance RC viewer
  • Firestorm has a fix for the issue of severe typing lag when in a location with several other avatars (see: FIRE-12172). If successful, this is likely to be contributed to the Lab, and once in a Firestorm release, may see version 4.4.2 of that viewer blocked.