2018 SL UG updates #10/2: CCUG summary

Queen of Dragons? Surrounded by Animesh dragons by Wanders Nowhere and used by Lucia Nightfire as Animesh test models

The following notes are primarily taken from the Content Creation User Group (CCUG) meeting, held on  Thursday, March 8th, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

There is no video to accompany this update, notes are taken from my own audio recording of the meeting.

Animesh

Project Summary

The goal of this project is to provide a means of animating rigged mesh objects using the avatar skeleton, in whole or in part, to provide things like independently moveable pets / creatures, and animated scenery features via scripted animation. It involves both viewer and server-side changes.

In short, an Animesh object:

  • Can be any object (generally rigged / skinned mesh) which and contains the necessary animations and controlling scripts in its own inventory  (Contents tab of the Build floater) required for it to animate itself.
  • Can be a single mesh object or a linkset of objects (link them first, then set them to Animated Mesh via the Build floater > Features).
  • Has been flagged as and Animesh object in the project viewer, and so has an avatar skeleton associated with it.
  • Can use many existing animations.
  • Will not support its own attachments in the initial release.
  • Will not initially include the notion of a body shape (see below).

Resources

Viewer Update

An updated to the Animesh project viewer occurred on Wednesday, March 7th with the release of version 5.1.3.513013. The focus of this update has been bug and crash fixes (e.g. correcting some of the issues of LODs getting stuck).

Current Progress

  • The major piece of work to be completed (other than further bug fixing) is performance profiling: looking at possible limits on tri count, LI, to ensure Animesh can scale across regions without becoming a major performance impact. This work takes object scaling into consideration.
  • Remaining bugs to be resolved include the animation timing issue, whereby an avatar entering a region were an Animesh object is already running may not receive the animations updates for the object. This is liable to require both viewer and server updates to fix.

Body Shapes

Providing a notion for Animesh objects to have a body shape is being considered as an initial follow-on for the project. If implemented, this would mean that Animesh creations could:

  • Make use of the shape sliders.
  • Utilise the Appearance / Baking Service.
  • Have a fully avatar-like inventory.
  • Make use of the server-side locomotion graph for walking, etc.

The assumption is that if the Lab look to add this functionality, it will be handled in much the same was as is the case for avatars. However, this aspect of the work will be opened up for discussion and ideas once it has been officially adopted as a follow-on project, rather than having speculative (and premature) discussions about how body shapes might be applied / managed.

Bakes on Mesh

Project Summary

Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads. The project is in two phases:

  • The current work to update the baking service to support 1024×1024 textures on avatar meshes.
  • An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.

This work does not include normal or specular map support, as these are not part of the existing baking service.

It is important to note that this project is still in its preliminary stages. Any release of a project viewer (see below) doesn’t mark the end of the project, but rather the start of initial testing and an opportunity for creators to have input into the project.

Project Viewer

  • Currently with the Lab’s QA team.
  • Will support a basic means of applying system bakes to mesh faces, although their will be caveats as to how well this initially works (e.g. matching to mesh UV maps).
  • The majority of this work is viewer-side, allowing mesh faces to be flagged with a special texture ID which allows a specific part of an avatar bake to be applied to them.

Feature Request JIRA

It is recognised that there are numerous questions / concerns relating to Bakes on Mesh (see my week #8 update). Because of this, and the lack of a specifications document, user Elizabeth Jarvinen (polysail) has started putting together a Feature Request JIRA outlining some of the specifics which need to be considered with regards to the project. Some of the ideas offered might be considered as a part of the initial Bakes on Mesh project, so might be left for a follow-up project. For more information on this follow the links below:

Project Arctan

This is the code-name for the project to re-evaluate avatar and object rendering costs (avatar complexity and Land Impact). Again, just to be clear on this project:

  • It is only just starting.
  • The aim is to make avatar complexity and Land Impact values more reflective of the actual “cost” to render avatars and objects. This might lead to ARC / LI values changing.
    • However, there are currently no details of how LI / avatar complexity values may change or when, as the Lab is still gathering data at this point in time.
    • The Lab is aware of the potential for increases in LI values to cause disruption, and if this is the case, they will seek to minimise the impact as far as possible.
  • The work is not related to Animesh – which will see a “basic” cost (in terms of geometric complexity) applied to Animesh objects (see performance profiling, above). Animesh objects may be subject to further revision as a result of Project Arctan’s findings.
  • It is hoped that Graham Linden, who is leading the project, will attend future CCUG meetings to discuss Arctan as the project progresses.

Other Items

  • PBR Shaders: there have been requests for the Lab to implement physically based rendering (PBR) – using realistic shading/lighting models along with measured surface values to accurately represent real-world materials. Such requests have been noted by the Lab. While adding support for PBR shaders has not been ruled out, it is seen as a significant undertaking, and is thus seen more as a “someday, maybe” piece of work, rather than being a part of the current SL enhancement roadmap.
  • Terrain texture improvements: terrain textures in SL suffer from a low texture density, causing blurring, etc. Again, the Lab is aware of this, and considering making improvements to terrain texture as a possible future project.

Next Meeting

The next CCUG will be on Thursday, March 22nd, 2018, and 13:00 SLT.

2018 SLUG updates #10/1: Simulator User Group

Meraki Islands; Inara Pey, February 2018, on Flickr Meraki Islandsblog post

Server Deployments

As usual, please refer to the server deployment thread for the latest updates.

  • There was no deployment / restart to the Main (SLS) channel on Tuesday, March 6th, leaving it on server maintenance package 18#18.02.12.512536.
  • No deployments are scheduled to either the Magnum or LeTigre RCs on Wednesday, March 7th, leaving them on server maintenance package 18#18.02.12.512536. However, given it is now two weeks since these channels were last restarted, they should undergo a restart this week.
  • The BlueSteel RC should receive a new server maintenance package on Wednesday, March 7th. 18#18.03.05.513046 is said to comprise “internal fixes”.

SL Viewer

360-Snapshot Viewer 5.1.3.513006

The 360-snapshot project viewer updated to 5.1.3.513006, intended to offer improved image resolutions and clarity. However, the update includes some significant issues of its own, including:

  • A failure to render in-world objects / Linden Water in 360-snapshots if Object-Object Occlusion (CTRL-SHIFT-O) is active.
  • A failure to render Linden Water (and possibly in-world objects) when saving snapshots to disk when using the Custom drop-down and leaving Constrain Proportions unchecked.
  • Include HUDs option in the snapshot viewer is inverted: when unchecked, HUDs are displayed in snapshots (and might appear in 360-snaps), when checked, HUDs are not displayed.
  • UI placement issues when the UI is displayed in the snapshot floater preview window – these issues do not translate to captured images, which display the UI correctly.

JIRAs have been raised against these issues.

Other Viewers

Apart from the 360-snapshot project viewer update, all viewers currently in LL’s pipelines remain unchanged from the end of week #9:

  • Current Release version 5.1.2.512803, dated February 23, promoted March 1 – formerly the Nalewka Maintenance RC – NEW
  • Release channel cohorts:
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Region Crossing Issues Investigation

As noted over the last few weeks, user Joe Magarac (animats) has been digging into the viewer code handling region crossings (See Firestorm JIRA FIRE-21915),SL Forum thread, and this Google document, plus my last update here for more).

He has now come up with s further approach, using  a scripted means to turn off physics and freeze a vehicle on hand-off to the next region and then wait for the avatar data to arrive, using llGetObjectDetails (avatar, [OBJECT_ROOT]) to check for the presence of avatars. On confirming they are present, the vehicle resumes. Overall, the delay is a few milliseconds, and seems to work. However, as Rider Linden notes, Linden Lab still needs to address the crossing logic, although where such work might fit in the current schedule is unclear.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including:

  • The ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others.
  • Experience-based environment functions
  • An extended day cycle (e.g a 24/7 cycle) and extended environmental parameters.

This work involves simulator and viewer changes, and includes some infrastructure updates.

Current Status

“I got my first inventory objects on the test grid yesterday,” Rider noted at the Simulator User Group meeting. “I’m cleaning up the inventory code today and will wire the old editors in so you can create assets. I expect to have a viewer that people can play with very, very soon.”

2018 SL UG updates #9/2: TPV Developer Meeting

Cece's Secret; Inara Pey, January 2018, on Flickr Cece’s Secretblog post

The following notes are taken from the TPV Developer meeting held on Friday, March 2nd 2018. A video of the meeting is embedded below, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion. Not this was a foreshortened meeting (20 minutes), with some lengthy periods of silence.

SL Viewers

[1:27-2:53]

  • The Nalewka Maintenance RC viewer, version 5.1.2.512803 (dated February 23rd) was promoted to de facto release status on Thursday, March 1st, 2018.
  • The Love Me Render RC viewer updated to version 5.1.3.513005 on Friday, March 2nd, which incorporates KDU and other security improves and (I believe) brings it to parity with the new release viewer.

All other official viewers in the pipe remain as per the start of the week:

  • Release channel cohorts:
    • Media Update RC viewer, version 5.1.2.512574, February 15.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

An update to the Media update RC is anticipated to bring it to parity with the new release viewer, and a new update to the 360-snapshot viewer is also anticipated, which hopefully addresses the fuzziness / resolution issues inherent in the current version (see my hands-on overview – link above – for more on this).

Upcoming Viewers

Maintenance Viewer

[3:00-3:09] A new Maintenance RC view should be appearing in week #10 (week commencing Monday, March 5th, 2018).

Bakes on Mesh Project Viewer

[3:10-4:30] A Bakes on Mesh project viewer, suitable for use with Bakes on Mesh test regions on Aditi is with th Lab’s QA team, and may be appearing in week #10.

Bakes on Mesh is a project to extend the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. It does so by allowing the faces on a mesh body / head to be defined in terms that the Baking Service can understand, allowing system layers to be applied to those faces, using 1024×1024 textures (rather than the 512×512 currently used by the Baking Service).

It’s important to note that the project viewer (with simulator-side support) is only the first phase of this project (essentially providing the 1024×1024 texture support), and there will still be much more to be done after the project viewer has been made available. Please refer to my Bakes on Mesh updates, which form a part of my weekly Content Creation User Group updates, for more specific information on this project.

Animesh Update

[7:56-9:06 – with audio break-up] The current focus remains:

  • Viewer-side bug fixes.
  • Performance profiling for Animesh complexity and LI costs.

The next step is to deploy updated simulator code in support of the limits so it can be put to the test.

DDoS Attack

[10:38-11:00] Some have experienced audio stream issues since the widespread amplified,UDP-based Distributed Denial of Service (DDoS) attack against memcached servers which took place across the Internet on Monday, February 26th / Tuesday, February 27th (memcached is a distributed memory caching system and is used to speed up dynamic database-driven websites and Internet-facing services by caching data and objects in RAM). As audio streams is handled by separate services (e.g. Shoutcast). It is possible they may have been suffering after-effects of the attack.

[11:05-11:56] The Lab has little to add to the blog post published by April Linden on the situation, other than they continue to harden systems and services. Overall, Second Life can come under frequent DDoS attack, but it myriad of parts are generally robust enough to withstand such attacks without them reaching the point of impacting users.

Off-Line IM Delivery Failures on Logging-in

[5:10-7:00] A project has been initiated to try to resolve problems with the viewer failing to receive all off-line IMs when a use logs in.

The cause appears to be that when a user logs-in, the simulator floods the viewer with UDP messages for the off-line IMs either before the viewer is ready to handle them, or as such a rate, messages are dropped.

To correct this, the Lab is making an API change in the simulator “in the next couple of weeks” and will be introducing a new viewer cap. Together, these will allow the viewer to indicate when it is ready to receive and handle off-line IMs, and ensure that the simulator correctly packages the messages for delivery, rather than simply sending a flood of items to the viewer.

These updates will hopefully be made available in a manner which allows TPVs to merge them relatively easily, rather than forming one part of a huge number of changes to the viewer.

In Brief

  • [4:35-4:53] Viewer Texture Memory Use: the Lab still plans to look at the question of texture memory use within the viewer, although it is noted this is turning into a “bit of a minefield”.
  • [12:02-13:05] Dullahan Linux: there have been requests for the Lab to provide a Linux Dulllahan build of the viewer (see this repository). Callum Linden has confirmed he’ll try to put further work into this before moving on to a new project, to at least leave it in a state others with more knowledge of Linux might be able to use.
  • [15:35-15:48] Disabling UDP inventory messaging: this is still being targeted for summer 2018, but there is currently no confirmed date.

2018 SL UG updates #9/1: SUG, and DDOS

Les Reves Perdus; Inara Pey, January 2018, on Flickr Les Reves Perdusblog post

Server Deployments

As usual, please refer to the server deployment thread for the latest updates.

On Tuesday, February 27th, the Main (SLS) channel was updated with server maintenance package 18#18.02.12.512536, previously deployed to the three RC channels. This update was to directly address an odd viewer crash situation some users have experienced. Speaking at the week #8 Simulator User Group meeting, and reproduced here for completeness, Simon Linden said of the issue:

The server is doing some better checking on update data it sends to the viewer. We saw a very odd situation a week or two ago where the region was sending odd data and viewers would crash immediately. It went away after we restarted the region, and we think it was some memory corruption … FWIW, the server was sending a value of zero for a prim-code … which is totally invalid … There were also some other invalid data (like a zero’ed UUID) so my theory was memory corruption.

We didn’t have any other smoking guns. That region was fine after restarting, or when we tried our own copy. It was one of those mystery bugs, which we sometimes get since SL is so big and complex. We don’t know why it got that way, or how to make it happen again. we ended up making both the region and the viewer more robust. The underlying problem is still there and, assuming it happens again, will still cause problems.

(See also: BUG-214564.)

On Wednesday, February 28th, 2018 the three main RC channels should be updated as follows:

  • LeTigre and Magnum; no deployment, no restart, leaving them on server maintenance package 18#18.02.12.512536.
  • BlueSteel should received a new server maintenance package, 18#18.02.23.512831, containing further simulator logging improvements and internal fixes. This is dependent upon what happens with the ongoing global DDoS attack over the course of the next 12-18 hours.

SL  Viewer

There have been no official viewer updates at the start of the week, leaving the various pipelines as per the end of week #8:

  • Current Release version  5.1.1.512121, dated January 26, promoted February 7 – formerly the Voice Maintenance RC.
  • Release channel cohorts:
    • Nalewka Maintenance viewer, version 5.1.2.512803, February 23.
    • Love Me Render RC viewer, version 5.1.2.512751, February 21.
    • Media Update RC viewer, version 5.1.2.512574, February 15.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Log-in Issues

On Monday, February 26th and continuing through Tuesday, February 27th, large numbers of SL users experienced significant issues in trying to log-in as a result of a widespread UDP-based Distributed Denial of Service (DDoS) attack on the Internet as a whole (rather than specific to SL).

On Tuesday, February 27th, whilst still dealing with the situation, April Linden at the SL Ops team took time out to post on the situation in the official blog:

Hi everyone.

As I’m sure most of y’all have noticed, Second Life has had a rough 24 hours. We’re experiencing outages unlike any in recent history, and I wanted to take a moment and explain what’s going on.

The grid is currently undergoing a large DDoS (Distributed Denial of Service) attack. Second Life being hit with a DDoS attack is pretty routine. It happens quite a bit, and we’re good at handling it without a large number of Residents noticing. However, the current DDoS attacks are at a level that we rarely see, and are impacting the entire grid at once.

My team (the Second Life Operations Team) is working as hard as we can to mitigate these attacks. We’ve had people working round-the-clock since they started, and will continue to do so until they settle down. (I had a very late night, myself!)

Second Life is not the only Internet service that’s been targeted today. My sister and brother opsen at other companies across the country are fighting the same battle we are. It’s been a rough few days on much of the Internet.

We’re really sorry that access to Second Life has been so sporadic over the last day. Trying to combat these attacks has the full attention of my team, and we’re working as hard as we can on it. We’ll keep posting on the Second Life Status Blog as we have new updates.

See you inworld!
April Linden
Second Life Operations Team Lead

The attack led to a wide number of issues for SL users, from an inability to log-in to SL, through to disconnects or other problems. As Simon Linden explained in the Simulator User Group meeting on Tuesday, February 27th:

It’s not just logins … and often there is cascading problems. If one system gets attacked, it might actually be functioning fine but if the rack or network switch it’s on is overloaded, anything else connected there also has problems.

As it stands, the worst of the attacks appear to be over, at least where SL is concerned, but users should keep an eye on the official blogs for further updates, as well as grid status updates.

2018 SL UG updates #8/2: Content Creator User Group

A rally of (Animesh) raptors on Aditi

The following notes are primarily taken from the Content Creation User Group meeting, held on  Thursday, February 22nd, 2018 at 13:00 SLT. For the purposes of Animesh testing, the meetings have relocated to the Animesh4 region on Aditi, the beta grid – look for the seating area towards the middle of the region. The meeting is chaired by Vir Linden, and agenda notes, etc, are usually available on the Content Creation User Group wiki page.

SL Viewer

  • The project render viewer was updated to RC status on Wednesday February 21st become the Love Me Render viewer, version 5.1.2.512751. The two primary improvements to this viewer are:
    • An improvement to mesh LOD calculation (account for CTRL+0)
    • Agents that render as jelly dolls should have their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes. The debug setting RenderAutoMuteByteLimit has to be greater than the default of 0 for this feature to work.
  • The Nalewka Maintenance RC viewer also updated on Wednesday, February 21st, to version 5.1.2.512752.
  • The 360-degree snapshot viewer updated on Thursday, February 22nd to version 5.1.2.512774 – see my hands-on overview for more.

Bakes On Mesh

Extending the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. This involves server-side changes, including updating the baking service to support 1024×1024 textures, and may in time lead to a reduction in the complexity of mesh avatar bodies and heads. The project is in two phases:

  • The current work to update the baking service to support 1024×1024 textures on avatar meshes.
  • An intended follow-on project to actually support baking textures onto avatar mesh surfaces (and potentially other mesh objects as well). This has yet to fully defined in terms of implementation and when it might be slotted into SL development time frames.

This work does not include normal or specular map support, as these are not part of the existing baking service.

Current Status

Anchor Linden is currently working on viewer-side support, and hopes to have a project viewer, together with test regions on Aditi, available for testing “soon”.

There is a growing number of questions / concerns around this work which have yet to be fully answered:

  • How will the system avatar be masked? Via a dedicated alpha channel?
  • What creators need to do in order to leverage the capability. Essentially, the process requires specifying which mesh face gets what bake channel – but is this actually defined?
  • Will there be scripted support (seen as vital to allow continued use of normal or spec maps, for example)?
    • How might HUD systems that apply materials work in conjunction with bakes on mesh (e.g. to continue to simulate cloth textures, as seen in current clothing appliers)?
  • Has there been any attempt to reach out to and encourage the makers of popular mesh bodies / heads to engage in the project, body to understand what is being attempted and how best to ensure it is something they would be willing to leverage?
    • Alexa and Vir have both indicated that this is on the Lab’s plans for the project, once a basic project viewer is available so that people can actually start investigating what might be required to leverage the capability properly.
  • Is there a project specification people can refer to / contribute to?
    • Elizabeth Jarvinen (polysail) has offered to write a Feature Request Specification. Those wishing to contribute to it should contact her in-world.

Animesh

  • Vir is focused on bug fixes at the moment.
  • There is a potential new project viewer waiting in the wings, but this is dependent upon some of the bug fixes, such as LOD stability issues and camming problems.
  • There is still no definitive time-frame for the release of Animesh – it’s now largely dependent on the bug fixing work.

Project Arctan

This is the code-name for the project to re-evaluate object and avatar rendering costs. It is still in its very preliminary stages, and might, in time, lead to a change in how Land Impact is calculated and assigned. No decisions have been taken (as the data has yet to be collected and analysed and decisions made), so this not something that will be happening soon – and even when it does, it may not cause any appreciable changes for the majority of users, simply because the Lab is looking to minimise any impact which may come out of the work as much as they can.

Just what is being planned and how any negative impact on LI might be mitigated were discussed at both the week #7 CCUG meeting and that week’s TPVD meeting, and the following audio featuring extracts from both meetings will hopefully further contextualise how the work is being approached, and hopefully ally fears.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including:

  • The ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others.
  • Experience-based environment functions
  • An extended day cycle (e.g a 24/7 cycle) and extended environmental parameters.

This work involves simulator and viewer changes, and includes some infrastructure updates.

Current Status

  • Rider Linden is now “well on the way” to having working inventory Windlight assets.
  • Once he has finished this element of work, he hopes to put out a project viewer for use of test regions on Aditi which have the necessary support for managing the new Windlight assets – this could happen in March.
  • The will be no direct LSL support for the new assets in the first EEP release.
  • llGetSunDirection() will initially be broken as a result of the alterations to the day / night cycle:
    • The sun’s position will no longer be based on the default Linden Sun (which has a four-hour “day”), but defined by the environment itself, allowing for more physical world daylight times
    • The function will be updated to work with the new EEP capabilities before the project gets to release status.
  • Once llGetSunDirection() has been updated, sundials using it should accurately reflect the position of the Sun over a region, rather than being indicative of its general position in the sky. However, sundials using the scripted function to count the number of seconds since “midnight” in a 4-hour day cycle in order to simulate the Sun’s position in the sky will be broken.
  • Essentially, EEP should allow Windlight settings to work as we see them now, but a) as objects which can be applied from inventory; b) on the basis of agent application through an experience. It should also work closely with the planned atmospherics updates.

Atmospherics Updates

A separate piece of work in progress – albeit it related to EEP – is a set of updates to SL’s atmospheric shaders. This work is being carried out by Graham Linden, and among other things, will allow for things like Godrays, improved visual fogging, etc. There’s currently no time frame on when this work might publicly surface.

Next Meeting

The next CCUG meeting will be held on Thursday, March 8th, 2018.

2018 SL UG updates #8/1: server, viewer

Flying Coyote River; Inara Pey, January 2018, on Flickr Flying Coyote Riverblog post

Server Deployments

As usual, please refer to the server deployment thread for the latest updates.

There was no deployment to the Main (SLS) channel on Tuesday, February 20th, again leaving it on the same server release as weeks #6 and #7: 18#18.01.17.511913. as the channel was restarted in week #7, there was no rolling restart this week.

All three of the major RC channels should receive a new server maintenance package on Wednesday, February 21st. Release 18#18.02.12.512536 should hopefully improve (if not resolve) an odd viewer crash situation some users have experienced. At the Simulator User Group meeting on Tuesday, February 20th, Simon Linden described it thus:

The server is doing some better checking on update data it sends to the viewer. We saw a very odd situation a week or two ago where the region was sending odd data and viewers would crash immediately. It went away after we restarted the region, and we think it was some memory corruption … FWIW, the server was sending a value of zero for a prim-code … which is totally invalid … There were also some other invalid data (like a zero’ed UUID) so my theory was memory corruption.

We didn’t have any other smoking guns. That region was fine after restarting, or when we tried our own copy. It was one of those mystery bugs, which we sometimes get since SL is so big and complex. We don’t know why it got that way, or how to make it happen again. we ended up making both the region and the viewer more robust. The underlying problem is still there and, assuming it happens again, will still cause problems.

(See also: BUG-214564.)

SL Viewer

There have been no updates to the viewer in the current official pipelines thus far, leaving them as per the end of week #7:

  • Current Release version  5.1.1.512121, dated January 26, promoted February 7 – formerly the Voice Maintenance RC.
  • Release channel cohorts:
    • Media Update RC viewer version 5.1.2.512574, February 15.
    • Nalewka Maintenance viewer version 5.1.2.512522, February 14.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Region Crossing Issues Investigation

As noted over the last few weeks, user Joe Magarac (animats) has been digging into the viewer code handling region crossings in an attempt to improve avatar handing  when seated on objects and looking at the “partial unsit” issue (when the avatar becomes visual detached from a vehicle on a region crossing, but acts as if still attached (e.g. appearing seated, with any attempt to stand causing a viewer crash. Information pertaining to his effects can be found at the following location:

He now believes he has an extrapolation fix for unsits at region boundaries, which could be appearing in a future Firestorm release.

In addition, he believes he has now isolated the cause of the “partial unsit” issue as being a network bottleneck issue, and is confident he can recreate the problem simply by “overloading” his network connection by running multiple net-intensive operations in the background (resulting in packets being lost or arriving out-of-order), or by forcing packet loss.

Rather than using RLV(/a) to address this problem as a workaround, he’s now looking at using a “scripted seatbelt” – essentially a scripted attachment which can detect a partial unsit, and teleport the avatar to the last known “good” position for the vehicle, attempting to deliver the avatar 3m above the vehicle, which might make it possible for the user to then re-sit. It’s not a total solution, particularly if the vehicle has been handed-off OK and is continuing along its path, but as Simon Linden noted, at least it puts the avatar (hopefully) in the vicinity of the vehicle. And as was also acknowledged in the meeting, anything more direct is likely going to require the Lab find resources to bang on the region crossing code in both simulators and in the viewer.