SL project news week 49 (1): server and viewer updates

Server Deployments week 49

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Main channel: Tuesday December 3rd

The Main channel received the maintenance package deployed to BlueSteel and LeTigre in week 47. This project includes:

  • Bug Fixes
  • New Features
  • Fixed “Sim crossing on vehicle fails when parcel at opposite sim border is full.” (BUG-4152[c])
  • Fixed a case in which a viewer with a high draw distance would not connect to distant regions which are within the draw distance area
  • Fixed some crash modes
  • Fixed “Vehicles containing a mesh are returned to the owner upon region crossing when destination parcel is full”
  • Fixed “Temp Attachments are sometimes not removed on the viewer when detached from a region change event.”
  • Fixed “Avatars inside a private parcel can see other avatars 2 regions away” (BUG-4356[c])
  • Fixed an issue with object return to inventory on test grids
  • Objects which are rezzed by sat-upon or attached scripts no longer inherit the temp-on-rez or auto-return timer of the parent object
  • Estate managers and region owners are now prevented from being teleported by llTeleportAgentHome()
  • Estate managers and region owners are no longer affected by scripts which use ESTATE_ACCESS_BANNED_AGENT_ADD
  • The grey goo fence is now stricter for large physical object rezzes
  • More robust handling of inventory management within objects
  • Cleanup of controls-grabbing in LSL scripts (no functional changes)
  • Parcel owners are now prevented from being teleported by llTeleportAgentHome()

Release Candidate Channels, Wednesday December 4th

All three RC channels should receive a new maintenance package comprising:

The will be one more week of releases (week 50), prior to the Christmas / New Year code freeze / no change window commencing, which is due to start on Monday December 16th, 2013.

SL Viewer

Two new release candidate viewers arrived in the release channel on Tuesday December 3rd:

  • Maintenance RC version 3.6.12.284430 comprises a number of fixes, including a fix for the issue of FPS dropping when the Expanded Chat option is enabled in CHUI (MAINT-3375) – download and release notes
  • Namefix RC version 3.6.12.284383 changes installer naming without modifying channel or application names, but contains no functional changes to the viewer code – download and release notes.

SL projects update week 47 (3): viewer, Sunshine / AIS v3, HTTP and more

The following notes are taken from the TPV Developer meeting held on Friday November 22nd. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each heading (where given) denote the time stamp at which the topic can be listened-to in the video.

TPV Developer meeting (stock)
TPV Developer meeting (stock)

No Change Windows

[00:31-02:26]

Thanksgiving

As has been previously noted in this blog, week 48 (commencing Monday November 25th) is code freeze / no change window due to it being Thanksgiving in the United States. This means there was be not server deployments during the week and there will be no viewer release channel updates for the week.

Christmas

The Christmas code freeze / no change  window is scheduled to run from Monday December 16th through until Wednesday January 1st. This most likely means that once the code freeze comes into effect,  there will be no major server updates until the 2nd week of 2014 (commencing Monday January 6th, 2014), and viewer updates may be likewise.

Both the Thanksgiving and Christmas no change windows effectively mean there are only two full weeks left in 2013 in which server deployments and major viewer updates are liable to be made. However, it is possible both periods could see project viewer updates appearing. This is because any project viewer which may be available will have limited use (only those particularly interested in using / testing it are liable to run it), and so minor updates, etc., to such viewers are not seen as being potentially problematic in terms of support issues.

Viewer Updates

[00:18-00:31]

As note in part 2 of this week’s report, the release viewer was updated using the GPU table updates release candidate, leaving just the Project Interesting RC in that channel.

There are upcoming RCs in the pipe awaiting release, including an updated version of the Google Breakpad viewer and another maintenance viewer RC, while the Project Interesting viewer is to update an update as well. However, as week 48 (commencing Monday 25th November) is a code freeze week for Thanksgiving, it is unlikely there will be any releases in the viewer release channel during the week.

Fitted Mesh Viewer

[03:36-08:44]

A number of JIRA have been filed in relation to the Fitted Mesh project viewer, and are receiving attention within Linden Lab. “We’re getting the repairs together,” Oz Linden reported to those attending the TPV Developer meeting, “And when we’ve got enough of them together to do a release with, that have been tested, then we’ll do an update to that one.”

Avatar Skeleton Files

The Fitted Mesh viewer actually contains a small number of actual code changes; the majority of the changes lay within the avatar skeleton and its associated filed (e.g.  Avatar_skeleton.XML / avatar_lad.XML). This has led to speculation that other viewers can update relatively simply by using the revised avatar skeleton files. Responding to this, Oz said:

Ideally that’s true, but it turns out not to be quite completely true. It turned out that there were some code bugs that the new skeleton and weighting exposed. So there are actually some changes that will be beyond that. That is some code [to be changed].

“Adding bones exposed some limitations,” Nyx added.

One of the code fixes which is in progress appears to deal with the issue of how garments weighted to use the new skeleton appear in viewers which do not have the updates, as demonstrated in my preview article on the Fitted Mesh viewer, and shown below.

Time Frame for Formal Release

While the Fitted Mesh project viewer may well see one or more updates before the end of the year, there are no plans to progress it to a release candidate status before the start of the New Year (again, the no change windows would preclude that, at least in part).

Even with the changes now being made, the number of code changes within the viewer is “very, very small”, so when the code is in a position where the Lab is comfortable with TPVs taking it and merging it into their repositories, it should not create major issues. One thing that is not clear at this time is whether merging and incorporating the Fitted Mesh changes will be dependent upon merging other code releases coming out of the Lab, such as the Sunshine / AIS v3 code and the Project Interesting code.

Project Sunshine / AIS v23 Updates

[09:44-14:41]

Nyx Linden
Nyx Linden

Nyx Linden reports that the Sunshine / AIS v3 updates are going “really well”, and the Lab is focused on cleaning up the last few bugs of which they are aware, and it is hoped that the code will be ready for QA and then a project viewer soon, possibly prior to the December no change window coming into force.  If the viewer does make it to a project release prior to that happening, Nyx will likely hold it over until early January.

In the meantime, the Lab is still keen to get started on more extensive load testing for the new inventory service, AIS v3, using the Sunshinetest regions (1-4) on Aditi. They’d preferably like the assistance of TPVs with this, the latter having been given access to the code a couple of weeks ago so that they could start work merging it into test versions of their viewers for this purpose.

Firestorm released a version of their viewer with the new Sunshine / AIS v3 code updates to their Beta testers in week 47, although this has yet to have the legacy baking code added back into it for the OpenSim version of Firestorm.  The team is approaching this cautiously, as there is a need to try to isolate the code used in the legacy avatar baking process (which is still used on OpenSim) so that it does not interfere with / get altered by future merges with code from Linden Lab. Once this has been done, Firestorm plan to make the code available to other TPVs so that they do not have the same headache  when faced with trying to reintegrate the legacy baking code into their viewers.

Both Firestorm and Kokua (the latter having integrated the Sunshine / AIS v3 changes into a test viewer at the start of November) have indicated they are now in a position to assist with any load tests. The hope is that this will take place during December.

One of the reasons the Lab is keen to get the load testing underway is so that any remaining issues with the server-side code can be identified, investigated and fixed prior to the code being deployed on any RCs on the main grid. Any initial deployment of the server code on the main grid would likely be handled “pretty quietly”, simply because it wouldn’t be exposed to any viewers that did not have the necessary updates.

HTTP Updates

[14:41-22:12]

Monty Linden
Monty Linden

“It is currently still in QA,” Monty Linden reported in reference to his current work with HTTP 1.1 changes within the viewer. while no bugs have so far been found with the new code itself, he did reveal that the work has uncovered “quite a few bugs in mesh in general”, which are being filed internally. Currently, it is predicated that the QA round is unlikely to finish before Tuesday December 3rd, so and project viewer will not be appearing until after that date.

In addition to QA testing not finding any bugs within Monty’s code, all the numbers coming out of the performance aspects of the testing are described as “equal or better than past history”.

In the interim, Monty is continuing to lay the foundations for HTTP pipelining. As indicated in my last update on his work,  he’s been going through the third-party libraries and their repositories which are used in the viewer builds and updating them. This has led him into a number of “interesting” discoveries  as a result of tracking through all of the repository dependencies, etc., and identifying the various package mismatches and unnecessary libraries which are being packaged with the viewer (noticeably in the Linux version of the viewer), as well as one or two libraries which are not being packaged when they should be, as well as the use of multiple versions of the same library (e.g. 3 different version of Boost, 3 or 4 different versions of zlib, etc.).

Continue reading “SL projects update week 47 (3): viewer, Sunshine / AIS v3, HTTP and more”

SL projects update: week 47 (1): server releases, viewer

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Main channel: Tuesday November 19th

The Main channel received the maintenance package deployed to BlueSteel and LeTigre in week 46. This package comprises further infrastructure changes for the yet-to-be-announced Experience Keys (experience tools) project

Release Candidate Channels, Wednesday November 20th

BlueSteel and LeTigre should receive a new maintenance package comprising the update deployed to Magnum in week 46, with additional bug fixes. However, at the time of writing, testing was still ongoing, and Simon Linden noted at the Simulator User Group meeting on Tuesday November 19th that things were “down to the wire” in terms of getting the release out. If it does go ahead, the package will include:

  • Bug Fixes
    • Fixed “Sim crossing on vehicle fails when parcel at opposite sim border is full.” (BUG-4152)
    • Fixed a case in which a viewer with a high draw distance would not connect to distant regions which are within the draw distance area
    • Fixed some crash modes
    • Fixed “Vehicles containing a mesh are returned to the owner upon region crossing when destination parcel is full”
    • Fixed “Temp Attachments are sometimes not removed on the viewer when detached from a region change event.”
    • Fixed “Avatars inside a private parcel can see other avatars 2 regions away” (BUG-4356)
    • Fixed an issue with object return to inventory on test grids
  • New Features
    • Objects which are rezzed by sat-upon or attached scripts no longer inherit the temp-on-rez or auto-return timer of the parent object
    • Estate managers and region owners are now prevented from being teleported by llTeleportAgentHome()
    • Estate managers and region owners are no longer affected by scripts which use ESTATE_ACCESS_BANNED_AGENT_ADD
    • The grey goo fence is now stricter for large physical object rezzes
    • More robust handling of inventory management within objects
    • Cleanup of controls-grabbing in LSL scripts (no functional changes)
    • Parcel owners are now prevented from being teleported by llTeleportAgentHome()

Magnum should remain on the same maintenance project as deployed to it in week 47, but which features a further update to the grey goo fence change made in week 46, but which now only applies to objects which are both large and physical. This alteration is in response to BUG-4448.

Thanksgiving Code Freeze

Week 48 (commencing Monday November 25th) is Thanksgiving week in the United States, so there will be no server-side releases during the week. Sever updates will resume in week 49.

SL Viewer

No updates as yet in week 47 to the SL viewer.

Default Object Permissions

A number of TPVs include the ability to specify the default permissions applied to a new prim object (cube, cylinder, torus, etc.) on creation. A similar capability is being developed for the LL viewer (STORM-68) by Jonathan Yap, a long-time contributor to the viewer. Currently, the work is awaiting some server-side capabilities tweaking which will likely be done by Andrew Linden. This work is unlikely to be completed ahead of Thanksgiving, so there is no date as to when the new capability might appear.

Default Region Restart Sound and Notification

Jonathan is also working on STORM-1980 (“Improve awareness of region restarting message”) to add  a default region restart sound added to Second Life. This would be played automatically by the viewer on receipt of a region restart message, adding an additional warning of an approaching restart for those who may miss the pop-up notices, giving them time to take the appropriate action prior to logging-out. The work on this is also progressing, with a modified notification which includes new colours and a countdown. again, further work is required on this, so there is currently no timescale as to when it will be showing up in an RC viewer.

SL projects update week 46 (2): Server news, viewer update, group ban list

Server Deployments week 46 recap

As always, please refer to the week’s forum deployment thread for the latest news and updates.

  • Main channel: Tuesday November 12th:  no deployment
  • BlueSteel and LeTigre: received a maintenance package comprising further infrastructure changes for the yet-to-be-announced Experience Keys (experience tools) project
  • Magnum received a server maintenance project comprising a number of fixes and changes to script behaviours to prevent Estate managers and region owners from being teleported by llTeleportAgentHome() and so they are no longer affected by scripts which use ESTATE_ACCESS_BANNED_AGENT_ADD

Two further notable bug fixes with the Magnum release were “Sim crossing on vehicle fails when parcel at opposite sim border is full.” (BUG-4152) and a bug where a high draw distance set in the viewer would see the viewer to sometimes fail to connect to the requisite number of regions around it. According to Maestro Linden, this bug affects viewer using the current release viewer code (or earlier), but not the newer “Project Interesting” viewer code.

Speaking at the Server Beta meeting on Thursday November 14th, Maestro commented on the Magnum release, saying, “There were also under-the-hood changes to object inventory management, and llTakeControls() behaviour in LSL. Those shouldn’t cause any behavioural differences, but I added them to the release notes in case they did cause problems.” These are the “clean-up of ‘control grabbing’ in LSL scripts” referred to in the release notes.

Grey Goo Issues

The Magnum update also included updates to the grey goo fence, which is intended to combat griefing. The specific changes were to combat the use of large object rezzing, which can be used to crash a region. However, the tightening of the fence led to unforeseen problems, as Maestro reported:

There are reports in JIRA about building rezzer systems hitting the grey goo fence. The one case I saw was where one rezzed about a dozen large linksets rapidly, and when it hit the grey goo fence, it would ‘fail’ halfway through the rez. Anyway, Simon and I talked about how to address this; for now, I think he’s going to go with a fix where only large and physical linksets are penalised.

Another option under consideration is rather than denying the rezzing, to slow it down. It’s not clear which option will be taken forward by the Lab at this point, for now their intention is to deploy a fix to Magnum in week 47 which “unbreaks”, as Maestro put it, any affected rezzing systems on Magnum regions.

Maestro mixes and Baker be-bops at the Server Beta meeting, Novermber 14th
Maestro mixes and Baker be-bops at the Server Beta meeting, November 14th

Upcoming Updates

Maestro Linden  gave an overview of some of the updates which will be making their way into a server  maintenance package, which  include:

  • A fix for ‘ Vehicles containing a mesh are returned to the owner upon region crossing when destination parcel is full’, which is similar to BUG-4152, fixed in the Magnum RC deployment in week 46, but only affects meshes and involved the actual entry parcel being full
  • A fix for “Temp Attachments are sometimes not removed on the viewer when detached from a region change event.”
  • A follow-up fix to  “llTeleportHome() should not teleport estate managers”, mentioned above, which extends the protection to parcel owners  (or a group owner if the parcel is group owned)

These may well form a small update package on their own and get deployed to one or more RC channels in week 47.

SL Viewer

The “Project Interesting” RC viewer, version 3.6.11283895,which has the viewer-side updates for the recently interest list updates was released on Thursday November 14th.

Continue reading “SL projects update week 46 (2): Server news, viewer update, group ban list”

“Project Interesting” arrives as a release candidate viewer

The long-awaiting “Project Interesting”  viewer has finally made it to release candidate status with the arrival of version 3.6.11.283895 of the viewer on Thursday November 14th.

This viewer represents the last stage in the current work on improving interest list functionality, the code which controls how the data relating to your in-world view is handled by both the server and the viewer. This includes what is sent to the viewer, what is retained by the viewer for reuse and things like the order in which objects are rendered when you log-in to SL or teleport (so that the “interesting” objects which are closer to you or which are particularly large should render first, for example).

The vast majority of the interest list work has already been delivered, and everyone should already be enjoying the broader benefits. However, the final phase of the current batch of work has been focused on both server and viewer changes, and the latter have been somewhat delayed due to a number of bugs, some of which were the result of the need to further tweak things server-side which in turn adversely affected the viewer’s behaviour, while others were bugs which appeared to have been dealt with, only to return in a later build.

AS-12_001
The “project interesting” viewer updates should further improve scene loading for users through improved caching of region and object data, better use of memory, etc.

The core changes within this viewer relate to what can be cached locally. This should allow the viewer to store more information on objects and regions than is currently the case, enabling it to re-use object / region data without having to rely on the server to re-send the information, improving rendering times when you are exploring a region / teleporting back to a region previously visited.

One of the bugs which delayed the arrival of the “project interesting” viewermeant that some objects would not render (as is the case with the house in this image). Unlike the recent “missing prims” issue, no bounding box, etc., was loaded by the viewer, so right-clicking where the house should be would not resolve the issue – a relog was required (image courtesy of Whirly Fizzle)

There are other improvements to further assist with scene loading as well. For example, when teleporting into a region never before visited, the viewer can now tell the simulator that it has no data for the region cached, and the simulator can in turn simply get on with prioritising the data and downloading to the viewer, rather than it having to repeatedly ask the viewer if it needs the data, as is currently the case. The result of this is that “several seconds” can be shaved from scene loading times for uncached regions. Also, the viewer will no longer load objects from cache into memory if they are completely by scene geometry, thus reducing unnecessary memory use.

The viewer is currently a release candidate, which means it will be downloaded and installed for some users who have indicated a willingness to participate in the release candidate programme through their viewer Preferences (Set-up > Willing to update to release candidates). Those who wish to manually install the viewer can read the release notes and download it from the link below.

The Lab issued a blog post to accompany the viewer release (which I initially missed), which includes a video demonstrating the changes, narrated by Torley Linden.

Related Links

SL projects update week 46 (1): Server releases, SL viewer updates, general items

Server Deployments week 46

As always, please refer to the week’s forum deployment thread for the latest news and updates.

Main channel: Tuesday November 12th

No deployment.

Release Candidate Channels, Wednesday November 13th

  • BlueSteel and LeTigre should receive the maintenance package originally scheduled for deployment to all three RC channels in week 45, but which was cancelled as a result of a last-minute issue being found. This package comprises further infrastructure changes for the yet-to-be-announced Experience Keys (experience tools) project
  • Magnum should receive a new server maintenance project this week.  This project fixes some bugs, including BUG-4152 related to vehicles crossing region boundaries, as described in this thread; and which also includes some changes around script behaviour, comprising:
    • The fix to allow objects rezzed by sat-upon objects should have a fresh auto-return and temp-on-rez timer, This will allow them to last the full ~60 seconds (for temporary) or parcel auto return time. This should help is situations where combat vehicles in regions with short auto-return times can have their ordnance immediately returned when a weapon is fired, and any temp vehicles are unable to rez attachments, even when sat upon
    • Fixes to  prevent estate managers / owners being teleported home through a misuse of llTeleportAgentHome(), and to prevent estate managers / owner  being affected by “Trojan” objects manipulating  ESTATE_ACCESS_BANNED_AGENT_ADD
    •  Updates to the grey goo fence do that it is stricter for large object rezzes in a further attempt to limit the ability of griefers to bring down a region through multiple rezzing of large objects
    • More robust handling of inventory management within objects
    • Cleanup of controls-grabbing in LSL scripts (no functional changes).
A simulator UG meeting (stock)
A simulator UG meeting (stock)

SL Viewer

The SL release viewer updated on Tuesday November 12th to version 3.6.10.283403, formerly the Maintenance RC comprising finer access control for estate/parcel owners; CHUI: toggle expanding Conversations by clicking on icon; GPU table update + more.

It is thought the project viewer containing the last of the current viewer-side updates for interest lists should be appearing very soon now. After recent setbacks in getting the viewer publicly visible, the time frame for its arrival had been noted to be unlikely before November 12th. However, speaking at the Simulator User Group meeting on the 12th, Andrew Linden indicated he believed the viewer may well be out in the next few days.

Other Items

Andrew Linden’s Bug Fixing

Andrew Linden
Andrew Linden

Andrew Linden has been taking time to fix a some unusual bugs. The first, which is not generally visible, he describes as, “In some cases our servers will upload an asset multiple times before it successfully creates an inventory item (on take to inventory for example). Which creates garbage assets in the asset system.” This issue could also result in multiple notifications being sent to the avatar uploading the item, if they remained in the same region.

The second issue he’s fixed is that of “ghost objects” appearing in the viewer but which are not present on the region server. This issue appears to have been caused by a race condition which could occur under certain situations such as deleting the objects too fast on a region crossing, so they’d be removed server-side, but not from the viewer. Both of these fixes should be appearing in an RC soon.

Group Management and Culling

Request have been made to have the limit of banned avatar lists raised from 500, particularly for regions that are popular with users. Whether there is a widespread need for this is entirely open to debate, but during the discussion of the problem being faced by a particular estate, suggestions were put forward by which such lists might be made easier to manage, including:

  • Auto-culling from all ban lists of any account name banned from the grid
  • Such auto-culling to take place only as a ban list approaches its upper limit
  • Add a feature by which  would  allow the removal from a list any avatars that have not logged-in to SL for a given period of weeks / months / years. If implemented, this could either take the form of a selectable set of options (e.g. something like 6 months, 1 year, 2 years), or possibly be a free-format field the owner can use to specify as the time period.

Whether any of these options eventually get implemented, remains to be seen (and doubtless on whether feature requests are filed).

This conversation was also bound-up with matters of group chat and group chat lag. Various suggestions were put forward for trying to address this as well, ranging from replacing the current group chat mechanism with something like IRC and whether it would actually work / scale any better, through to implementing a server-side change so that when someone leaves a group chat, the channel is actually closed, rather than messages still being sent to the viewer, which just disregards them, as is currently the case. Commenting on the status of group chat in general, Simon Linden stated, “Just FYI, practically speaking we’re not going to be re-writing the chat system any time soon.”