SL project updates 16 9/1: server deployments; SL viewer, misc news

Casabalanca: Rick's Café Américain - "Of all the gin joints, in all the towns, in all the world, she walks into mine."
Casablanca: Rick’s Café Américain – “Of all the gin joints, in all the towns, in all the world, she walks into mine.” – blog post

Server Deployments

The Main (SLS) channel was updated on Tuesday, March 1st, with the server maintenance package deployed to the three RC channel is week #8. This comprises a server crash fix and “minor internal improvements.”

The server deployment thread lists any RC deployments for the week as “TBD”. however, speaking at the Simulator User Group meeting on Tuesday, March 1st, Simon Linden indicated it is unlikely there will be any RC deployment until week #10 (week commencing Monday, March 7th 2016). These will apparently have an update that addresses a means by which a simulator can be intentionally crashed.

SL Viewer

Currently, the official viewer from LL remain unchanged from the end of last week:

  • Current Release version: 4.0.1.310054, January 15 – formerly the Maintenance RC viewer download page, release notes
  • Release candidate viewers:
    • Maintenance RC viewer version 4.0.2.311655, dated February 26th
    • HTTP updates and Vivox RC viewer version 4.0.2.311302, dated February 22nd
    • Quick Graphics RC viewer version 4.0.2.311103, dated February 17th
  • Project viewers:
    • Project Bento (avatar skeleton extensions) version 5.0.0.310099, dated January 20th
    • Oculus Rift project viewer version 3.7.18.295296, dated October 13th, 2015
  • Obsolete platform viewer version 3.7.28.300847 dated May 8th, 2015.

OpenSSL Update

As noted in my last TPVD meeting notes, the Lab were awaiting an update to OpenSSL. This has now been released and there is minimal impact for SL. This therefore should require any fast-tracked update to the viewer.

Grid-wide Experiences

The simulator user group meeting saw a general discussion about allowing broader access to the Experience Keys database (the KVP) without land owners necessarily having to grant permission to specific Experiences.

The idea here is that there are applications which rely on persistent data or utilise grid-wide data exchange (e.g. a teleport network, a vending system network, etc.), and applications which require script settings survive the script reset. Currently, the way to achieve this is to use external data stores (see BUG-11499 for one example).

Some feel that if there were a way to dissociate the KVP database from things like avatar influences, then it could be used for such applications, removing the need for external data stores and the rick of those data stores vanishing / not being available. However, this is not something the Lab is particularly keen on, for a number of reasons. For example, it could result in their servers storing a lot of data and carrying a lot of database quires and updates, something that might not scale terribly well with volumes and associated storage space cost. Nor would it necessarily safeguard the data any better (if the Experience owner downgrades to Basic or ceases paying their Premium subscription, the data will be lost).

During the discussion Oz indicated that the Lab has no plans to make grid wide experiences available any time soon, due to concerns about how “certain internal features” would scale.

SL project updates 16 8/2: TPVD meeting

Imesha; Inara Pey, February 2016, on Flickr Imesha – Blog post

The following notes are primarily taken from the  TPV Developer (TPVD) meeting held on Friday, February 26th, 2016. A video of the meeting is embedded at the end of this report, my thanks as always to North for supplying it, and time stamps in the text relate to this recording.

Server Deployments – Recap

There was no scheduled Main (SLS) deployment on Tuesday, February 23rd. On Wednesday, February 24th, all three RC channels received the same new server maintenance package, comprising a server crash fix and “minor internal improvements.”

RC and Project Viewers

RC Viewers

[00:58] The Current Maintenance RC viewer was updated to version 4.0.2.311655 on Friday, February 26th. This should have a fix in it for a significant crash problem it has been experiencing. Otherwise all the current RC and project viewers remain as per part #1 of this week’s updates, with no view promotion to de facto release status as bugs in the three RC viewers continue to be worked on.

[00:49] It is now believed that the major issues with the HTTP / Vivox viewer have now been resolved, with the version released on Monday 22nd February (4.0.2.311302) performing “pretty well” within its cohort. [23:45] It is hoped that Rider is in the process of clearing the last significant bug which is stopping this viewer from progressing forward.

[01:20] The Quick Graphics viewer (version 4.0.2.311103, dated February 17th at the time of writing) is continuing to gather fixes for assorted issues. Oz is reasonably certain the anticipated update for this viewer will be released as an RC in week #9 (week commencing Monday, February 29th), which could mark its last RC update, making it eligible for promotion to the de facto viewer.

[26:43] At the current rate of progress it is likely these three RC viewer could all be vying for promotion to release status at around the same time.

Project Viewers

[01:49] As per my last Project Bento report, work is being put into the final version of the Bento skeleton. Once this work has been completed, there should be a further viewer update. This could likely be the last iteration of this viewer as a project viewer prior to it progressing to release candidate status at some point in the future.

[02:04] The Oculus Rift viewer update is also still in progress, with what is regarded as the last major bug now having been fixed, so an update will now be appearing “soon”.

OpenSSL

[02:46] There is a new version of OpenSSL  coming out. Depending on the vulnerabilities it fixes, it is possible this will be folded into the current release viewer to get this out of the door, but no firm decision on this will be taken until the update is available.

64-Bit Project

[03:30] Work is progressing on the 64-bit viewer build for Windows and Mac, with the Windows tool chain and infrastructure being rebuilt to support both 32-bit and 64-bit builds (once live, the Mac viewer is likely to be 64-bit only).

Viewer Stats

[04:48] The Lab gathers statistics on viewer log-ins and crash rates (and has long done so). The former allows them to gather data on the numbers of users logging-in by operating system, by operating system flavour (32-bit of 64-bit) and by viewer build (using the viewer channel number).

Changes to how the stats are gathered, coupled with other factors means that they have not been disseminated to TPVs was once the case. However, this now seems likely to resume from March, with TPVs being furnished with their own stats and those for the Lab’s viewers.

Firestorm see this as useful as it allows them to directly compare their most recent releases crash rates not only with previous releases of their viewer, but also with the crash rates of the versions of the Lab’s viewer using  the same core code base, thus potentially helping to identify potential underlying causes of any elevated crash rates they may be experiencing.

This discussion on stats segued into a general discussion on viewer channels, viewer spoofing (an illegal viewer trying to appear as a legal viewer), blocking viewers by channel number, etc., which can be heard within the video.

Future Viewer Projects

Visual Outfits Browser  Viewer

[24:00] The Visual Outfits viewer is not publicly visible, but is designed to provide a means by which users can store and browse images associated with their outfits in inventory. There is currently no time frame for when this viewer will reach a public status (project or RC).

Inventory Code Improvements

[27:14] In September 2015 I blogged about the inventory improvements projects being undertaken by Aura Linden. This is a two-step project:

  • The removal of redundant inventory messaging paths from within the viewer because they have been replaced by more robust mechanisms or they no longer have any server-side support and so are redundant
  • A complete rationalisation of the inventory code within the viewer to  more closely couple functions with their actual purpose, followed by a refactoring of the code to make it easier to maintain going forward.

It had originally been indicated that the first part of this work might appear within a project viewer before the end of 2015. However, as it is utilising HTTP, it has been delayed pending the release of the HTTP updates viewer.

It is now anticipated that once the HTTP updates reach release status, the initial phase of the inventory work will be released and allowed to progress through to a release status and gain adoption by TPVs. Once this has been done, the Lab will start removing legacy APIs from the simulator code.  One consequence of this will be that very old viewer versions which do not support the Advanced Inventory System (AIS v3) code updates (which have been available in most recent viewer releases for some time),  will no longer be unable to log-in to SL as a request of inventory load failures.

Continue reading “SL project updates 16 8/2: TPVD meeting”

Project Bento User Group update 6 with audio

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands Project Bento - extending the SL avatar skeleton
Project Bento – extending the SL avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, February 25th at 13:00 SLT on Aditi. For details on each meeting and the location, please refer to the Bento User Group wiki page. Note that the audio excepts are not necessarily chronological, one to the next. Items such as wing bones were discussed at a couple of different points in the meeting, but the comments have been drawn together in an attempt to present a complete discussion of the subject; however, the subjects within each audio extract are provided in the order the discussion proceeded (i.e. the initial part of the discussion on wings is presented first, and the that later additional discussion presented at the end of the audio).

This was a short meeting, with the primary topic of conversation being finalising the Bento  skeleton in terms of additional bones and bone sets, following the recent survey (see my week 4 update).

Additional Tail / Limb Bone Sets

Vir indicated that he, Cathy Foil and Matrice Leville have been discussing a couple of ideas. The first is to cull some of the additional wing bones to produce a second set of “tail” bones, which could then be used for a variety of purposes, including creating additional limbs, or a new limb and additional animation options on the existing tail, etc. This approach would see each of the tails have 5 bones, compared to the current tail having six bones.

The second idea revolves around creating a pair of new limb bones using bones taken from the wings, and which would share the same mPelvis anchor point within the skeleton along with the existing tail (which would retain its existing 6 bones). This would simplify the creation of hind legs on avatars, allowing the tail to be moved”backwards” with them. At the same time, it would mean the additional limb bones could also be used for other purposes, if required.

This sparked a discussion on what might be the optimal approach to additional bone sets, naming conventions and whether any additional bones were in fact required, given there is now the ability to translate bone positions as well as rotate them. Vir agreed that naming does need to be considered, as that using terms like “tail” should mean the bones are limited to that particular use.

Concern was also raised on whether adding additional bone might add to the Bento time frame and if there might be other impacts. With regards to the latter, Vir indicated his hope is to run a stress test once the skeleton is finalised.

Other suggestions have been to simple add further bones to existing sets – such as with the hands, as suggested by Gaia Clary in the forums, although this has seen been seen as perhaps not as required as originally thought. Vir also reiterated that any additional limb bones could be used for arms as well as legs,

Medhue Simoni demonstrates an alternative use for "wing" bone sets, which he uses to animate his elephant's ears
Medhue Simoni demonstrates an alternative use for “wing” bone sets, which he uses to animate his elephant’s ears

There has also been some discussion on the forum concerns limitations within the wing bone sets, which could be solved through the addition of wing “fingers” which would allow better animation of bat / dragon wings, with an explanation on how provided by Teager, who also explains the differences involved in animating such wings and those of birds.

Overall Status for Skeleton

In terms of any consensus for additional bones, it is Vir’s view that there is slightly more interest in having additional limb bones rather than a “two tails” approach, together with additional bones for wings (which could also be used for things like ears, etc.).

Vir will be taking this into account when defining the final skeleton, which he hopes to have available for people to review and test by the next meeting. However, he did warn that the overheads in getting the work completed, tested and signed-off might impact on this target, but it is one he’ll push for.

Issues Update

Additional Spine Joints

Vir is investigating problems with adding extra spine joints in the avatar, and has come across two issues. The first is that doing so can cause the current version of the Bento viewer to crash, although he believes he has a fix for this problem. The second, and more serious issue, is that additional spine joints, whilst working for mesh avatars, it will break the rendering of the default avatar. This appears to be a complex issue, and Vir isn’t confident it is one which might be fixed in time for the initial Bento deployment.

Avatar Deformations

A rather squished Dan Linden
A rather squished Dan Linden

Dan Linden continues to try to hunt down the cause of avatar deformations (BUG-11157). It has been noted that this is a complex problem, involving multiple factors – something which makes it hard to reproduce in a consistent manner. Following investigations, as I’ve previously noted, one causes appears to be scripted deformers which can have an adverse impact on avatars, in that they can continue to run when changing from one avatar to the next, causing the newly worn avatar to deform when seen by others.

However, the issue seems to be slightly broader than this, in that it appears a deformer used by one avatar can appear to impact another avatar when seen by others, whether or not that avatar is using the Bento skeleton.

An example of this occurred during the meeting, when Dan Linden, who was using the default avatar skeleton, arrived just as someone else was swapping avatars using deformation scripts. The result was that for myself and another attendee at the meeting, Dan’s avatar appeared deformed when viewed using the Bento viewer, while others who arrived a little later saw him normally. However, even the circumstances under which this situation occurred seemed to vary when put to a short test following the meeting, highlighting the fact that determining precise causes remains difficult.

Useful Links

SL project updates 16 8/1: server deployments; SL viewer

The Yorkshire Moors; Inara Pey, February 2016, on Flickr The Yorkshire Moorsblog post

Server Deployments

There was no scheduled Main (SLS) deployment on Tuesday, February 23rd. On Wednesday, February 24th, all three RC channel should all receive the same new server maintenance package, comprising a server crash fix and “minor internal improvements.”

It is likely the server deployments will remain at a slower pace over the next few weeks as the Lab focuses on internal infrastructure changes.

SL Viewer

On Monday, February 22nd the HTTP / Vivox RC viewer updated to version 4.0.2.311302. The see the additions of the following fixes:

  • MAINT-5295 Extra setopt in PUT case for llcore::http forces PUT to POST
  • MAINT-5625 [Project Azumarill] Selected Objects Show Land Impact of 0
  • MAINT-5628 [Project Azumarill] When posting to Flickr, Upload button does not grey out when upload is in progress, clicking Upload more than once results in all images failing to post
  • MAINT-5629 Viewer Makes Request for SRV Records on Login
  • MAINT-5676 Azumarill repeatedly requests weight of selected objects in edit mode
  • MAINT-5978 Convert the Vivox state machine over to a coroutine implementation
  • MAINT-6071 Reference to a UUID used after iterator is lost.
  • MAINT-6086 Crash when removing non added Vivox session.

The remaining RC and project viewers remain unchanged from week #7:

  • Quick Graphics RC viewer, version 4.0.2.311103 dated February 17th Avatar Complexity options and the new graphics preset capabilities
  • Maintenance RC viewer,  4.0.2.310545 dated February 2nd – 38 updates. fixes and tweaks
  • Project Bento (avatar skeleton extensions), version 5.0.0.310099 dated 20th
  • Oculus Rift project viewer, version 3.7.18.295296 dated October 13th, 2015
  • Obsolete platform viewer version 3.7.28.300847, dated May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

This all leaves the release viewer unchanged: version 4.0.1.310054, dated January 15th.

Project Bento User Group update 5 with audio

Project Bento extends the avatar skeleton, adding a significant set of bones (e.g. 30 for the face, 30 for the hands Project Bento - extending the SL avatar skeleton
Project Bento – extending the SL avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, February 18th at 13:00 SLT on Aditi.  For details on each meeting and the location, please refer to the Bento User Group wiki page. Audio extracts are provided, however, due to circumstances beyond my control, I missed the first 20 minutes of the meeting, so the following update is not a full summary of all that was discussed.

The Default Avatar Mesh and Bento

An area of concern regarding Bento is that while custom-built avatars can make use of the new Bento skeleton, and some work has been done on making some of the appearance sliders for the default avatar mesh compatible with Bento, there is next to no way at presents for the default Second Life avatar mesh to make full use of a Bento extensions. Much of this wouldn’t actually matter,  given that many of the circumstances where the new bones are being used would likely require the use of a custom mesh avatar. However, there are two noticeable areas where the it does have an impact: hands and faces.

Essentially, Bento introduces 30 bones into the face and 30 bones into the hands. However, these cannot currently be leveraged by the default avatar mesh, as demonstrated in the first 20 seconds of the video below.

As such, there has been discussion over the last couple of Bento meetings on ways in which this might be addressed. However, there are significant problems in trying to make the existing default SL avatar compatible with the Bento skeleton. One of these is that the default skeleton is designed in three core sections (head, upper body, lower body), each of which can only be rigged to utilise a maximum of 15 bones.

This means that trying to rig the default avatar to make correct use of the Bento skeleton additions isn’t that easy; the head and hands, for example, simply cannot support the number of bones offered by the Bento project. A further complication as that when it comes to facial expressions, the default avatar uses morphs rather than pure animations to achieve various expressions, and these could conflict with animations which utilise the Bento bones.

One solution would be to completely overhaul the default avatar or replace it. However, this is a massive undertaking, and one which could easily result in a lot of existing content breakage, as such it is not something the Lab is entirely sanguine about doing. Another idea put forward was for the Lab to provide two default heads, one utilising the default morphs and the other Bento bones and their associated animations. However, the limit of how many bones the default avatar mesh can support made this idea a non-starter.

Cathy Foil summaries the discusses on the avatar head, which occurred prior to my arrival at the meeting

During the discussion, Vir and Oz revealed that having the default avatar make use of the Bento skeleton is something the Lab has been pondering. However, it is not something that will be implemented during this initial phase of Bento due to the amount of work involved. However, it could be looked at as part of follow-on work from Bento.

Vir and Oz Linden raise the potential for Bento follow-on work to provide a means of making the default avatar head and hands more compatible with the Bento bones

That the Lab are considering trying to make some changes to the SL default avatar to leverage Bento capabilities lead to the suggestion by Medhue Simoni that perhaps the Lab should at the same time more broadly overhaul the avatar to provide a consistent set of vertices and weights throughout.

The idea here would be to present an avatar form which content creators could more readily use to model and rig fitted mesh items to a single, consistent set of vertices and weights, rather than each having to work to their own weightings. This would allow fitted mesh clothes to work more precisely with the avatar appearance sliders than is currently the case, and thus provide a more consistent and better feature set going forward.

The problem here is again exiting content breakage. One suggestion for dealing with this, put forward by Cathy, is that if the Lab decided to go the route suggested by Medhue, they could need to provide two default avatars, which users could swap between as needed dictated, by means of something like the gender change options currently found in the avatar appearance panel.

Comments on a wider re-working of the avatar skeleton

Appearance Sliders and Bento

As noted above, there has been some work completed on hooking some of the Bento bones to the appearance sliders – notably around the head and hands. Now that the updated skeleton is moving towards a final design, the hope is that perhaps more bones within it can be linked to the sliders.

Vir and Cathy on Bento and the appearance sliders

Continue reading “Project Bento User Group update 5 with audio”

SL project updates 16 7/2: Unscheduled server deployments; SL viewer

Goatswood; Inara Pey, June 2015, on Flickr Recalling  Goatswood) – blog post

Unscheduled Server Deployments

Update, February 19th, 22:40 GMT: the SLS channel restarts have been completed and the Lab has issued a blog post on why they were required, which I’ve also blogged about

Update, February 19th: the deployment of the update referred to below will commence at 15:00 SLT

On Thursday, February 18th, there was an unscheduled server deployment to all three RC channels, which at the time of deployment was described as an, “Update on the simhosts. Nothing is changing Second Life functionality wise.”

Speaking at the Server Beta User Group meeting following the deployment, Steven Linden had this to say:

We had an unscheduled RC deploy earlier today. It’s for a security vulnerability that was released, and we discovered that Second Life regions were vulnerable. A full public post-mortem will be coming after we deploy to the rest of the main grid. I can’t say until it goes out to the rest of Agni; I can say that it was related to region availability only…. I honestly can’t say a great deal, other than we have a fix, and that it’s coming very soon to the rest of Agni.

All Steven could say about the issue was that a) it was related to region availability; b) it could only be exploited from within Second Life; c) there has been no evidence the issue  is being actively exploited on Agni.

However, given the apparent urgency of the situation, it is likely that the update deployed to the RC channels will be also be rolled to the Main (SLS) channel well ahead of Tuesday, the normal day for Main channel deployments and restarts.

I’ll have more on this following the post-mortem release from the Lab.

Scheduled Updates

Details are scant at the moment, but Wednesday, February 24th should see a new server maintenance package which includes some code clean up around the area of parcel bans. There’s no new functionality being added, and the changes shouldn’t break anything. More details when the update notes are published.

SL Viewer

The Quick Graphics RC viewer updated on Wednesday, February 17th to version 4.0.2.311103. This sees the addition of the following resolved issues:

  • MAINT-1945: Outgoing packets logging always says 0 bytes
  • MAINT-5613:  Complexity readings vary greatly for each avatar using the QuickGraphics viewer
  • MAINT-5620: Clicking on Graphics Preset title triggers favourite
  • MAINT-5681: Particles still render when complexity threshold is reached
  • MAINT-5682: Some avatars are invisible
  • MAINT-5685: Light still renders when complexity threshold is reached
  • MAINT-5690: Viewer crash when zooming out
  • MAINT-6070: Add detailed logging for how Avatar Rendering Complexity is computed.

The updates also sees the removal of SL-217: Document Avatar Complexity, from the list of resolved issues, presumably because the documentation is still a work-in-progress.

Other Items

Aditi Intellectual Property Tutorial

As mesh content creators are aware, in order to be able to upload mesh content to Second Life, you must a) have payment information on file, and b) complete the Intellectual Property Tutorial.  The same is also true for Aditi; however, a problem with the Aditi services has meant that some people have been unable to complete the tutorial there (accessed when you log-in to your Aditi dashboard), due to the test page failing to load / failing to display all the questions.

If you wish to use Aditi to upload test models of your mesh content, but have encountered issues in trying to complete the tutorial, the interim workaround is to try refreshing the page to force it to load, as there appears to be a load balancing issue in the Aditi back-end services. However, the issue is expected to be resolved for next week.