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 viewer release summaries, week #8

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates for the week ending Sunday, February 25th

This summary is generally published on every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.

Official LL Viewers

LL Viewer Resources

Third-party Viewers

V5-style

  • No updates.

V1-style

  • No updates.

Mobile / Other Clients

  • No Updates.

Additional TPV Resources

Related Links

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.

Second Life 360-degree snapshots hands-on III

Credit: Linden Lab

Update: The 360 snapshot viewer was updated to version 5.1.6.515934 on June 6th.

On Thursday, February 22nd, Linden Lab issued a further update to the 360-degree snapshot project viewer. While version 5.1.2.512774 brings with it some updates and changes, it still fair to say this is more an interim update than the set of improvements and capabilities some of us had been hoping for.

As with the previous update, released in June 2017 – see my Hands-on II review here – this viewer:

  • Uses the Alex Ivy viewer code base (only the release code, this time, obviously), and so is available for Windows (32-/64-bit) and Mac OSX; there is no Linux version at present.
  • Handles the “stitching” of a captured set of images into a single equirectangular 360-degree image ready for upload to suitable suites supporting 360-degree images.

However, what’s new with this viewer is that it:

  • Moves the 360-degree photo option from the snapshot floater to its own floater.
  • Sets the 360-mage resolution to 4096×2048 (no more “small”, “medium” or “large”).
  • Includes the required meta data for images to auto-display in Flickr’s 360-degree viewing mode, so you no longer have to manually set the equirectangular tag

So, how does it stack-up?

On the positive side, the new capture UI  does a credible job of easing the capture process and in offering preview of the 360-degree image. Hopefully there will be some further options added to it in the future – such as image size.

On the negative side the current  4096×2048 resolution could still do with improvement – Alexa Linden informed me that this work is in-hand – as it can exhibit a very definite fuzziness.

Taking the Shot

  • Position your camera at the centre point of your 360 shot.
  • While it is not specified, I would suggest camera in a circle to encourage the scene to load before capture.
  • Use Menu > World > Environment Editor > Sky Presets > Edit Presets to set your desired Windlight and use the Clouds tab to freeze cloud movement. Avoid the use of Depth of Field.
  • Press CTRL-SHIFT-C to display the 360-image capture floater.
The new 360 snapshot floater – default mode
  • Click Capture 360 to commence the capture process.
  • The floater will display some basic messages as the images are being captured and process, and the Lab have indicated these may be improved, depending upon feedback.
  • Once image processing is complete, the floater will expanding to show an auto-rotating previewing of the captured image. As with any 360-degree image, you can press and hold the left mouse button while over the image and scroll around it.
The 360-degree image preview
  • Note that there is currently an issue with the preview on Mac systems which can leave it black. If this happens, click Save Local and then Cancel. This should force the preview to displayed correctly.
  • If you’re unhappy with the preview, you can re-start the process by clicking Capture 360 again, or you can save the image using the Save Local button. This will save the image in equirectangular format to a location of your choice on your computer, from where yo can upload it to photo sites supporting 360-degree equirectangular images.

As noted above, images captured in this version of the viewer should automatically display in 360-degree viewing mode in Flickr without the need to meta tag them manually. They also should display in the WordPress  “VR” shortcode, placed within square braces (“[“, “]”) and in the format:

vr url=path-to-photo.jpg view=360

This should yield a result like this:

Feedback

A welcome update to a project viewer that was a little long-in-the-tooth: obviously, as well as the 360 snapshot changes, this version also brings the viewer up to par with all of the most recent viewer releases.

I was a little disappointed that there’s no support for uploads to Second Life Place Pages with this iteration of the viewer – something that had been indicated as being on the horizon in some recent user group meetings; apparently, and like the overall image resolution, it requires further work. As the 360 image captures now has its own floater, I’d also personally like to see it gain a dedicated toolbar button as well. CTRL-SHIFT-C isn’t a taxing short cut to remember, but buttons can make for convenience.

That said, the thing to remember here is that this is still only a project viewer – it still has a good way to go before being ready for prime-time use, which is something the Lab fully acknowledges. So, while it is worth taking it for a drive and having a play, expect to see further improvements and added functionality appearing in – hopefully not-too-distant – future updates.

Download and Release Notes

 

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.