Second Life projects update 46/1: server, viewer, issues

Endless Summer; Inara Pey, October 2015, on Flickr Endless Summer (Flickr) – blog post

Update November 11th: The HTTP RC viewer has been with withdrawn – see notes below.

Server Deploys Week 46

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

  • On Tuesday, November 10th, the Main (SLS) channel was updated with the same server maintenance package as deployed to the RC channels in week #45, comprising a fix for group invite throttle notifications, and an internal server code clean-up
  • There will be no RC deployment on Wednesday, November 11th.

Simulator Behaviour Changes

A RC deployment had been planned for week #46, which would have included new simulator side validation checks for mesh and animation uploads and attachment point validation.

However, when testing the simulator code on Aditi, Whirly Fizzle found that some of the checks are a little too stringent, and that even valid animations and mesh might be blocked – see BUG-10607 ‘Back end enforcement for animation upload” is blocking upload of many of my animations – “references unknown joints”‘, with even the default official bvh animations being blocked.

As a result of this, and following discussions at the Simulator User Group meeting on Tuesday, November 10th, the Lab postponed the deployment pending a re-examination of the new validation code.

SL Viewer Updates

A new Maintenance viewer was released on Tuesday, November 10th. Version 3.8.7.307376 brings with it some 38 fixes and improvements, including updates for some regressions introduced into the viewer with the current release viewer (version 3.8.6.305981).

The CEF project viewer (Project Valhalla) was also updated on Tuesday, November 10th. Version 4.0.0.307535 includes 17 fixes and updates compared to the initial release of the viewer.

Update November 11th: The HTTP (Project Azumarill) release candidate viewer was removed from the viewer release channel. As noted in my last TPV Development meeting report, the latest iteration of this viewer was generating assorted issues, including viewer disconnects on teleporting, and this may have led to the removal, although no official reason has been cited.

Other Items

HTTP Request Throttling

The server deployment to the main channel in week #45 introduced a throttle on HTTP requests. It had been introduced to prevent a griefing vector which could crash a region. However, the throttle was sufficient to cause llHTTPRequest to give NULL_KEY returns, which impacted a range of in-world systems include skill gaming systems, breedables, and tools such as Sculpt Studio (see BUG-10627 “llHTTPRequest appears to return NULL_KEY even if throttle is not reached”).

Commenting on this at the simulator user group meeting, Simon said:

I’m looking at relaxing that more with (hopefully) next week’s maintenance release; perhaps sooner (but no promises). I also need to update the llHTTPRequest() wiki page.  It really needs details on how scripters should handle a NULL_KEY return; basically they need to code for it … wait about a minute before retrying, and don’t kill your breedables if you can’t talk to your server. [The griefing vector] really caused some problems.   So we need that limit, but hopefully without killing off herds of SL animals.

Scripted normal & specular texture change Issues

Whirly Fizzle has reported a viewer-side issue within the current release viewer (version 3.8.6.305981) which can occur when manipulating materials on in-world objects or worn attachments via script.

The problems are outlined in BUG-10601, “Scripted normal & specular texture changes do not work correctly and screw up other materials enabled objects on the region”, and the problems affect normal and specular maps, and as Whirly notes in the report, the impact can be a little erratic. In sort, using scripts to toggle normal and / or specular maps on a surface on / off fails to result the expected behaviour.

Normal Maps expected Normal Maps 386
On on the Left, how things should work as Whirly uses a script to toggle a normal map on / off to reveal the “001”; on the right, how the same script fails to achieve the same result in the 3.8.6.305981 viewer – click either images for full size

Whirly provides a full description of the problems which can occur, and it should be noted that while annoying when seen, the circumstances under which they occur are most likely narrow enough so as not be to be a major issue for users. The bug has been accepted by the Lab, and Marine Kelley has offered a hotfix which, if needed, might help in formulating a “full” fix for the problem.

Aditi Log-in Sync Issues

A recent breakage in the update mechanism for syncing passwords and inventory between the main grid and Aditi, led to further issues for some users in trying to use both grids (see this forum thread and BUG-10634).

At the start of week #46, the Lab deployed a new method of syncing between Agni (the main grid) and Aditi, which it was hoped would resolve problems. Unfortunately, things didn’t work out as planned, and the new system had to be rolled back.

As a result, and as Simon notes on the forum thread, those wishing to sync their grid passwords and inventory between the two grids should file  a Support ticket asking that your account be copied from the main grid to Aditi.

SL project updates 45/1: server, viewer

Sorrow, Paper Dinosaurs; Inara Pey, October 2015, on Flickr Sorrow, Paper Dinosaurs (Flickr) – blog post

Server Deployments Week 45

As always, please refer to the server deployment thread for the latest information and feedback.

  • On Tuesday, November 3rd, the Main (SLS) channel received the server maintenance package previously deployed to BlueSteel and LeTigre, comprising a simulator crash fix
  • On Wednesday, November 4th, all three RC channel received a new server maintenance package comprising a fix for group invite throttle notifications, and an internal server code clean-up.

Part of the code-clean up for the RC channels deployment appears to involve a fix for the region edge issue I reported on in my week 44 report, with Simon Linden commenting at the Simulator User Group meeting on Tuesday, November 3rd, “The new code going into RC has one interesting tool in it for our support staff … there’s a sim console command to reset the land edges to match what’s visible.”

SL Viewer Updates

The HTTP release candidate viewer (Project Azumarill) updated to version 3.8.7.306796 on Monday, November 2nd, possibly the last update before this viewer gets promoted to the de facto viewer in week #46.

Group Issues

There are a number of issues with groups the Lab is aware of, including those who are ejected from a group whilst in a group chat session still being able to continue using the chat until they close the window (see SVC-32), an issue not fully resolved when group bans were introduced.

This issue is one that the Lab is hoping to address, however, it is dependent upon some infrastructure changes being made, so may now happen in the immediate future, although the hope is to get the underpinning work done “pretty soon”.

SL project updates 44/1: server, viewer, attachment points

Loch Noble, Pinewinds; Inara Pey, October 2015, on Flickr KiLu, Majorca (Flickr) – blog post

Server Deployments – Week #44

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

On Tuesday, October 27th, the Main (SLS) channel received the same  server maintenance package as deployed to the three RC channel in week #43. This comprised server-side improvements for delivering group notice attachments, together with some simulator crash fixes and code to prevent the uploading of “hacked” mesh content (e.g. mesh items which show a LI of 1 no matter what their actual complexity, or which spoof a creator’s name).

On Wednesday, October 28th, the RC channels should be updated as follows:

  • BlueSteel and LeTigre will each receive the same new server maintenance package, comprising a simulator crash fix
  • Magnum will also receive a new server maintenance package, comprising the same simulator crash fix as BlueSteel and LeTigre, together with a fix for a security issue.

SL Viewer

On Monday, October 26th, the Notifications viewer was promoted to the de facto release viewer. Version 3.8.6.305981 comprises the new floater for managing incoming notifications (Group, Transactions, Invitations, System).

The notifications viewer became the de facto release viewer on Monday, October 26th.
The notifications viewer became the de facto release viewer on Monday, October 26th.

Also on Monday, October 26th the HTTP release candidate viewer updated to version 3.8.6.306549, which includes fixes for the following issues:

  • MAINT-4952 Replace old http client usage with llcorehttp
  • MAINT-5283 Viewer doesn’t connect to Facebook
  • MAINT-5693 [Project Azumarill] Avatar often bakes fails on Azumarill
  • MAINT-5732 [Azumarill-RC] Viewer actually crashes when connection is lost instead of disconnecting.
  • MAINT-5780 Viewer crashes when trying to create webprim
  • MAINT-5788 Secondlife has stopped working error, after canceling TOS
  • MAINT-5791 Terms of service are not loading.

Other Items

Rigging Mesh to Attach Points – BUG-10543

In my last project update, I reported on asset upload validation checks, and the Lab’s work to move them from the viewer to the simulator (e.g. checks to ensure animations are what they say they are, further checking of mesh uploads to ensure they can be rendered correctly, etc.). the overall aim is to improve reliability in SL. However, one impact of these changes is that once implemented,  it will no longer be possible to upload mesh items weighted to attach points.

While the Lab  has never regarded this as a supported means of handle mesh attachments, it has nevertheless been widely used by creators in SL. So much so that when Firestorm removed the ability to upload such meshes from their viewer, it caused some consternation (see FIRE-17144).

Once implemented, the change should only affect new uploads of mesh weighted to attachment points, and not affected any items already uploaded and in use within SL. However, a JIRA on the matter has now been raised directly with the Lab on the issue (see BUG-10543), in which creators who use the technique can provide input and use-cases to the Lab on why the approach is used (if you wish to leave a comment, please try to make it constructive and provide examples / reasoned argument, as these work better than rants).

Commenting on the JIRA, Troy Linden has said, “We realise that there will be a lot of residents/assets affected by this and currently looking into it. Sorry for the inconvenience and worries it caused. Please stay tuned.”

Adding to this at the Simulator User Group meeting on Tuesday, October 27th, Oz Linden said:

Up until a couple of days ago, we didn’t know anyone was doing it. You’d be amazed how often that happens. So please allow us a little time to digest what we’ve been learning. It’s actually one of the great things about working on SL. While we don’t always love how people apply their creativity, we all just love seeing how creative our users are.

Region Edge Issues

There has been an occasional problem encountered along the edges of simulators in which, when terraforrming and using the Smooth option, a very thin “cliff” can be raised into the air (see BUG-5979), or where when an avatar gets close to a region, it falls  through a “gap” (see BUG-242).

Various reasons have been identified for this – as noted in the bug reports – and at the Simulator User Group meeting, Simon Linden said, “I think I found the cause of those odd region edges you sometimes see, where you can’t move in the areas you think you should at the edge of the land. It’s actually not the navmesh [which had been thought to be one of the possible causes] but it is the physics shape of the land.”

Essentially, the simulator, where no longer connected to a region which might once have been next to it, gets confused as to what it thinks should be alongside it. It then attempts to match the physics and land to what it thinks is in the “neighbouring” region,  rather than simply resetting itself.

SL project updates 43/1: server, viewer

WOD: Chateau Village; Inara Pey, October 2015, on Flickr WOD: Château Village (Flickr) – blog post

Deploys for Week #43

There was no deployment to the Main (SLS) channel on Tuesday, October 20th.

On Wednesday, October 21st, all three RCs should receive the same new server maintenance package, which include server-side improvements for delivering group notice attachments, which is hoped will provide some improvements to issues of trying to open such attachments from the group notice notifications.

The update also includes some simulator crash fixes, and while not advertised in the release notes, should also include simulator-side code to prevent the uploading of “hacked” mesh content (e.g. mesh items which show a LI of 1 no matter what their actual complexity, or which spoof a creator’s name).

As usual, updates can be found in the server deployment thread.

SL Viewer

The Quick Preferences RC viewer was updated to version 3.8.6.305942 on October 19th, most likely bringing it up to parity with the current release viewer.

Commenting on the status of the current RC viewers during the open Source Developer’s meeting on Monday, October 19th and in relation to any possible viewer promotion in week #44, Oz Linden said, “The Quick Graphics viewer has too many bugs to promote; mostly minor, but there’s no reason to go forward with it yet. HTTP has a couple of significant bugs to fix. So if I had to bet on the next promotion I’d guess the Notifications viewer.”

Expect more news on viewers following the TPVD meeting on Friday, October 23rd.

Other Items

A question was asked during the Simulator User Group meeting on Tuesday, October 20th about making script time for in-world objects in a parcel available to the parcel holder (e.g. an extension of the region-wide Top Scripts functionality available to region / estate owners / managers). The idea here being to help parcel owners better understand how in-world objects within their parcel might be impacting simulator resources (see this forum thread and SCR-60 as well).

Commenting on the idea, Simon Linden said:

Since we send it to the viewer already, you have access to the info … You can probably get some of that info by scanning but I can see it would be a lot easier to get that in a different format. One of the limits (I’m sure you all know) of LSL is it’s not good with large data sets, so I’m not sure how you can expose that info for a large number of items … so maybe the top 10 or 25 objects on a given parcel? I can totally see the need for that to manage land.

… HUDs and attachments add a twist to it … they would probably be lumped together with the AV as they are now. I wonder if it would be easy to add something like PARCEL_SCRIPT_TIME to llGetParcelDetials()? that doesn’t give you what you want, but is a higher level for finding the parcels with the most scripts.

Those looking for such a capability are advised to raise a JIRA feature request.

Second Life project updates 42/1: server, viewer, misc items

Hestium; Inara Pey, October 2015, on Flickr Hestium (Flickr) – October 2015 – blog post

SL Server Deployments Week 42

There was no deployment to the Main (SLS) channel on Tuesday, October 13th. Also, the server maintenance package planned for deployment to the three RC channels in week #42 did not pass final testing, and the deployment has been postponed as of LL CoB on Tuesday, October 13th.

SL Viewer Updates

The Maintenance viewer, version 3.8.5.305531, was promoted to the de facto release viewer on Tuesday, October 13th. The viewer has over 90 fixes, improvements and feature requests – please refer to the release notes (link above) for details.

Group Notice Attachments

The server maintenance package postponed from deployment in week #42 comprises a partial fix for  group notice attachments failing to respond when clicked, forcing recipients to open the Group floater, search the Notices tab for the relevant notice and retrieve the attachment from there.

This problem most frequently occurs as a result of some of the data relating to the notification and the original notification users open to access the attachment being lost to the simulator after about an hour, and the fix in question is geared to correcting this. However, there can be other circumstances where the attachment fails to respond, which might be either server-side issues, or viewer issues.

“I’m pretty sure there’s a viewer issue too,” Simon Linden said, discussing the matter during the Simulator User Group meeting on Tuesday, October 13th. “If you notice when you click on notice attachments, sometimes when it doesn’t work you see nothing at all; no UI feedback where that attachment shading changes or anything. I think in those cases the viewer is dropping the click and not doing anything at all, and it might work if it actually sent a request to the server.” He added that he hopes the RC deployment, once available, will at least improve matters.

Other Items

Accessing Crowded Regions

A question was asked at the Simulator group about whether repeated attempts to access a crowded region by repeatedly trying to cross to it from neighbouring region or constantly trying to teleport into the region, causes it any significant issues in terms of performance. There are already some HUDs on the marketplace which will automatically re-try teleports to a specific location, and the question was prompted by a feature request to Firestorm to make a similar capability within the viewer.

Simon Linden was understandably cautious in his response, pointing out that any attempts to move between regions will use up time and network traffic, but suggested that a retry system with a delay of around 5 seconds or so shouldn’t put any stress on the simulator (some of the available HUDs actually work on a faster retry cycle than this, so could be having more of an impact). It was also suggested – although not by a Linden –  that moving such a capability client-side might actually reduce a small load from the simulators when compared to using a scripted HUD.

This question prompted the idea of some kind of list managed queuing system for crowded regions, so that people attempting to reach it would be automatically teleported when there is room, and in the order they were added to the queue.

However, as was pointed out in the meeting, such an approach would require a considerable amount of work in terms of just managing the list (keeping track of who is on the list, who joins the list, who opts to log-out before a space becomes available, forcing an update to the entire list, removing people who are teleported from the list, and so on).  As such, Simon indicated he’d rather work on improving simulator performance to allow more avatars into a region, and have the viewer improved so it can better handle large numbers of avatars.

Special Events Regions

In a similar vein, there have been rumours of large events getting dedicated servers to handle the load more effectively. Commenting on this, Simon said, “We’ve talked about that, and I don’t know what might happen; but we’ve discussed the short-term need people have for regions or better performance. It’s now more in the product folks lap … they need to figure out how we would offer something like that.”

Temp Attach from Object Inventory

A question was asked at the meeting about whether anyone at the Lab was working on a means to allow a temporary attachment directly from an object’s inventory (contents). Simon noted that while no-one is currently working on this, it is on the Lab’s feature list, adding, “it’s just an idea; but the current attach process used by experiences is rez the thing, then attach. It would be better to just directly attach.”

It’ll be interesting to see if this comes about.

SL project updates 41/2: TPVD meeting, attachments & Interest List issues

Ironwood Hills; Inara Pey, October 2015, on Flickr Ironwood Hills (Flickr) – blog post

The following notes are primarily taken from the TPV Developer (TPVD) meeting held on Friday, October 9th, 2015. A video of the meeting is included at the end of this report, although the opening few minutes of the meeting are missing. Because of this, I’ve included an audio file as well to cover the opening of the meeting.  Time stamps to both the audio and the video are provided, and my thanks as always to North for the video recording and providing it for embedding.

Please note that any extraneous noises on either the audio or the video are the result of an open mic in the meeting itself, and not from myself or North

Server Deployments: Week 41 – Recap

As per the server deployment thread, there were no scheduled deployments / restarts for the three RC channels during the week, while the Main (SLS) channel received the same server maintenance package deployed to the RCs in week #40.

SL Viewer Updates

 

[00:00 – 02:10 on audio]

CEF Project Viewer

On Wednesday, October 7th, the Lab issued the long-awaited project viewer utilises the Chromium Embedded Framework (CEF) for media handling – and more – in Second Life. Version 4.0.0.305703 sees CEF replace the ageing llqtwebkit functionality for media management in Second Life (also see my separate update).

[13:25 video] The emphasis from the Lab is that if you use web media in-world test your products / projects / uses thoroughly with the CEF project viewer, and make sure you continue to test as the project viewer is updated, in order that specific issues encountered can be reported and looked at while the lab is still developing the viewer.

It also appears that QuickTime media may still work on this viewer, rather than being disabled, as had been indicated in my last TPVD update. However, this should not be taken to mean either QuickTime or Flash will be supported by the Lab going forward, or that media using them will be viewable by all users. CEF, HTML 5, etc., are the future of media in SL.

Other Viewer Updates

On Friday, October 9th the HTTP updates viewer (project Azumarill) was promoted to release Candidate status with the release of version 3.8.5.305771. This viewer provides improved performance and stability. Impacts include: asset uploads, AISv3 inventory manipulation, VMM, Experience management, LSL compilation, Simhost event polling, etc.

Currently, it appears as though the Maintenance RC viewer, version 3.8.5.305531, is in line to be promoted to the de facto release viewer in week #42 (week commencing Monday, October 12th).

An update for the Oculus Rift project viewer (currently version 3.7.18.295296, and now almost a year old), is still expected, but it is subject to other work being undertaken at this point in time.

Attachment Loss on Region Crossings

[03:44 audio;  00:00 video]

The Lab recently carried out extensive work to reduce the number of attachment loss issues occurring as a result of issues caused directly within the viewer itself (project Big Bird). However, while this work fixed a lot of issues, some still remain, particularly during region crossings, whether physical or via teleport (see BUG-7761 as an example).

Essentially, what happens when moving from one region to another is that all of the attachments on your avatar must get new IDs from the simulator to which you are moving. The viewer then has to associate these new IDs with the attachments you are wearing, and the locations where those item as actually attached. In doing so, it attempts to preserve continuity  by keeping things where they were according to the region you’re leaving, and then updating them with the information it receives from the new region.

A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip
A problem I sometimes encounter when flying / boating is returning home and finding one of my scripted mesh shoes has been detached at some point during the trip

This obviously involves a lot of messages being passed back and forth between server and viewer – and the more attachments you have, the greater the number of messages being passed back and forth.

Additionally, if the attachments are scripted, further messages relating to script states, etc., also need to be passed relating to their state, etc., which adds to the load. Finally, all of these messages may use different transport mechanisms to pass between server and viewer.

This means there are many opportunities for messages to arrive out-of order due to race conditions, etc., or to be dropped and lost because of possible network issues and some messaging mechanisms not having a retry option, etc. It is these problems which tend to result in issues with attachments being removed, etc.

The Lab is interested in trying to eliminate as many of these problems as they can (allowing for the fact some might be related to your network connection, and possibly outside of their ability to control). However, in order to do so, they first need to identify exactly what is going on, and this requires examples of attachment losses, etc., that are consistently reproducible (e.g. attachment type X will always detach when crossing between regions Y and Z, for example). It is these kinds of consistent examples which are proving hard to find – so if you do know of one, please raise a JIRA outlining it step-by-step.

Continue reading “SL project updates 41/2: TPVD meeting, attachments & Interest List issues”