SL project updates week 34/2: TPV Developer Meeting

Yamagata; Inara Pey, August 2017, on Flickr Yamagatablog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, August  25th 2017. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Timestamps in the text below will open the video in a separate window at the relevant point for those wishing to listen to the discussions.

Server Deployments Week #34 – Recap

Please refer to the deployment notice for the week for latest updates and news.

  • On Tuesday, August 22nd, the  Main (SLS) channel was updated with server maintenance package, 17#17.08.11.328159, comprising internal fixes and the following feature requests:
    • BUG-5398: llGetObjectDetails() constants OBJECT_SELECTED & OBJECT_SAT_UPON. This sees the addition of two new parameters:
      • OBJECT_SELECTION_COUNT – returns how many agents are selecting any link in a linkset
      • OBJECT_SITTER_COUNT – returns how many agents are sitting on any links in a linkset.
    • BUG-9666: llGetObjectDetails() constants OBJECT_REZ_TIME, OBJECT_CREATION_TIME and OBJECT_RETURN_TIME.
    • BUG-134057 OBJECT_CREATION_TIME output precision possibly clamped – this sees a shift to 6-digit precision.
  • On Wednesday, August 23rd, the three RC channels all received a new server maintenance package, 17#17.08.11.328152 comprising the MIME type changes for HTTP.

SL Viewer

[2:35] The Maintenance RC viewer, version  5.0.7.328060 and dated August 9th was promotion as the de facto release viewer on Wednesday, August 23rd.  A new Maintenance viewer is expected to appear around the middle of week #35 (commencing Monday, August 28th).

[1:23] The Alex Ivy 64-bit viewer failed a QA test as a result of issues being introducing in refectoring how the SL Luncher code (used to determine whether the 32-bit or 64-bit version of the viewer should be installed on Windows systems). The issues aren’t serious, so it is hoped this viewer will appear some time in week #35.

[10:50] A further delay in promoting this version of the viewer, which currently remains at version 5.1.0.507412, is that accurate crash reporting data isn’t being gathers, due to issues with the back-end crash analyser, which are in the process of being addressed.  This problem isn’t uinque to the 64-bit build, but does seem to impact it the most.

[2:13] The Voice viewer, currently version 5.0.7.327253, dated June 21st, has been updated for parity with the release viewer, but has yet to pass QA testing at the time of writing.

This leaves the overall pipeline as follows:

  • Current Release version 5.0.7.328060, dated August 9, promoted August 23 – formerly the Maintenance RC
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself):
  • Project viewers:
  • 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.

[2:50] It is likely the the Lab will, at some point in the future, move to block some of the older and more outdated versions of the official viewer from accessing Second Life.

Texture Memory Increase and Cache Improvements

[13:58] The 64-bit viewer build will see an increase in the texture memory size, although this isn’t part of the current Alex Ivy build. This work includes:

  • [14:23] Changes to texture caching, including some re-organising and optimisation, and improvements to  statistics gathering to assist in understanding how well it is performing.
  • [15:25] Changes to format of the stored texture data, using the post-decoding raw data, rather than the JPEG2000 data, which should “significantly” improve the amount of textures which can be loaded per second by the viewer, when visited a location previously cached.
  • [16:18] An expansion of the cache version guards so that if a TPV changes versions of their texture decoding software (e.g. KDU) or change from 32- to 64-bit, the cache will get wiped, and force the start of a new one (this is something Firestorm already does).
  • An increase in cache size.

Further changes will follow from these, including possibly changing how the static VFS cache is handled, but this work has yet to be fully characterised.

BUG-10515: Unable to Rez Due To Invalid Mesh Data

[24:42] The have been increased report of mesh rezzing failures with the message “Unable to rez object because its mesh date is invalid.” It has been noted across different objects, but multiple reports have been made for it occurring with the Maitreya Lara 4.1 body.

The problems seem to occur randomly on different simulators, and the Lab has had problems getting the issue to reproduce, as often a simulator restart may clear it, so Grumpity Linden is seeking reports of the problem which can be made as they occur (object, region name, date / time, etc.), so that an attempt to reproduce the error can be be made and log files immediately gathered before any restart takes place (and/or log files are lost).

Other Items

[3:32] Infrastructure work:  the events of Tuesday, August 22nd (see April Linden’s blog post) became an accidental way of testing some of the new infrastructure changes (in this case, the log-in servers) the Lab is implementing, and will continue to implement over the next several months. This encompasses Second Life and the Lab’s various web properties related to it. This includes further operating system updates as well as various component updates.

[24:09] Part of this work involves inventory, although whether it will lead to user-visible improvements to inventory handling is unclear at this point.

[4:19] Place Pages: this have received a number of fixes recently, for those who wish to use them (see here for general information on Place Pages if you are unfamiliar with them).

[5:32] Estate Tool ban list improvements: The lab did some initial work to improve ban lists at the estate / region level a while ago, but the intended work to improvement to overall layout for the lists, etc., has been delayed do to work on dealing with viewer crashes, etc. However, work will be resuming before the end of the year, and possibly sooner. However, this work is unlikely to see an increase in the number held by the ban list, but will focus on usability improvements.

[28:44 McAfee Total Protection Issue: This is a problem being experienced by some users on TPVs (e.g. Alchemy and Firestorm) where the viewer is being flagged by McAfee Total Protection. This might be down to a code signing issue, however, to assist in further investigations, the problem needs to be reproduced and reported using the LL viewer.

[33:35] BUG-6925, HUDs and Attachments randomly detaching on region crossings / teleports: This has been investigated and determined to most likely be the result of a race condition, but a fixed has yet to be implemented.

[39:56-end] General discussion on documentation (e.g Axon animation; Objectllsd) and avatar physics calculations.

 

SL project updates 34/1: server, viewer, MIME Type updates

Cocoon, Japan Rose; Inara Pey, August 2017, on Flickr Cocoonblog post

Server Deployments Week #34

Please refer to the deployment notice for the week for latest updates and news.

  • On Tuesday, August 22nd, the  Main (SLS) channel was updated with server maintenance package, 17#17.08.11.328159, comprising internal fixes and the following feature requests:
    • BUG-5398: llGetObjectDetails() constants OBJECT_SELECTED & OBJECT_SAT_UPON. This sees the addition of two new parameters:
      • OBJECT_SELECTION_COUNT – returns how many agents are selecting any link in a linkset
      • OBJECT_SITTER_COUNT – returns how many agents are sitting on any links in a linkset.
    • BUG-9666: llGetObjectDetails() constants OBJECT_REZ_TIME, OBJECT_CREATION_TIME and OBJECT_RETURN_TIME.
    • BUG-134057 OBJECT_CREATION_TIME output precision possibly clamped – this sees a shift to 6-digit precision.
  • The three RC channels are, at the time of writing, TBD on the status of any update. However, it is believed (as per Rider Linden at the Simulator User Group meeting), should have additional logging for altitude changes, a couple new constants for llGetObjectDetails and some additional validation for mime types passed into HTTP requests. There is also a change that lets you customize what is passed in the Accept header.

SL Viewer

There have been no viewer updates so far this week, leaving the various pipelines as follows:

  • Current Release version 5.0.6.326593, released on May 26, promoted June 20 – formerly the AssetHTTP RC viewer – overview
  • Release channel cohorts:
  • Project viewers:
  • 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.

llHttpRequest MIME Types Updates

On Thursday, August 17th August, Oz Linden opened a forum thread of on the latest MIME type update the Lab is implementing. The latest changes involve validating the MIME type values:

  • The HTTP_MIMETYPE parameter to llHTTPRequest is checked. LSL will validate these for proper format; requests that attempt to send an improperly formatted type will send a debug channel error, not send the request, and return a null request key.
  • If you use the new HTTP_ACCEPT option to llHTTPRequest (which allows you to further restrict the type your script expects), the Content-Type of the response is checked to see that it matches your restriction; if it does not, the http_response event will be a 415 error and the body will be “Unsupported or unknown Content-Type”. Further details about HTTP_ACCEPT can be found in llHTTPRequest on the SL wiki.
  • Incoming HTTP requests to a script check to see if the Content-Type in the request is formatted correctly and that it is an allowed type (it always checked for allowed types). Previously, it was possible to send a type that was syntactically invalid but matched an allowed wildcard type. Incoming parameters are not validated. If an incoming request has an improperly formatted or unacceptable MIME type, LSL responds with a 415 error response and no event is generated for the script.

Scripts using any of the above can be tested on the following regions:

Other Items

Script Memory

The Lab periodically receives requests for the Mono script memory limit (64Kb) to be increased.

There are concerns about any increase. Not everyone writing Mono scripts do so efficiently or conservatively; any increase in limits could lead to avatars carrying much larger script loads (even allowing for multiple scripts to achieve functions which might otherwise be managed in a single, large script), impacting teleports and regions during the same. Some suggestions have been offered by users for reducing such potential impact:

  • Limiting additional script memory to creators of experiences – which is not seen as overly positive.
  • Limiting any increased script memory for premium members – which might be an incentive for some to upgrade.
  • Limiting the number of scripts (currently around 2,500) a single avatar can have attached.
  • Forcing limits on memory use at compile time – which presupposes the about of memory a script in operation will require at compile time, which might not always be the case.

As it stands, it is unlikely the Lab will have time to investigate any increase in script limits – but they are aware of the requests.

2017 Viewer release summaries week 33

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

Updates for the week ending Sunday, August 20th

This summary is published 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

V1-style

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

SL project updates 33/1: server, viewer, misc

Yasminia, Yasminia; Inara Pey, August 2017, on Flickr Yasminiablog post

Server Deployments Week #33

Please refer to the deployment notice for the week for latest updates and news.

  • There was no deployment to the Main (SLS) channel on Tuesday, August 15th, which remains on server maintenance package #17.07.27.327933 (not 17#17.07.11.327548 as quoted in the deployment thread. This comprises “additional internal fixes”.
  • On Wednesday. August 16th all three RC channel should be updated with the same server maintenance package, 17#17.08.11.328159, comprising internal fixes and the following feature requests:
    • BUG-5398: llGetObjectDetails() constants OBJECT_SELECTED & OBJECT_SAT_UPON. This sees the addition of two new parameters:
      • OBJECT_SELECTION_COUNT – returns how many agents are selecting any link in a linkset
      • OBJECT_SITTER_COUNT – returns how many agents are sitting on any links in a linkset.
    • BUG-9666: llGetObjectDetails() constants OBJECT_REZ_TIME, OBJECT_CREATION_TIME and OBJECT_RETURN_TIME.
    • BUG-134057 OBJECT_CREATION_TIME output precision possibly clamped – this sees a shift to 6-digit precision.

SL Viewer

There have been no viewer updates so far this week, leaving the various pipelines as follows:

  • Current Release version 5.0.6.326593, released on May 26th, promoted June 20th – formerly the AssetHTTP RC viewer – overviewdownload and release notes
  • Release channel cohorts:
    • Maintenance RC viewer version 5.0.7.328060, dated August 9th.
    • Alex Ivy 64-bit viewer version 5.1.0.507412, dated July 21st.
    • Voice RC viewer, version 5.0.7.327253 dated June 23rd.
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7. This viewer will remain available for as long as reasonable, but will not be updated with new features or bug fixes.

llHttpRequest

Further to my week #32 TPV Developer meeting notes, the llHttpRequest() changes are progressing.

“There are also some changes in the works coming along with llHTTPRequest() and mime types, Simon Linden noted at the Simulator User Group meeting. “A bit of clean-up, but there’s a chance there will be issues if people are doing some funky things along those lines. We will be putting some servers with that code on a few RC regions to test.”

Mazidox Linden added:

We should have some regions up tomorrow to test here on Agni, and we’ve already got a couple of test regions on Aditi, including Bonifacio and Sandbox Artifex. I’ll have more details about Agni regions at the Server Beta User Group on Aditi, in Morris on Thursday, at 3 PM Pacific Time.

This work will see MIME types associated with llHttpRequest being validated. This will involve checking the MIME types are well-formed, rather than any kind of checking against a valid whitelist of MIME types.A example of a poorly-formed MIME type, once the changes are implemented would be llHTTPRequest(base_url, [HTTP_MIMETYPE, “application/x-www/form-urlencoded”], “”.

The only exception to this is HTTP_ACCEPT, which does employ a whitelist, details of which are due to be added to the SL wiki. This will require the use of a MIME type from the set of types which are currently posted in the accept header (or any text/[subtype]).

As Oz Linden noted:

Unfortunately, someone put invalid example values in the wiki, and if anyone has used them then they’ll fail. I actually think that there’s little chance of bad failures, but it could trip a few people and given recent history we’re going to go a little more slowly with this one. The bad examples are only a year or so old, so I’m hoping they won’t be too widespread, and I’ll put up a forum post as soon as we have the region list.

Other Items

Aditi Inventory Syncing: Those who routinely log-in to Aditi, the Beta grid, probably know that the inventory syncing from Agni (and Main grid) and Aditi is currently broken. The Lab is aware of the problem, and it will be addressed.

BUG-100870 [Feature Request] Sandboxes should disallow sat upon objects to bypass auto return: this is being considered for all sandboxes, but is not currently being considered for all land, due to the risk of people being unseated from vehicles when crossing land with very short (e.g. 1 minute) auto-return periods.

2017 Viewer release summaries week 32

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

Updates for the week ending Sunday, August 13th

This summary is published 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

SL project updates week 32/3: TPV Developer Meeting

Whimberly, Whimberly; Inara Pey, August 2017, on Flickr Whimberlyblog post

The majority of the notes in this update are taken from the TPV Developer meeting held on Friday, August  11th 2017. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Timestamps in the text below will open the video in a separate window at the relevant point for those wishing to listen to the discussions.

Server Deployments Week #32 – Recap

Please refer to the deployment notice for the week for latest updates and news.

  • On Tuesday, August 8th, the Main (SLS) channel was updated with a new server maintenance package (#17.07.27.327933), comprising “additional internal fixes”,
  • The scheduled deployment to the RC channels for Wednesday, August 9th has been cancelled due to a back-end data issue which meant the region channel names weren’t being set correctly, so they didn’t start.

SL Viewer

[00:54] The Maintenance RC viewer was updated on Wednesday, August 9th to version 5.0.7.328060. This is currently the most likely candidate for promotion to de facto release status. The rest of the LL viewer pipeline remains as at the start of the week:

  • Current Release version 5.0.6.326593, released on May 26, promoted June 20 – formerly the AssetHTTP RC viewer – overviewdownload and release notes
  • Release channel cohorts:
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847, dated May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

[01:15-01:40 and 4:51-5:33] It is hoped the Alex Ivy 64-bit viewer will be updated in the early part on week #33 (commencing Monday, August 14th). Currently, the viewer is still showing an elevated crash rate for some, for reasons yet to be determined. In the meantime, the Lab is adding further code that will hopefully capture more crash information.

[01:56 and 06:49] The 360-degree snapshot viewer is currently on hold due to people being on vacation at the Lab. This may be a slightly extended delay while resources are diverted to the 64-bit viewer and CEF work.

[14:22-14:34] The Voice viewer is also suffering a high crash rate, also for unknown reasons.

[14:35-14:46] One of the next viewer projects for the Lab is a major re-vamping of the crash reporting and analysis system, which will hopefully make it easier to trace down probable causes for viewer crashes.

llHttpRequest Issues

[02:15-04:21] The least couple of weeks have seen server-side issues with llHttpRequest. Some of this has been due to low-level library changes that were inherited in updating the simulator code to some of the new components, including the OS itself. Other issues were the result of changes the Lab made at around the same time.

Most of these issues have now been rectified, although there is still some incompatibility issues still to be sorted. There is one further significant update related to this which will be going out on Aditi (the Beta grid), which will be put to the test with the intention of seeing if anything else breaks. A blog post / forum notice will precede this.

Simulator Infrastructure Updates

[08:52-09:28] The Lab is going to be carrying out a lot of simulator infrastructure work over the next two quarters. Efforts will be made to make user-visible updates during this work, but most of the work will be transparent to users, and may result in some performance improvements.

Other Items

[08:18-08:46] Group notice failures: No work has been put into looking at why some group notices are being dropped. This is currently seen as a lower priority than dealing with issues which can crash simulators.

[10:29-11:37] Dynamic mirrors (again): (see STORM-2055). The Lab has no plans to work on this at all, but Oz offered a *possible* compromise:

If an open-source developer implements mirrors that work, and are acceptable from a performance point of view, without unreasonable restrictions on where you can put them and what you can put them on, I at least will be happy to consider the contribution. But I don’t believe that’s possible, and I am assured by graphics developers who know a great deal more about rendering than I do, that it isn’t possible; and that’s why we’re not doing in. So, if you have a miracle worker out there who wants to do a contribution to the viewer – go for it! But since I’d like to get other work done, I’m not going to devote our developers to doing it.

[13:37-14:01] EEP – Environment Enhancement Project: a re-iteration of this project see the outline Google doc or my overview for more) will allow for things like phases of the Moon.

[18:20-18:32] Viewer UI Region / Estate ban list improvements: this work is still pending a developer resource.

[19:10-24:12] Abuse of Setting Home:  it has been reported that griefers are able to circumvent being kicked out of a region (TP Home) by moderators if they have home set to that region. The alternative to this is to ban them from the land – but this requires the rights to do so. There are also alleged means to bypass estate bans if the home position is set to the banned region – which should not be possible. If there is a bug allowing this to happen, it needs to be reported with repro steps.

PacMan Stars and Black Stars: the issue of “Pacman stars” (irregularly shaped stars) has been fixed via a contribution by Drake Aconis (Sovereign Engineer). However, the issue of stars appearing as black dots in some daylight windlight settings has yet to be fixed. This may be looked at as a part of the EEP.