SL Project updates: server and Project Bento

Winter Wonderland returns
Winter Wonderland – blog post

Server Deployment – Week 52

On Tuesday, December 22nd, the Main (SLS) channel received the same server maintenance project previously deployed to the three RC channels. This comprises crash and internal simulator fixes; LSL HTTP requests accessing data sources that require non-text Accept headers (such as the Destination Guide); and updates to group member counts to help deal with recent group database issues.

SL Viewer

With the no change window now in effect, no updates are anticipated with any of the current crop of official viewers until after Monday, January 4th, 2016. These are:

  • Release viewer, version: 4.0.0.309247, dated December 17th – formerly the Chromium Embedded Framework RC viewer – release notes
  • Project Azumarill (HTTP updates) RC viewer, version 3.8.7.308134 dated November 25th – release notes
  • Vivox (voice fixes) RC viewer, version 3.8.7.307744, dated November 17th – release notes
  • Quick Graphics (Avatar Complexity and graphics presets) RC viewer, version 3.8.7.306758, dated November 12th – release notes
  • Maintenance RC viewer, version 3.8.7.308556, dated December 3rd – release notes
  • Project Bento (avatar skeleton enhancement) viewer, version 5.0.0.309171, dated December 17th – release notes
  • Oculus Rift project viewer, version 3.7.18.295296, dated October 13th – release notes
  • Obsolete platform viewer (for users of Windows XP and OS X versions below 10.7), version 3.7.28.300847 dated May 8th – release notes

It is anticipated the HTTP RC viewer and the Vivox RC viewer will be released as a single RC viewer very early in 2016.

Project Bento

Commenting on the video at the last Simulator User Group meeting for 2015, Simon Linden said, “that video is cool :)”!

Bone Translation and Rotation

As reported in my week 51 project updates, I reported how the Lab was asking for more detailed feedback on specific requirements animators and creators felt they might need with the Bento skeleton. The comment, made by Oz Linden, came after Vir Linden responded to feedback relating to bone translation through animations, rather than relying purely on  rotation with the facial bones (as is currently the case).

These comments have led to more comprehensive feedback through the Bento discussion forum thread, including two videos by Raz Welles, and animated GIF examples from others, demonstrating the need for translation as well as rotation to achieve various results with facial expressions. However, the Lab would still prefer specific examples to be reported in detail (e.g. on the JIRA), with the appropriate files supplied, as Oz Linden again notes on the forum. He goes on to point out as well, that it isn’t just “new stuff” the Lab is looking to offer through Bento:

I’ve seen a number of posts here that include some variation on “we have always had to do XYZ this way because of the SOMETHING bug, and so we can’t do SO-AND-SO” (for example, joint offsets not loading correctly). If there are existing issues that are directly related to Bento (like joint offsets not loading correctly), we’d like to get them fixed so that we can get some of these obstacles out of the way. So, if you’ve got one, please describe it (see previous paragraph – concrete examples we can experiment with) by filing a BUG in JIRA (put [Bento] in the Summary). References to long-standing issues are ok; we’re not only trying to do new things, we’re trying fix at least some old ones too.

Other Bento Bits

The Project Bento Skeleton Guide is now available on the SL wiki.

Some attending the Simulator User Group meetings have expressed a hope that Bento might offer (or pave the way for) animated objects which could use the skeleton. This would provide a means to provide NPCs and creatures which are not necessarily reliant on bots (see SH-2642 as a rough example of this kind of suggestion as well). responding to this at the Simulator User Group meeting on Tuesday, December 22nd, Oz said:

Skeletons for non-avatar objects are out of scope for this round. It’s an obvious improvement that would be good to do someday; whether and when is not currently knowable.

Asked if filing a feature request would be appropriate, he added, “I’m pretty sure we’ve got several variations on that request, but one more certainly won’t hurt.”

Overall the Bento discussion is healthy, although how it all translates into actionable items with regards to the new avatar skeleton extensions remains to be seen. As the Lab has indicated, hopefully there will still be plenty of opportunity to put forward and test further ideas, examples and suggestions during the first part of the New Year to help improve what is currently being offered.

Object_Rezzer_Key

Object_Rezzer_Key is a new parameter which is to be added to llGetObjectDetails()  early in the New Year. It will allow a rezzed object to find the key of its parent rezzer, then use llRegionSayTo() to chat back to that parent. It’s an option which has come up for discussion at User Group meetings a number of times, and at the meeting on Tuesday, December 22nd, Simon Linden indicated that it is something he is currently working on.

The parameter will only work with new objects within a region (existing objects will return a null_key when queried), but it should work after restarts and region crossings (incl. teleports), and with objects which are initially attached and then dropped. Full details will be available when the parameter is officially added to llGetObjectDetails() – Simon offered this news at the User Group meeting by way of being a small gift to those who have been requesting it.

Further Scripting Options for Experiences?

Another set of requests frequently put forward is for further scripted capabilities to be added to Experiences – such as more permissions, camera function additions / fixes further attach / detach / switch object options and an increase in memory for compiling Experience scripts. On these, Simon would only say that he has been looking into increasing script memory for Experience, “and ran into a really sticky problem … how to deal with it when the object goes outside the experience… how it should behave when you go outside the experience area.”

Oz Linden also stated, “Without trying to guess which changes we might make (because I have no idea yet), it has been noted that Experiences gives us some more latitude to provide script capabilities we would not have before because of griefing potential.”

So, it will be interesting to see what might lie in store for Experiences once the Lab are willing to reveal more about what they have planned, and what actually made it into those plans.

SL project updates 51/1: server, misc items

Kaleidoscope; Inara Pey, December 2015, on FlickrKaleidoscope (Flickr) – blog post

Server Deployments

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

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels. This package comprises simulator crash fixes (including one for the issue found during the original final testing of the package in week #49) and implements feature request  BUG-10192: adding constant OBJECT_OMEGA to llGetObjectDetails(), so that it can return a vector matching what is returned with llGetOmega(), allowing applications to determine an object’s rate and axis of rotation.
  • On Wednesday, December 16th the three RC channels should all receive the same new server maintenance package, comprising:
    • A simulator crash fix and internal fixes
    • LSL HTTP requests can access data sources that require non-text Accept headers (such as the Destination Guide)
    • Some of the group member counts as reported in the viewer will now be larger. These member counts will include inactive users, and will only updated on a daily basis. This change is to help with some of the problems we have encountered recently with group functions.

This last item is intended to help with the group database issues I reported on in my last project updates report.

SL Server

There have been no updates within the viewer release channel, leaving things as they were in the latter half of week #50:

  • Release viewer: 3.8.6.305981, dated October 26 and formally the Notifications RC viewer
  • Valhalla RC viewer, version 4.0.0.308641 and dated December 7th, comprising the Chromium embedded Framework updates to replace LLQTwebit
  • Maintenance RC viewer, version 3.8.7.308556 and dated December 3rd, comprising over 30 fixes, updates and enhancements
  • Azumarill RC viewer, version 3.8.7.308134 and dated November 25th. comprising a complete replacement of the under the hood HTTP infrastructure within the viewer
  • Vivox RC viewer, version 3.8.7.307744 and dated November 17th, comprising a number of Voice quality and connection issues on both Windows and the Mac
  • Quick Graphics RC viewer, version 3.8.7.306758 and dated November 12th, containing the new Avatar complexity code and the ability to create, save and load graphics presets – see here for more.

Similarly, the Oculus Rift project viewer remains unchanged, and the obsolete platforms viewer remains available.

As there has not been any TPV Developer meeting in the last three weeks, it is hard to determine the overall status of these viewers, or what (if any) the delay is in promoting one of those which had looked set to become the de facto release viewer (the Maintenance viewer looked most likely, following recent issues with the HTTP RC viewer).

Animation Syncing

BUG-7729 is the latest iteration in a long-standing request related to syncing animations, the idea to be to present a consistent view of animations, rather than having animations (e.g. couples dances, etc), either start out of sync or drift out of sync. Commenting on the idea at the Simulator User Group meeting on Tuesday, December 15th, Simon Linden said:

[It’s] part of a list of script feature requests we’ve looked at and said “that’s a good idea and would be nice to do someday”, and it probably involves a new message between the server and viewer. But I totally agree that it would be nice … I’ve seen way too many funky animations glitches due to them being out of sync.

There is certain information that the viewer has which should allow it to more easily track animations and help to maintain sync being avatars using them; however, things get complicated when the user is camming around, which can cause Interest list updates to come into play, or the arrival / departure of other avatars can have an impact, all of which can cause animations to drift out of sync.

One of the concerns with BUG-7729 is that it could evolve into a fairly major project, involving both server and viewer updates and the potential need for new messages, as Simon notes above, hence why he stated on leading-in to the discussion:

When we pick what to work on, the obvious high priority things are stuff where the grid is breaking (like the group db problems) or crashes or exploits, then it’s a matter of figuring out the best thing for a limited effort .. some projects are just too big.

As such, it would seem that a more economic solution in terms of scale possibly using what information the viewer already has, or what it might do, might be a preferable approach.

Firestorm, for example, already has a Resync Animations button, which can be a one-stop means for someone to resync the animations in their personal view should they show signs of drifting. The suggestion is that something like this, or a simple timed adjustment to sync animations might stand a better chance of implementation, were it to be contributed to the Lab for implementation into the viewer.

SL project updates 50/1: Server, viewer, issues

Frisland; Inara Pey, December 2015, on FlickrFrisland (Flickr) – blog post

Server Deployments

There was no Main (SLS) channel deployment on Tuesday, December 8th, following after the update planned for release in week #49 had to be cancelled when a simulator crash bug was uncovered.

On Wednesday, December 9th, all three RC channels should receive the same new server maintenance package, which comprises simulator crash fixes (including one for the issue found during the original final testing of the package in week #49) and implements feature request  BUG-10192: adding constant OBJECT_OMEGA to llGetObjectDetails(), so that it can return a vector matching what is returned with llGetOmega(), allowing applications to determine an object’s rate and axis of rotation.

Viewer Updates

On Monday, December 7th, the Valhalla RC viewer, which comprises the Chromium embedded Framework implementation intended to replace LLQTwebkit for handling media in Second Life, was updated to version 4.0.0.308641. This update includes 13 additional fixes when compared to the previous Valhalla RC version:

  • MAINT-5846 – MOAP audio is too quiet
  • MAINT-5849 – MOAP does not run if parcel media texture is on same face
  • MAINT-5852 – Parcel media url can be hijacked from parcel to parcel
  • MAINT-5854 – Loading http://secondlife.com on parcel media does not login
  • MAINT-5855 – media navigation bars overlap all floaters in viewer
  • MAINT-5856 – toolbar search can be interrupted early get stuck on blank page
  • MAINT-5859 – Terms of Service are not loading in Linux only
  • MAINT-5896 – Add support for viewing PDF files in the viewer
  • MAINT-5901 – Click-to-Walk should work through transparent objects
  • MAINT-5902 – Qihoo 360 Anti-virus blocks SLPlugin.exe and login page web content
  • MAINT-5909 – Japanese can’t be input in CEF
  • MAINT-5911 – Pressing “return” (or “enter”) no longer performs a search
  • MAINT-5941 – Default flash to on by default.

Other Items

Interest List and “Ghost” Prims

there have been reports at the last couple of Simulator User Group meetings about “ghost prim” – objects which have been deleted / killed via llDie, continuing to render viewer-side, even though they have been removed by the simulator, requiring a right-click to remove them from the viewer’s outlook on the world.

Problems like this aren’t new, and many have encountered them, particularly since the core of the changes made to the Interest List. However, positively identifying what is going wrong where in the code, and why it is going wrong has been proving difficult, as the has not been a consistent means of reproducing the problem. However, it now appears that just such a consistent means of encountering the issue has been found, and a JIRA raised. Hopefully, this means that the Lab will be able to dig a little deeper into things and at least rectify the problem for some of the situations where “ghost prims” can be encountered.

Join / Leave Group Failures

There have been significant issues with people attempting to join or leave groups recently – see BUG-10869. The problems are apparently caused by a back-end database overload within the group services,

There are many issues in handling large groups which can be problematic: number of members, number of inactive users, impact of changes to things like established group roles (and the numbers of group members they affect), and so on. These are all largely down to the way the back-end group services were originally designed, something which is not the easiest of issues to overcome, as Simon Linden explained at the at the Simulator User Group meeting on Tuesday, December 8th:

It’s a long story, actually, but comes down to scaling issues and design. It doesn’t make sense that we basically treat a group with 100k people in it the same as 10 people . There are some things that just take more time with a large group.

However, Simon is looking into the problems, as he did with the issues of group chat earlier in the year, which so that side of things dramatically improved, but there is currently no ETA on when any fix / fixes might be issued.

No Change Window

Subject to official confirmation by the Lab, week #51 (week commencing Monday, December 14th) is liable to mark the last week in which simulator and viewer releases will be made ahead of the Christmas / New Year “no change window” coming into force, which will probably remain in place until approximately the week commencing Monday, January 4th, 2016.

The no change window is intended to ensure the grid and viewer are both relatively stable, so that the Lab can offer support, engineering and operations staff time off over the holiday period to be with their families and friends.

SL Project updates week 49

Everlong; Inara Pey, November 2015, on FlickrEverlong (Flickr) – blog post

The technical news is very light for week #49, hence my lack of updates as the week progressed.

There were no simulator deployments during the week. A new server maintenance package had been planned for deployment to the three RC channels, but this suffered a last-minute postponement do to a simulator crash situation being discovered if a simulator spins-up with a specific debug mode enabled.

As a result of this cancellation, there is unlikely to be a Main (SLS) channel roll in week 50, although the RC update should see deployment. After that, with the Christmas / New Year no change window rising over the horizon, further simulator updates are liable to be conspicuous in their absence until early 2016.

The viewer has been similarly quiet during the week, with only the Maintenance RC being updated, with version 3.8.7.308556 being released on December 3rd. There was (again) no RC promotion to release status for any viewer, thus leaving the usual suspects in the viewer release channel:

  • Maintenance RC viewer, version 3.8.7.308556, dated December 3rd, as noted above. Some 38 fixes and improvements, including updates for some regressions introduced into the viewer with the current release viewer
  • Project Azumarill (HTTP updates) RC viewer, version 3.8.7.308134, dated November 25th, which provides  a complete replacement of the under the hood HTTP infrastructure within the viewer
  • Project Valhalla (CEF media update) RC viewer, version 4.0.0.307894 dated November 18th, which replaces the LLQTWebKit functionality used in the Web media plugin with one based on the Chromium Embedded Framework (CEF)
  • Vivox RC viewer, version 3.8.7.307744, dated November 17th, which corrects a number of Voice quality and connection issues on both Windows and Mac
  • Quick Graphics RC viewer, version 3.8.7.306758, dated November 12th, which provides the new Avatar Complexity options and graphics preset capabilities for setting, saving and restoring graphic settings for use in difference environments / circumstances.

The two potential candidates for promotion to release status would seem to be either the HTTP RC viewer or the Maintenance viewer. However, the former’s promotion would appear to be dependent upon whether the remaining niggles have been ironed out to the Lab’s satisfaction, and the later on whether the most recent RC update gathers sufficient stats to indicate whether it is ripe for promotion.

There were assorted reports of issues with teleports, etc., through the first part of the week, and during the Server Beta User Group meeting, the question was asked by Caleb Linden if people had noticed an increased rate of teleport issues / failures, suggesting the Lab may have noticed something going awry.

Other than that, a light news week, as mentioned.

SL project updates: week #48/1: server, viewer

Voile; Inara Pey, November 2015, on Flickr Voile (Flickr)blog post

Server Deployments Week #48

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

  • On Tuesday, November 24th, the Main (SLS) channel was updated with the server maintenance package previously deployed to the three RC channels. This comprises the updates code for server-side attachment and upload validations (see below). The release also includes new code for a new upcoming SL feature to be revealed soon.
  • There is no RC channel deployment planned for the week, due the the US Thanksgiving weekend no change window.

Server-side Validation Enforcement

A new server maintenance package had been due for deployment on Wednesday, November 11th. This packed includes simulator-side enforcement checks against attachment point IDs (attachments using invalid attachment point ID will be moved to the chest attach point), and validation checks against animation and mesh to prevent the upload of animations and meshes weighted to invalid attachment points.

Baking Service Update

Speaking at the Simulator User Group meeting on Tuesday, November 24th, Oz Linden indicated an update to the avatar baking service (server-side appearance) has been made. This is aimed at dealing with a number of issues with the service (unfortunately Oz didn’t have a list of issues to hand).

SL Viewer Updates

After mysteriously vanishing from the viewer release channel, the HTTP project viewer (Project Azumarill) reappeared on Tuesday, November 17th, still with the same version number (3.8.7.306796, dated November 2nd) as previously. This may have been a error, and the viewer has once again been removed from the viewer release channel.

Friday, November 20th saw the current Maintenance viewer updated to version 3.8.7.308081. This viewer 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).

Note: this week is a relatively light week for technical updates from the Lab due to it being Thanksgiving week in the US, which is always marked by a no change window, as noted in the report, to allow Lab staff to enjoy a long weekend at the end of the week.

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

It's a New Dawn; Inara Pey, November 2015, on Flickr It’s a New Dawn (Flickr) – blog post

Server Deployments Week #47

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

  • There was no deployment to the Main (SLS) channel on Tuesday, November 17th
  • The maintenance package deployed to all three RC channels in week #46 received a further update on Wednesday, November 18th. This was apparently due to the postponed deployment from week #46 not containing all of the desired updates.

SL Viewer

After mysteriously vanishing from the viewer release channel, the HTTP project viewer (Project Azumarill) reappeared on Tuesday, November 17th, still with the same version number (3.8.7.306796, dated November 2nd) as previously.

The Vivox viewer entered the release channel as a RC viewer on Tuesday, November 17th. Version 3.8.7.3.8.7.307744 corrects a number of Voice quality and connection issues on both Windows and the Mac.

The Chrome Embedded Framework Viewer also reached RC status with the release of version 4.0.0.307894 on Wednesday, November 18th.

Group Ejections and Group Chat

SVC-32, “Person kicked remains in chat session” came up for discussion at the Simulator User Group Meeting on Tuesday, November 17th.

This is the ongoing issue where 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 (with various permutations on the issue vis muting and unmuting people).

The cause of the problem seems to be quite deeply rooted in how the group chat service works, with Simon Linden noting, “I hate that one … and I’ve been lurking in some large groups (like FS) and seeing it abused. It’s an ugly problem and I’ve looked into it … basically because the info about how to add the logic isn’t where the log needs to be run … I looked into revoking caps and other ideas but didn’t find a silver bullet, or a pile of them, that would work … I’ll try to get some time to see if there’s anything that can be done without major architecture changes or new servers.”

Object and Linkset  Contents and Limits

Changes were recently made to how many objects can be placed within an individual in-world / worn object  and linkset. The limit per individual objects is now 10,000, and the limit per linkset is 30,000. The limits were revised to help deal with people using objects which massive contents from eating up server resources and impacting region performance as a form of griefing. However, a side issue with the changes has been that tools such as texture organisers with huge contents spread through the linkset can stop working – permanently.

To help people check their organisers and make suitable adjustments in line with the new limits, the Unpackistan region has a 90K limit for linksets (although there was an issue with this region as well – BUG-10695 – which should now have been corrected).

Concerns were raised the simulator User Group over the lack of follow-through when limits like this are changed (there has been no Wiki update in this instance, for example).

While it is understood limits may be changed to help reduce problems with griefing, etc., and thus the Lab may no wish to announce forthcoming changes in case it leads to an increase in abuse before the door is shut, so to speak, it was pointed out that providing some indicators as to what has changed, and ensuring reference documentation is properly updated could go a long way to help people figure out what might have happened as a result of such changes having an unexpected repercussion (as in this case).

Acknowledging this point, Simon agreed to take the concerns raised back to the office for further discussion.