SL projects update week 45 (2): Server, viewer and group bans

Server Deployments week 44 – Recap

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

  • The Main channel was updated on Tuesday November 5th with the same maintenance package previously deployed to the three release candidate channels, and which comprised bug fixes and crash mode fixes
  • On Wednesday November 6th, all three release candidate channels were all due to receive a new maintenance package, comprising further infrastructure changes for the yet-to-be-announced Experience Keys (experience tools) project. However, an undisclosed test failure meant the deployment was cancelled.

Upcoming Releases

Week 46 should see a new maintenance package in RC, which will include:

  • A fix for BUG-4152 Sim crossing on vehicle fails when parcel at opposite sim border is full
  • A number of crash fixes, including some which combat a physics griefer object
  • 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.
  • An interest list fix for issues where you don’t connect to regions far enough away when draw distance is set to 512m
Maestro Linden's disco-themed Server Beta meeting venue (stock)
Maestro Linden’s disco-themed Server Beta meeting venue (stock)

Trojan Objects

A further update is a change to try to deal with a griefing situation wherein estate managers/owners can be added to a region’s the ban list or teleported them home with llTeleportAgentHome(). This is apparently achieved through the use of what Maestro Linden refers to as “Trojan” objects, in that the object appears perfectly innocuous until passed to the an estate manager / owner but which, when rezzed, will  the manipulate the ban list via llManageEstateAccess().

Maestro described these scenarios thus:”I could give you ‘cute kitty’ which you then rez on your parcel.  But the script with the ‘purr’ function also has a ‘manipulate ban list’ function. Since you (the parcel owner) own the kitty, the script there can do the operation.”

It has also been noted that the use of such “Trojan” objects isn’t restricted to manipulating llManageEstateAccess(); they are also used to clear-down ban lists using llResetBandList(). In the case of llManageEstateAccess(), the function is being changed so that the owner is notified, and is given the option to allow the function to run in “stealth” mode.

The problem here is that by the time the notification is received, the Trojan script has done its job, so the solution is not ideal; the same would be true in the case of altering llResetBandList(). However, as Maestro put it, “But you’ll know exactly what it did in case you need to undo it.” A further concern in the case of llResetBandList() is that some estate owners use the function remotely to legitimately manage their ban lists, so if anything is done to alter its functionality, it might break existing content.  This led to extensive debate within the Server Beta meeting as to how such matters could best be addressed – or even if they needed to be addressed beyond people taking the proper precautions when receiving scripted objects from untrusted sources.

SL Viewer

Default Region Restart Sound

In part 1 of this report, I noted that a  JIRA has been put forward (STORM-1980) to have 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 is progressing on this idea, although a suitable sound has yet to be found, and precisely how the region restart messages will be redefined has yet to be entirely settled. Sound-wise, something is required that would universally recognised and which is preferably not language-dependent. One of the more popular ideas at the moment is to have a submarine dive / air-horn like sound (the “A-wooo-GAH!” beloved of films), although there have been some muted concerns about people possibly being offended by the use of “military” sounds. Torley Linden also joined the discussion and, in fun, offered up his own idea  – just make sure you don’t have the volume up too loud before playing the clip!

Torley’s region restart warning

Sadly, it doesn’t meet that criteria of being language-independent, but it’s still fun to listen to.

Script Syntax Updates and Increasing Source Text Allowance

In week 39, I reported that Ima Mechanic and Oz Linden are working to improve syntax highlighting in the viewer’s LSL editor by allowing the viewer to obtain the information required for syntax highlighting directly from the simulator the viewer is connected to. This should eliminate issues of the current, manually updated, files used to manage syntax highlighting falling out-of-synch with new LSL syntax as new functions and parameters, etc., are added.

This work is progressing well, and may now additionally see the source code text allowance in the viewer’s LSL editor increased. Currently, the source code limit in the editor is some 65,000 characters, however a number of scripters having been finding that they frequently are coming up against that limit when writing the source code for their scripts, so it has been suggested the limit be raised to 256,000 characters.

Continue reading “SL projects update week 45 (2): Server, viewer and group bans”

SL projects update week 45 (1): Server and viewer sundry news

Server Deployments week 44

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

Main channel: Tuesday November 5th

The Main channel was updated with the same maintenance package previously deployed to the three release candidate channels, and which comprised bug fixes and crash modes.

Release Candidate Channels, Wednesday November 6th Currently Cancelled

The RC restarts have been cancelled, see the Grid Status report.

All three release candidate channels should receive the same maintenance package, comprising further infrastructure changes for the yet-to-be-announced Experience Keys (experience tools) project.

SL Viewer

There have been no release updates so far this week. However, a bug has been reported within the former “Sharestorm” viewer (the current release viewer, 3.6.9.282535), wherein fps rates are severely impacted when the CHUI conversation floater is open. If you’re using the current release viewer, and find frame rates are being impacted when conversing, try switching to CHUI’s Compact View.

If you find your FPS reates are being hit when you have the CHUI floater open in the current SL viewer release (or a viewer with the ShareStorm code), try switching CHUI to the Compact Viewer (above)
If you find your FPS reates are being hit when you have the CHUI floater open in the current SL viewer release (or a viewer with the ShareStorm code), try switching CHUI to the Compact Viewer (above)

A further bug that has been reported sees FPS impacted if the Build floater is opened after having About Land open in a region with a long covenant.

Region Restart Sound

A new JIRA has been put forward (STORM-1980) to have 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, be working on another screen / window or who are otherwise distracted while logged-in to Second Life, allowing them to take appropriate action prior to the region starting and them being logged-out. Work on this is in progress, and is generally seen as a good idea.

Other Items

Scripted Sound Improvements?

Requests have been raised at several meetings recently about the possibility of improving scripted sound functions (such as being able to use a single sound loop for a vehicle’s engine and using LSL to change the pitch of the loops when the vehicle is accelerating or slowing down, for example) and to possibly make the prim collision sound being a property of the prim instead of the script.

Commenting on the former request at the simulator user group meeting on Tuesday November 5th, Simon Linden said, ” there have been some JIRA feature requests about llLink-something with sounds  [“llLinkPlaySound”, “llLinkStopSound” and “llLinkLoopSound”].  We’ve discussed it internally and it seems like a good idea, but needs some work to see if we can cover as much functionality as possible with a reasonable API.” Expect more details as the work progresses.

SL projects update 44 (3): viewer, AIS, and HTTP

The following summary is taken from the TPV Developer meeting held on Friday November 1st. A video, courtesy of North, 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.

General Viewer News

As noted in part 2 of this week’s report, there are currently two release candidates in the LL viewer release channel, the GPU Table RC, which contains updates to the viewer’s GPU table but no functional changes, and another Maintenance RC, which includes finer access control for estate/parcel owners; CHUI: toggle expanding Conversations by clicking on icon  + more.

It is expected the Google Breakpad RC will be returning to the RC channel in week 45 (see below).

Several of the remaining anticipated viewer RCs / project viewers, again as previously reported, held-up as a result of issues uncovered in QA and / or bugs being re-introduced into them. These include:

  • The Group Ban List viewer: work here, which involves server and viewer changes, is held-up as a result of QA testing revealing some issues which Baker Linden is addressing (as per part 2 of this report)
  • The interest list viewer, which recently saw the issue of objects failing to render without a relog return to the code after having been fixed, and which still has one or two other issues to be fixed, although Oz Linden feels those working on it are homing in on solutions
  • The HTTP viewer updates, which were for a time awaiting QA resources (see below for a further update).

AIS v3

[02:29-07:07]

Nyx Linden, Tiny RobotTM, is in the Halloween spirit
Nyx Linden, Tiny RobotTM, in the Halloween spirit

The Lab is keen to start progressing this work towards a release. As with Server-side Appearance, they’re looking to TPVs to help with various aspects of testing.  To this end, a request has been passed to TPVs that they indicate to the Lab when they have merged the code into experimental versions of their viewers so that a pile-on test can be arranged in order to put the updates through their paces.

There is no specific date for when this will take place, and commenting on the project in general, Nyx Linden said:

Now is a good time to start your merges, I’ve just pushed an updated to Sunshine external, so you guys should have our latest and greatest … But again, this is not formally QA’d, we’ve been testing things as we’ve been going on, but it is not ready for release yet. But now is a good time to start doing test merges and getting side branches up-to-date with that.

The latest code includes a fix to viewer-side behaviour. On logging-in to Second Life, the server sends a list of the things it believed an avatar was wearing, although the message only had room for one wearable of each type (e.g. undershirt, shirt, jacket, etc.), and so it may or may not be up-to-date with the Current Outfit folder.

While the current release versions of the viewer ignore the contents of the message, they do still wait on the message for timing (thus slowing down avatar processing). With the new code, the timing pause is being done away with, so that the viewer should be able to start resolving the avatar from the Current Outfit Folder whether or not the message has been received. There is a slight side-issue with this change that may affect some avatars under limited circumstances, but a fix for this issue is due to be made available to TPVs before the code even reaches any experimental versions of their viewers.

Viewer Crash Reporting

[09:00-14:50 and 26:03-31:15]

There is an issue with the viewer crash reporting which means that a lot of crashes are being incorrectly reported as viewer “freezes”. This is something the Lab is aware of and is working to address. The problem lies with a number of the mechanisms used to determine various types of crashes are not working, with the result that the associated crashes are being misreported as the viewer freezing.

As well as addressing this issue, the Lab has also been working in other areas related to Google Breakpad and crash reporting, including:

  • Simplifying and cleaning-up the creation and interpretation of the marker files used to generate crash rate numbers
  • Re locating these files much earlier in the viewer initialisation and log-out processes so that crashes which occur during the viewer’s initialisation or termination can also be captured
  • Addressing those crash reports which are generated, but lack associated stack dumps or mini-dumps and ensure that in the future that do have the required information, thus allowing the Lab to fill-in more of the blanks and ensure even more meaningful data is gathered as a result of crashes.
TPV Developer meeting, Friday November 1st
TPV Developer meeting, Friday November 1st

It will be a while before this work is ready for inclusion in viewers; one reason for this is because the improvements to Google Breakpad require continual rounds of user testing as changes are made (hence why the Google Breakpad RC appearing and vanishing and reappearing in the viewer release channel). However, once the code is ready for release, it should provide for more accurate crash reporting across all viewers. As the work comes to fruition, it should allow for more accurate identification of a range of crash situation and assist with the work in trying to eliminate them.

Continue reading “SL projects update 44 (3): viewer, AIS, and HTTP”

SL project updates week 44 (2): Group bans and sundry news

Server Deployments week 44 – Recap

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

  • Main channel: no update
  • Release Candidates: all three received the same new server maintenance package on Tuesday October 29th, which fixed some crash modes.

The RC release will likely be promoted to the Main channel during week 45.

Upcoming Work

At the Server Beta meeting on Thursday October 31st, Maestro Linden indicated that Simon Linden is working on a new package, but that it might not see the light of day for another week or so. “[It] has a bunch of miscellaneous fixes, including a potential fix for BUG-4152 (that ‘parcel full’ bug with vehicle region crossing which is rather common),” he told attendees.

There are apparently more “shinies” being worked on, but they are unlikely to be in this maintenance project, which Maestro describes as “solely bug fixes.”

SL Viewer Updates

The Maintenance RC viewer updated to release 3.6.10.283139 on Wednesday October 30th, otherwise no other changes to the viewer release channel.

There appears to be a closed viewer repository called “343-fittedmesh” with Oz Linden’s name attached to it. Quite what it might be is open to speculation, but the name might carry a possible hint. It has certainly prompted suggestions that the Lab might want to rethink their approach to code repository naming!

Baker Linden: Group Ban List

Baker and Caleb Linden (no, it's probably best not to ask...!)
Baker and Caleb Linden (no, it’s probably best not to ask…!)

“So group ban stuff is progressing more,” Baker Linden informed the Server Beta meeting. He went on:

However with Caleb and Maestro’s magnificence in finding out things I did wrong, we’re still in internal QA.  There are a couple issues that I’m currently working on, and one issue that came up today that I’m going to need some time to think about over the weekend. I’ve already fixed a few bugs however, so it’s still progressing, just much slower than I would have liked. I’m sorry that it’s taking a long time to get out. I’m touching a lot of systems and I want to make sure it’s done properly. I really do appreciate all the patience y’all have with me too :).

 Other Items

Scripted Sound Improvements?

During the Simulator User Group meeting on Tuesday October 29th, a question was raised about improving scripted sound capabilities with additional functions and parameters (e.g.  “llLinkPlaySound”, “llLinkStopSound” and “llLinkLoopSound”) which would allow for things like a single looped sound for a vehicle’s engine, with the ability to change the pitch of the sound to emulate the changing engine pitch when accelerating or slowing down without the need for multiple sound clips. This has been coupled with a request to make the prim collision sound being a property of the prim instead of the script.

Commenting on the request as the Server Beta meeting, Maestro indicated that Kelly Linden may be looking into things, although details of exactly what with be implemented, and what calls / parameters, etc., will be used is unclear. For the purposes of frequency modulation, viewer side changes will be required for making any adjustments to sound frequency.

Region Relocations

The subject of making it easier to move entire / large region builds from one region to another (so someone who owns two regions can move the contents of one to the other). currently there is no easy way to accomplish this. Apparently, the capability to ” restore to last position” (now only usable if you have rezzing rights at 0,0,0 within a region) was introduced for precisely this reason when the Linden were moving Adult regions to Zindra in 2010. Whether or not a capability to move region builds in this way would be re-introduced is open to debate; it is quite possible it is something that would not see that much use. Those wanting it, however, might want to file a Bug report (and label it “Feature Request”).

SL Projects update week 43 (2): server and viewer notes

Things are in something of a lull server-side in terms of deployments and projects at the moment, so the news from the Lab is a little light.

Server Deployment

With just the one deployment to the Main channel in week 43, the entire grid is currently running on the same server release.

Commenting on the released package at the Server Beta group meeting on Thursday 24th October, Maestro and Simon Linden provided further information on the performance issue fix which is aimed at the experimental interest list viewer (which has yet to formally appear, but can be self-compiled by those with access to the code repository).

“The bug was about avatars not loading for ~70 seconds when you visit an area with ten or so avatars nearby, Maestro explained. “And by ‘not loading’,  you wouldn’t even see name tags.”

“I think the problem was when those viewers used new methods to download or check the cache state of some data … it would over-load the network and thus the avatar updates were really slow,” Simon added, before continuing, “Since the current viewer doesn’t do that, they don’t have the bug. Clubs and large crowds are always a problem because when you arrive you just get a ton of data to fetch and load.”

Week 44 should see what Maestro described as a “minor maintenance release” for the server appearing next week, which includes “a few miscellaneous crash fixes”. At the time of writing it is not clear if this will be the only RC deployment or whether anything else might also pop-up when the deployment thread is published.

SL Viewer Updates

The “Sharestorm” release candidate, version 3.6.9.282535, which combined the updates from the Snowstorm contributions viewer featuring the request teleport functionality with the SLShare release candidate, was promoted to the de facto release viewer on October 23rd. This leaves just the Maintenance release candidate viewer 3.6.9.282553 sitting in a release cohort, which will be updated in week 44, once it has been rebuilt using the release viewer code base.

Group Ban List

Baker Linden’s Group ban list work remains on internal testing within the Lab (with Maestro and Caleb Linden volunteering as Baker’s guinea pigs). The project has also apparently been awaiting internal QA resources.  Baker hopes to have a detailed update on progress in week 44, but as he said at the Server Beta meeting, “I’d rather take the time to do it properly than rush it out the door and have it be worthless! :).”

Other Items

As reported in week 42, A problem had been noted following-on from the recent updates to prevent people from using recursive rezzing which means some engaging in combat have found 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. Maestro confirmed that as a result of a feature request having been raised, Andrew Linden is now looking at introducing a special exception for temp-on-rez / auto-return timer inheritance when the rezzer is a vehicle.

SL projects update week 42 (3): viewer, AIS v3, HTTP

The following notes are taken from the TPV Developer meeting held on Friday October 18th. 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.

A typical TPV dev meeting gathers (stock)
A typical TPV dev meeting gathers (stock)

SL Viewer Release Pipeline Updates

The Catalyst RC viewer (version 3.6.8.282367) was promoted to the de facto release viewer on Wednesday October 16th. This viewer was essentially a “hot fix” to address a start-up crash on viewers using the latest AMD Catalyst drivers (13.9, 13.10, 13.11).

At around the same time, the Maintenance RC viewer RC 3.6.8.282335 noted in part 1 of this report as being released on October 14th was withdrawn. It was subsequently superseded on Friday October 18th by a new build,  RC 3.6.9.282553, comprising the same updates: finer access control for estate/parcel owners; CHUI: toggle expanding Conversations by clicking on icon; GPU table update + more.

“ShareStorm” Viewer

Also on Friday October 18th, the SLShare RC (3.6.8.282036) and the Snowstorm contributions RC (3.6.8.281997) were withdrawn and superseded by a new “ShareStorm” RC viewer, version 3.6.9.282535, containing the updates from both.

Viewer Promotions – Time Frame

Due to the volume of work backed-up prior to the implementation of the new viewer release process by the Lab, RC viewers were initially being promoted  to a release status on almost a weekly basis. This has slowed a little more recently, with a promotion to release occurring around once every two weeks (with the exception of the Catalyst RC “hot fix” viewer mentioned above). Barring further situations like the Catalyst RC, the plan is to try to promote an RC to release status around every two weeks.

Interest List Viewer

[01:20 – 22:18]

Richard Linden attended the TPV Developer meeting on Friday October 18th to discuss the upcoming viewer-side changes for the interest list project. He started by giving a high-level overview of the work.

The primary focus of this work has been on scene loading – how things are presented to you when you log-in or teleport to a region. Historically, most of the work related to the interest list has been driven by the simulator. This is not the most optimal way of doing things, and could mean, among other things, that when arriving in a region, you’d start to see things far away from you rezzing first before those much closer to you – so if you arrived inside a house, you’d see the buildings and trees outside of the house appear before the walls of the house would pop into view.

Recent work on the interest list has been aimed towards improving scene loading in the viewer
Recent work on the interest list has been aimed towards improving scene loading in the viewer

So the first part of the work focused on the server end of things. Most of this has already been deployed to the grid, and the benefits can already be felt. There is more structure in how the server sorts and prioritizes data to be downloaded to the viewer, so that when you arrive in a region, the objects which are closer to you or are bigger than others should render first (e.g. when you arrive in the house mentioned above, the floor, walls and ceiling appear before those things outside of the house).

The upcoming viewer changes take this work a stage further, but in more subtle ways.  What is classified as a “cacheable” objects has been changed, for example, allowing the viewer to potentially store more information on objects locally, rather than perhaps depending on the simulator for information relating to them. Additionally, the viewer will be able to retain more overall information relating to a region than is currently the case – fewer “killobject” messages are sent by the simulator telling the viewer to remove objects from cache, allowing them to be re-used rather than the viewer necessarily having to request data on them from the simulator once more.

There are other improvements within the code to assist with better scene loading, such as when you arrive in a region you’ve never visited before (and so have nothing cached). Under the current system, the simulator will send queries to the viewer about every object in the region, because it has no way of knowing if the viewer has data for the region already cached. Under the new code, as the viewer connects to the simulator it will tell the simulator it has no data cached. The simulator can then get on with prioritising the data and getting it downloaded to the viewer, with the result that “several seconds” are shaved from scene loading times.

In other words, to borrow from Richard put it, the updates put the viewer far more in the driving seat with the interest list.

Continue reading “SL projects update week 42 (3): viewer, AIS v3, HTTP”