Second Life project updates 31/1: server, VMM, group issues, Windows 10 issues

Baby's Ear; Inara Pey, July 2015, on FlickrBaby’s Ear, July 2015 (Flickr) – blog post

Update, July 30th: The updated VMM release candidate viewer referred to in this update is now available: version 3.8.2.303891.

Server Deployments Week #31

As always, please refer to the server deployment thread for the latest updates / news.

  • Tuesday, July 28th, saw the Main (SLS) channel receive the server maintenance package previously deployed to the three RC channels, comprising internal server fixes related to Experience Keys, comprising null pointer checkers and a configuration option for the number of Experiences a Premium member can have.
  • On Wednesday, July 29th, the three RC channels will be updated with a new server maintenance package aimed at fixing recent group-related issues (see below for more details).

Commenting on the Experience changes in the Main channel release a the Simulator User Group meeting on Tuesday, July 28th, Simon Linden said:

That’s just under the hood, the one-per-account is not changing. Simon Linden: with configurations like that, we have a layered approach … there’s a set of defaults that is fixed with each server release. We also have a way to over-ride it grid wide … which is how we can turn on and off some things grid-wide, without a server update; that’s how we turned on the experience tools when we released it. Now that it’s released, we move it into the default settings and eventually out of the over-ride.

Group Issues

In my last update, I reported that people had started experiencing group-related issues, following the Main channel deployment in week #30. In particular:

  • BUG-9725 – Activating a group fails on first selection on Second Life Server 15.07.09.303393 & RC
  • BUG-9735 – Unable to Edit Group Parameters after being made OWNER of newly created group
  • BUG-9695 – [Project Notice] First attempt at joining a group fails (also happens with current release viewer)

Of these, BUG-9735 has been causing the most upset, as it affects anyone who has their role changed. While their role title will update, they will not gain the powers associated with the role, even after the requiredrelog. Commenting on the issues,Simon explained:

It’s due to some database race conditions that show up in the production servers. I was a bit over-aggressive about moving some queries from the master Db to the slave databases…. Normally our main and slave databases are pretty well in sync … with very tiny delay between them; but if you read from the slave database and do something back into the main one, there can be a window when the data isn’t right.

The curious aspect with BUG-9735 is that a relog is normally required for a person to get the updated abilities associated with a role change; so it is unclear why things are going wrong, as Simon went on to say:

I’m not exactly sure how 9735 would happen … I can imagine failures, but relogs should fix that. A bunch of your group info is fetched when you log in, [so] I’m not sure why that couldn’t be updated correctly.

As noted above, fixes for these issues are due to be deployed to the RC channels on Wednesday, July 29th. Once deployed, it would seem likely that anyone being promoted to a new role will have to be on a release candidate channel region when being promoted & relogging, in order for their group abilities to correctly update. However, it’s not clear if the individual promoting someone to a new role will also need to be on a release candidate channel region as well, so some experimentation might be required.

VMM Update

VMM auto-migration of Marketplace Direct Delivery items commenced on Thursday, July 23rd and is proceeding on weekdays between 21:00 SLT in the evening and 09:00 SLT the following morning. However, it is unlikely the VMM viewer will be promoted to the de facto release viewer in the short-term. The reason for this is that the current RC has an elevated crash rate. As a result, there will be a further update to the release candidate, which is due to appear in the next day or so and which will include a number of fixes to try to reduce the crash rate, including one for BUG-9748.

Windows 10 Issues

There have been some recent SL-related issues been noted against recent builds of Windows 10 which are worth reporting, although their potential for any impact may vary.

Font Detection

In the first, BUG-9759, Kyle Linden reports that CJK fonts (those containing a large range of Chinese/Japanese/Korean characters) are not visible in the viewer. This appears to be due to  moving the default location of the font store for Windows 10. As a result, the viewer requires an update so it can look at the revised location.

Windows 10 / AMD Graphics Driver Issue

The second issue appears to be the return of a problem specific to Windows 10 and AMD graphics drivers first reported in March 2015.  This causes the graphics card name to be saved as garbled text into the Windows registry, with the result that any program explicitly requiring the name of the graphics card in order to run correctly can encounter problems (although those which don’t will continue to run OK). As v3-style viewers are designed to explicitly save the GPU name at log-out (it is stored in the settings.xml file), those using Windows 10 / AMD systems may be affected. This is because the garbled card name gets written to the settings.xml file, along with other global settings applied to the viewer by the user, when logging out. This makes settings.xml unreadable by the viewer at the next log-in, so the viewer fails to obtain information, and so reverts all global settings (including graphics) to their defaults. The issue was first reported in April 2015 (see BUG-9054), but seemed to be resolved with later Windows 10 builds. However, it now appears to have regressed with Windows 10 Build 10240 and  the AMD 15.7 driver (see BUG-9740 and particularly FIRE-16528).

An issue with at least one recent build of Windows 10 is that the name of any AMD graphics cards is being incorrectly saved at garbled text in the Windows registry (shown on the left, using the DxDiag tool). As V3 viewers expressly try to save the graphics card name between log-in sessions, this garbled text gets saved instead, with the result that the viewer's graphics are reset to default settings at the next log-in
Left: and AMD graphics driver recorded as garbled text in the Windows 10 registry, and (right) an AMD card name similarly garbled in the viewer’s settings.xml file as a result. The latter prevents settings.xml, which contains all global settings applied to the viewer by the user, from being read by the viewer when next launched, with the result that it reverts to default settings

Quite how widespread this problem might be as Windows 10 starts shipping is unclear, so the above should be read as an advisory of possible issues. However, if it does prove to be widespread, note that a fix will be required from Microsoft / AMD; this is not something the Lab and affected TPVs can address. In an effort to pre-emptively avoid at least some of the possible headaches the issue might pose for their users, the Firestorm team have developed a workaround, which is to be included in the upcoming 4.7.2 release. This workaround allows the viewer to load the settings.xml file so a user won’t lose all their global settings. But because the graphics card name remains garbled within the Windows registry (from which it is read by the viewer), it will still be saved as garbled text in settings.xml, and the viewer will continue reset all graphics options to their defaults when next launched until such time as a fix is forthcoming from Microsoft / AMD to correct the registry issue.

 Version Number

A third, and in terms of functionality, trivial issue is that Windows 10 will show as Windows 8 running in compatibility mode in the viewer’s system info. This won’t impact the viewer’s performance, and a fix from the Firestorm team has been contributed to the Lab (STORM-2105), and should be appearing in due course.

Second Life project updates 30/1: group issues, avatar complexity

Timeless Memories; Inara Pey, July 2015, on FlickrTimeless Memories, July 2015 (Flickr) – blog post

Server Deployments Week #30 – Recap

As always, please refer to the server deployment thread for the latest updates / news.

On Tuesday, July 21st, the Main (SLS) channel had been listed as due to receive server maintenance package previously deployed to the three RC channels (15.07.07.303297). However, post-roll, the channel had been updated to release  15.07.09.303393, although the description of the changes, internal simulator fixes, remained unchanged.

On Wednesday, July 22nd, the three RC channels all received the same new server maintenance package, again comprising internal server fixes related to Experience Keys, comprising null pointer checkers and – interestingly – a configuration option for the number of Experiences a Premium member can have.

Group Issues

Following the week’s deployment, people started reporting group-related issues, particularly:

  • BUG-9725 – Activating a group fails on first selection on Second Life Server 15.07.09.303393 & RC
  • BUG-9735 – Unable to Edit Group Parameters after being made OWNER of newly created group
  • BUG-9695 – [Project Notice] First attempt at joining a group fails (also happens with current release viewer)

BUG-9735 affects promoting a member of the group to Owner status: their role title will change, but they do not gain the Owner powers, even after a relog (if an invitation is sent to someone to join the group with Owner status, they gain the expected rights). Curiously, this bug does not reproduce on Aditi (Beta grid) on simulators running the same code release.

Note that with BUG-9695 that if a fee is charged for joining the group, the fee will be taken, even if the join fails; you’ll then be charged again on your next attempt to join (which should succeed).

The Lab is actively investigating these issues.

In addition, there have been assorted reports of dropped group chat messages and detectable group chat lag.

Avatar Complexity

There have been recent updates relating to STORM-2082, the work Oz Linden has been undertaking on Avatar Complexity (aka “Jelly Baby avatars”). This work had been held-up due to a bug which rendered all avatars affected by the setting as invisible, rather than as the expected “Jelly Babies”. However, this now appears to have been fixed.

This means that this work may well be appearing as a project viewer during week #32 (week commencing Monday, August 3rd).  Commenting on the status of the project at the Open-source Developer meeting on Monday, July 20th, Oz Linden said:

All it needs now is a little more UI – notices that show when your own Complexity has changed, and when your Complexity is too high for those around you to render … I want to wait for those UI changes to release this so that people have a way to understand why things are rendering fully or not … There will be a new setting that controls how long the message about your own cost appears; it will also govern how long the message appears when others are not rendering you.

Avatar Complexity (aka Jelly Babies): expected as a project viewer in early August
Avatar Complexity (aka Jelly Babies): expected as a project viewer in early August

Oz also indicated he’d like to experiment a little more with things. One idea under consideration is that currently, the viewer is gets all the data on high render cost avatars prior to calculating the complexity value. However, it might be possible to allow the viewer to make the calculations without having to fetch the full avatar data. A benefit of this could be to reduce the risk of worn mesh crashers impacting the viewer.

Second Life project updates 29/2: miscellaneous news

Matoluta Sanctuary, Sartre; Inara Pey, March 2015, on Flickr Matoluta Sanctuary (Flickr), March 2015 – blog post

Server Deployments Week #29 – Recap

As always, please refer to the server deployment thread for the latest updates / news.

  • There was no Main (SLS) channel deployment on Tuesday, July 14th.
  • On Wednesday, July 15th all three RC channels received the same server maintenance package, comprising internal simulator fixes.

SL Viewer

Following the promotion of the attachment fixes viewer to release status, all three remain active release candidate viewer in the release channel were updated as follows:

  • The Viewer-Managed Marketplace RC viewer updated to version 3.8.2.303583 on Thursday, July 16th
  • The Maintenance RC viewer updated to version 3.8.2.303563 on Friday, July 17th
  • The Mesh importer RC viewer updates to version 3.8.2.303565, also on Friday, July 17th.

Viewer-Managed Marketplace

On Thursday, July 16th, the Lab announced that VMM is now “released” (even through the viewer is currently still at RC status), and that automated migration of those Marketplace stores which have not already converted to VMM will commence at 21:00 SLT on Thursday, July 23rd, and will continue at the same time on weekdays for a 12-hour period (21:00 – 09:00) until complete.

That the announcement has been made prior to the viewer being promoted, and that it was made apparently without any notification to TPVs (who had been trying to work closely with the Lab in getting people ready for VMM) has caused no small amount of upset on the Commerce forum thread opened when the announcement was made, some of which is understandable, particularly given the way TPVs have tried to work with the Lab in support of VMM, and this announcement have left those still in the process of trying integrate the code into their viewers with little time to actually do so and support their users with a VMM-enabled version of their viewer.

Experience Tools

In my week #28 report, I referred to a comment made by Simon Linden relating to Experience Keys / Tools concerning some work he’s been carrying out on the KVP database:

I’ve been working on updating the KVP code that runs on our server and had the most frustrating time integrating the newest version into our code … The code we have is dated and we should have better performance and stability with their latest.

The use of “their” and “our” code led to some questions at the meeting (unanswered at the time) as to what it might indicate. During the Server Beta User Group (SBUG) meeting on Thursday, July 16th, some clarification was given.

The “their” referred to by Simon is MongoDB, which is the database being used to manage the KVP store and key value pairs. The version the Lab had been / is using can only apparently search around 1,000 values per minute. The new version that Simon has been working on should apparently improve on this, hence his reference to performance and stability improvements (not to mention scalability).

Second Life project updates 29/1: server, viewer, general items

Indie Teepee: July 10th through 24th, 2015 - blog post
Indie Teepee: July 10th through 24th, 2015 – blog post

Server Deployments Week #29

As always, please refer to the server deployment thread for the latest updates / news.

  • There was no Main (SLS) channel deployment on Tuesday, July 14th.
  • On Wednesday, July 15th all three RC channels should receive the same server maintenance package, comprising internal simulator fixes.

There were some issues with poor region performance following the week #28 Main channel deployment (see BUG-9647), but the majority of these appear to have been corrected with a region restart.

SL Viewer

On Tuesday, July 14th, the attachment fixes viewer (project Big Bird) was promoted to the de facto release viewer. Version 3.8.1.303130 has fixes for some attachment-related issues, particularly when multiple attachments are added or removed at the same time. Allegedly, no birds were harmed during the making of this viewer, although a parrot may have bitten an engineer’s finger…

Region Performance

Simon Linden: considering matters of region performance
Simon Linden: considering matters of region performance

While things may appear to be quiet in terms of new deployments, etc., the Lab are working on Second Life in a number of areas. One of these is in finding ways to improve region performance – such as through finding the means for a region to support more avatars, something Simon Linden was recently looking into.

During the Simulator user group meeting on July 14th, Simon indicated he was also looking at the abilities provided to region owners which might allow them to better specify what can and cannot be done within their regions in turns of things like object rezzing. in order to improve people’s experiences. “I’m looking at the balances we keep on regions between being permissive and locked down, and how that relates to the land usage,” he said during the meeting, before continuing:

So combat regions want fast and free rezzing, but that’s not appropriate for a music venue … venues don’t want free rezzing of objects, so someone can’t drop their griefer bombs. The big fuzzy goal is to make SL better.   More specifically, it’s to make different types of regions run better. For example, there’s a bug now where rezzing can get backed up and delayed.   This is really bad for combat rezzing arrows or whatever projectile. Part of the reason that happens is throttles and limits on rezzing … So maybe we should be able to set up combat region settings tweaked for that kind of performance, and an event venue might be tweaked to handle crowds best, and really lock down free rezzing and object entry. 

This sparked a discussion on a range of performance issues and cases, including issues such as BUG-8974 and BUG-8946, as well as matters such as the inefficiencies evident in the asset handling system in general (this has also come into sharper focus with the arrival of Experiences, where KVP operations are handled by the same thread as asset handling), and the issues of agent script usage (script management doesn’t balance out and prevent someone from using far more than their share of script time). Ironically, during the meeting, a demonstration of this problem was given with the arrival of a griefer loaded with  >9999 scripts – with the result that the region crashed.

Simon emphasised the discussion was just that – a discussion intended to explore ideas and options, rather than any firm commitment on his or the Lab’s part to make changes. With this in mind, some of the suggestions put forward were:

  • Land owner resource control for both rezzing and scripts for all region types (see BUG-3854)
  • An option to block rezzing an object over a certain draw weight to help stop people being able to rez graphics crashers
  • Possibly altering settings on mainland so that when purchased, it is not completely permissive and the new owner failing to understand what that can mean
  • A re-submission of BUG-2467 as a feature request, amended to “visible attachments”, so the Lab might re-evaluate the idea
  • The Lab to reconsider requests such as BUG-4153 and BUG-4182.

One of the problems here is that there are a lot of settings which might be exposed in order to help land holders better protect / optimise their land, such that it could become a complex issue in user understanding if too many controls are made available. However, it will be interesting to see what might transpire in the future as the Lab continued to consider options.

Other Items

Receipt of illegitimate L$ and Account Locking

An old issue of individual harassment has started to re-surface in Second Life of late, which can lead to people’s accounts being locked. With it, someone pays another avatar in-world using fraudulently created Linden Dollars. This results in an automatic account lock being applied, and the recipient, even though they are an innocent party, finds they are unable to use the account while investigations proceed.

The problem here is that there is currently no way to prevent the receipt of any L$ payment; not even blocking an avatar can prevent them from making a payment to you.

As a result of the recent increase in this problem occurring (there have been numerous reports to the Lab’s support team on the matter), a request has been made for the Lab to consider adding an “accept” button for all incoming payments. This would allow people to review all such unsolicited incoming payments ahead of accepting them, allowing them to judge whether the payment is valid or not.

Second Life project updates 28/1: server, viewer

Umbral Photography, Hydra Isles; Inara Pey, July 2015, on FlickrUmbral Photography, July 2015 (Flickr) – blog post

Server Deployments

As always, please refer to the server deployment thread for the latest updates / news.

On Tuesday, July 7th, the Main (SLS) channel received the same server maintenance package deployed to the three RC channels in week #27.

As noted in my project update for week #27, BUG-197 referred to in the package release notes relates to an issue whereby a user can’t see any of their local chat on a region or parcel, and nor can anyone else, due to a scripted object which is spamming chat so badly, the chat throttle kicks in, but no warning would be provided to inform the user this was the case. with the deployed change, the user will now get a message about the chat throttle being hit, but unfortunately, the system will not identify the spammy object (so it might be removed / returned, if possible).

There will be no RC deployments to the RC channels on Wednesday, July 8th, leaving all of the main grid on the same release. A new RC deployment, described as a “minor update” is in preparation for deployment to the RC channels in week #29.

SL Viewer

On Tuesday, July 7th, The Maintenance RC viewer was updated to version 3.8.1.303166, bringing it into line with the attachments RC viewer updated in week #27, and just leaving the Viewer Managed Marketplace viewer to be updated in the release channel, which will likely happen later this week.

Chromium Embedded Framework

At the Monday Open source Developer’ meeting, Oz Linden indicated that an anticipated project viewer,  the Chromium Embedded Framework (CEF) viewer which will provide media support via HMTL 5, should be appearing “Pretty Soon”™.  While Quicktime and Flash  may work on this viewer for some users, given the age / status of both, the Lab does not plan to support either going forward, and recommends media creators migrate to HTML 5.

It had been hoped that this viewer would have been out by now; however there appear to be one or two issues still to be resolved. “I heard the developer working on it today say he was deep in the middle of keyboard issues,” Simon Linden said during the Simulator User Group meeting on Tuesday, July 7th. “Getting frameworks like that to cooperate with OS events like keyboard, mouse and screen is always tough.”

Experience Keys / Tools

Simon is continuing to work on tweaks to the Experience Keys / Tools code, and in doing so passed an interesting comment at the Simulator User Group meeting.

“I’ve been working on updating the KVP code that runs on our server,” he said, “and had the most frustrating time integrating the newest version into our code … The code we have is dated and we should have better performance and stability with their latest.”

Quite what the difference is between “our” and “their” code might be isn’t entirely clear at this point in time – although the question was asked during the meeting, and may well be asked again in the future.

Simon also hopes to put some work into getting KVP access moved onto a separate thread to ordinary asset handling. As previously mentioned in these updates, that KVP access is currently on the same thread as asset handling can, at times, cause issues, as noted in BUG-8946.

Group Chat

The recent improvements made to group chat continue to make themselves felt, with many reporting that the old issues of lag with the chat on large groups has largely dissipated. Such are the improvements that Whirly Fizzle has suggested that http://isslgroupchatstillbroken.com/ should be updated. Even so, despite all the the improvements, Simon has indicated that there are still “a few things” he’d like to tweak a little more.

Second Life project updates 27/1: server, viewer, Experience Keys

Jasmine's Hollow; Inara Pey, June 2015, on Flickr Jasmine’s Hollow (Flickr)

Server Deployments

As always, please refer to the server deployment thread for the latest updates / news.

  • There was no scheduled deployment to the Main (SLS) channel on Tuesday, June 30th
  • On Wednesday, July 1st, all three RC channel received a re-roll of the server maintenance project from week #26, minus the problem which caused that week’s roll-back.

BUG-197, “Cannot See My Chat Only In My Region/ Region Bad Performance” refers to a problem whereby a user can’t see any of their local chat on a region or parcel, and nor can anyone else, due to a scripted object which is spamming chat so badly, the chat throttle kicks in, but no warning would be provided to inform the user this was the case. with the deployed change, the user will now get a message about the chat throttle being hit, but unfortunately, the system will not identify the spammy object (so it might be removed / returned, if possible).

SL Viewer

On Tuesday, June 30th, the Experience Tools RC viewer, version 3.8.0.302622, was promoted to de facto release status by Linden Lab. An official blog post accompanied the promotion, and I blogged an updated overview of the viewer and Experiences.

On Thursday, July 2nd, the Attachment Fixes RC viewer (Project Big Bird) updated to version 3.8.1.303130, bringing it to parity with the release viewer. The Maintenance RC viewer and the Viewer-Managed Marketplace RC viewer will also be updated in due course.

Experiences and Experience Tools

As noted above, the Experience Tools viewer was promoted as the release viewer on Tuesday, June 30th. As a result of this, a number of questions were raised during the Simulator User Group meeting that day, some of which have been asked elsewhere, and so are reproduced here:

  • Will accounts other than Premium be able to create Experiences in the future?
    • No comment at this time
  • Will it be possible to purchase additionalKVP data storage (for storing information on an experience – players, their progress, etc.) in future?
    • This has not been ruled out by the Lab, but it is something they’re decided they don’t “need to figure out yet”
  • What happens to an Experience if a Premium user reverts to a Basic account?
    • The Experience is suspended; data saved to the KVP will not be immediately deleted
  • Will it be possible to transfer an Experience to, say an alt on Premium if downgrading the account associated with the Experience to Basic?
    • This is a possible idea for the future; however the Lab are not looking at it at present, due to the complexities involved
  • Can any third-party creators to sell no mod scripts for other people’s experiences?
    • Technically, no; contributors to an Experience have to be explicitly allowed by the Experience owner
  • Can an Experience run on a mainland parcel?
    • Yes
  • Can an experience run across multiple regions?
    • Yes, so long as it is Allowed by the land owner(s)
  • Will a region restart affect the information for an Experience stored in theKVP?
    • No.

Other Items

Windlight / Environment Changes

The Lab is looking to improve windlight / environment capabilities within the viewer. No work has actually started as yet, but there has been an offer from the Alchemy TPV team to contribute code that would allow the cloud textures to be changed without having to re-start the viewer when doing so.

An idea that has been suggested is that creating and saving windlight settings as local XML files could be replaced by saving them as assets. No decision has been made on this, but it is important to note that were this to go ahead, this would not prevent people from creating their own windlights. Rather, what it would mean is that such custom settings would be saved as SL assets, rather than locally, making them easier to share with others, resulting in a more easily achieved “shared experience” to be experienced.

Avatar Complexity

The release  of a project viewer for Avatar Complexity is still stalled due to the bug that’s been introduced that renders all avatars affected by the setting as invisible, rather than as the expected “Jelly Babies”.