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”

SL projects update week 42 (2): server, group ban list

Server Deployments – Week 42

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

Tuesday October 15th saw the Main channel updated with the server maintenance project previously on all three RC channels in week 41.

The planned deployment of a new server maintenance project to all three RC channels was threatened at the 11th hour by the discovery of a bug  which took time to resolved, and left the package teetering on the edge of whether it would pass QA testing in time to make the deployment cut-off.

Maestro Linden's disco-themed Server Beta meeting venue (stock)
Maestro Linden’s disco-themed Server Beta meeting venue (stock)

Speaking at the Server Beta meeting on Thursday October 17th, Maestro Linden expanded on this last-minute bug. He explained that it took the form of objects failing to vanish from a user’s field of view after being de-rezzed, and would instead remain as a ghosted object until touched, because the user’s viewer wouldn’t get the update message that the object had been de-rezzed. The problem for the Lab was that the issue would occur in some places but not in others, and seemed to be dependent on things like camera position and draw distance, making it hard to reproduce consistently.

Andrew Linden finally worked out that the problem would only occur in regions with a neighbour to the east and if the user’s viewer was connected to that region. So depending on the region, the object’s position, your camera position and draw distance, the bug might or might not trigger.

While the issue was successfully addressed and the update package successfully deployed on schedule, the Lab are still uncertain as to why the bug should only occur when there is a neighbouring region to the east; however, it’s fair to say that this is not the first “east related” bug to have been found.

Group Ban List

Baker Linden is continuing with internal testing with the new code, using Maestro and Caleb Linden as his guinea pigs. Apparently, the server-side code is hung-up in LL’s internal QA, possibly awaiting resources there. As such, it has yet to become visible and there are currently no regions available on Aditi which include the server-side updates.

Other Items

A problem has been noted following-on from the recent updates to prevent people from using recursive rezzing to grief regions (see my week 35 and week 37 reports). As a consequence of this, some engaging in combat in Second Life have encountered issues wherein 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.

Commenting on the situation, Maestro agreed the use-case is legitimate and that some exemption should be made for sat-upon vehicles / objects in these circumstances. He’s agreed to put the matter to Simon and Andrew Linden for further discussion on the best way to approach and resolve the issue.

SL projects update week 42 (1): Server, viewer updates, misc news

Server Deployments – Week 42

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

Second Life Server (Main Channel) – Tuesday October 15th

The main channel received the server maintenance project previously on all three RC channels in week 41. This project includes a fix for a group notice delivery issue, introduces a missing JSON operation to LSL, and includes preparatory work for an upcoming viewer with scene loading (interest list) improvements.

Second Life RC BlueSteel, RC Magnum, and RC LeTigre – Wednesday October 16th

All three RC channels should receive a new server maintenance project.  However, at the time of writing, it is unclear whether the RC deployment will occur due to a last-minute bug being identified. Speaking at the Simulator User Group meeting, Andrew Linden indicated that while it had been fixed, it has yet to pass internal QA.

Assuming it does go ahead, the deployment includes fixes for the following issues:

  • “Group member access to parcels fails when ‘Sell passes to’ is enabled” (BUG-3992)
  • “‘Ghost’ avatars and vehicles sometimes appear to an observer at the sim border” (BUG-3872)
  • “Vehicles which exit a region with a passenger are incorrectly auto returned and become ‘ghost shapes’ in the physics engine” (BUG-4024)
  • A performance issue with avatar loading speed in the experimental ‘viewer-interesting’ viewer.
Simulator User Group meeting, Tuesday October 15th 2013
Simulator User Group meeting, Tuesday October 15th 2013

In addition, extremely high Avatar Render Weights reported to the server are now capped at 500,000 (BUG-4010)  – so the server will take any report over 500k and treat it as 500k.  Simon explained that this cap had been arrived through a process of observation and data-gathering he undertook himself or resident supplied to him, all of which suggested the average for ARW among users is around 100K. In describing the cap in general, he went on:

You should consider anything close to 500k as just “way too high”. The system is a compromise that’s needed because some people will try to game it You should not trust the values too much. They are from viewers, which (don’t take this personally, anyone) cannot be trusted to be accurate 500k is at the very high-end of usage.

Really, anyone near that in a public place is hogging your viewer display power if you’re up by 500k – you’re using roughly 5x the viewer render resources as everyone else Also remember that SL is not doing anything with this data. It’s up to scripters and land owners to react.  So I can imagine a popular club maybe sending a warning IM to someone who’s really complex.

 I hope some people can find it useful within its limitations.   As it currently works, it should give scripts a good idea if some people are extra-costly.   It’s up to the scripter to handle that well or not.

SL Viewer Updates

Two new release candidate viewers were deployed to the release channel on October 14th and 15th. These are the Catalyst Viewer and a further Maintenance Viewer.

Maintenance Viewer

Release on October 14th, Maintenance RC 3.6.8.282335 includes:

  • finer access control for estate/parcel owners
  • CHUI: toggle expanding Conversations by clicking on icon
  • clean up messaging & notifications
  • fix crashes & hangs
  • GPU table update

Catalyst Viewer

Release on October 15th, the Catalyst RC, release 3.6.8.282367, is intended to address a start-up crash on latest AMD Catalyst drivers: 13.9, 13.10, 13.11.

Interest List

Not much to report here, the viewer-side code has yet to emerge as an RC, but Andrew Linden has been working on comparisons with scene loading in the hopes of producing a film to demonstrate the improvements. He’d recorded the “before” footage a while ago, and has been focusing on the “after” footage.

“I brought the regions up on some old simulator code from before any of the latest interest list work… from Dec 2012. Andrew Linden: and I was reminded as to how poorly the scene used to load;  everything arrived in mostly random order,” he said during the simulator User Group meeting, “I found a very small room in one of my test regions. So I logged out while standing in this closet, cleared my cache, and logged back in… On the old simulator code you could see the world streaming in and then BAM! the walls of the room would obscure everything. On the new code… the walls are there as soon as the login curtain raises. Not that the scene loading is perfect now, but some of you may remember… it used to be much worse.”

Hopefully we’ll be able to see the video soon, and Andrew will be able to avoid further plays on him coming out of the closet…

Group Ban List

Again, not a lot to report at the moment. Appearing at the Simulator User Group meeting, Baker Linden said:

I wanted to give an update on group bans:  I’m currently working through the bugs found by internal QA testing, trying to fix them as quickly as I can. Later today I’ll be doing another round of code reviews, and hopefully everything there will go smoothly.

SL Projects update week 41 (2): TPV developer meeting, group ban list, interest list

Server Deployments Summary – Week 41

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

  • There was no update to the Main channel
  • The three RCs remained on the same package as deployed in week 40, with one additional fix for objects using llGetCameraRot() as a result of an interest list related issue.

Potential Server Deployments  – Week 42

Speaking at the Server Beta meeting on Thursday October 11th, Maestro Linden indicated that allowing for QA testing and final decisions, it looks as if week 42 (commencing Monday October 14th) should see:

  • The Main channel receive the package currently deployed to the three RCs
  • At least one RC package which should contain fixes for the region crossing issues noted in my week 40 report, namely: vehicles being incorrectly autoreturned on crossing a region boundary under certain circumstances (and the collision body being left behind) and “ghost” avatars and vehicles sometimes appearing to an observer when the region crossing is at the limits of their draw distance.
In the guise of my "Crash Test Alt", I doogie with a top-hatted Simon Linden at the Server Beta meeting
In the guise of my “Crash Test Alt”, I boogie with a top-hatted Simon Linden at the Server Beta meeting

SL Viewer Updates

RC Updates

The Second Life Share (SLShare) RC viewer has been rebuilt using the current de facto viewer release code and a new version – 3.6.8.282036 – on October 9th. This should see all of the current RC builds now rebuilt using the release viewer code base.

Mac Viewer  / OS X 10.6

The Mac 3.6.4 viewer which was offered to Mac OS X 10.6 users as a result of issues with the recent Cocoa updates impacting them has been closed, as the Lab believes all the important bugs on this issue are fixed.  Those who had either been rolled back to this release, or opted to install it, have been updated to the current release.

Interest List Viewer

The interest list RC viewer has yet to appear, although the code is available for those able to access it for self-builds. Two issues have been identified by those compiling the viewer. The first of these appears to be a known bug, SH-4552, wherein objects and linksets previously cached by the viewer fail to load following a teleport, and will generally only render following a relog (right-clicking where the object should be, as with the “missing prims” issue earlier in the year, does not work). The second causes objects to vanish from the user’s field-of-view until after a relog  if draw distance is reduced and then returned to its prior settings.

Whether either of these issues is sufficient to stop the viewer emerging as either a project or RC viewer remains to be seen. The code had been sitting awaiting the button to be pushed to move it into one or the other. It had been hoped that members of the team who have been working on the viewer would be available to discuss the viewer during the TPV Developer meeting on Friday October 11th. Unfortunately, they didn’t manage to attend.

Upcoming Viewers

Other viewers on the horizon include:

  • A further maintenance release, which may include Baker Linden’s Group Ban List code
  • Monty Linden’s viewer-side HTTP updates, which have been “snarled up” as a result of some rebuild dependencies.

Continue reading “SL Projects update week 41 (2): TPV developer meeting, group ban list, interest list”

SL project updates week 41 (1): Server, viewer, general updates

A quick summary for now, as I’m a little caught-up in RL bits.

Server Deployments – Week 41

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

Second Life Server (Main Channel)

There have been no updates to the Main channel.

Second Life RC BlueSteel, RC Magnum, and RC LeTigre – Wednesday October 9th

The RC channels should all receive on update, but otherwise remain on the package deployed in week 40.

The one addition to the package is the fix for the llGetCameraRot() LSL function, which I reported on here, and relates to a “lazy” update to scripted objects using this function as a result of recent interest list updates.

Release notes for the package are the same for all three RCs, BlueSteel is the one linked to.

If all goes according to plan, this RC deployment should be promoted to the Main channel in week 42, and new packages deployed to the RCs.

SL Viewer Updates

Following the promotion of the Maintenance RC viewer to the de facto release viewer, Monday October 7th saw the Snowstorm contributions RC updated to version 3.6.8.281997, based on the new release viewer code base, and the Google Breakpad RC viewer was similarly updated on Tuesday October 8th, to version 3.6.8.282050.

Interest List

Andrew Linden reports he is trying to get some regions up and running on Aditi to test scene loading. All things being equal, the viewer-side code which utilises the recent interest list updates deployed to Agni should make a debut appearance  (probably as an RC maintenance viewer) in week 41, however, Andrew also commented on the fact that odd little bugs keep showing-up on the server side which impact the viewer

Group Ban List

Baker reports that he’s working hard to get everything up and running on Aditi over the course of the next two weeks. Internal testing of his code should commence this week, and he warns he may miss his target as a result of personal commitments.

SL project updates week 40 (3): viewer, inventory service, group ban list functions

The following notes are taken from the TPV Developer meeting held on Friday October 4th. A video, courtesy of Northspring, can be found at the end of this report. The numbers in braces after each head denote the time stamp at which the topic can be listened-to in the video.

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

Release Pipeline Recap

Release viewer

Maintenance RC viewer 3.6.7.281793 was promoted to the de-facto release viewer overnight on the 3rd/4th October (release notes). This primarily comprises:

  • Viewer-side support for new LSL particle capabilities (blend, glow, ribbon)
  • The automatic avatar render limit and feedback system
  • Fixes for the Cocoa release regression issues (see below)
  • Fix to prevent orientation being lost on teleporting (if you’re facing west when you teleport, you’ll still be facing west on arrival)
  • Further bug fixes as listed in the release notes, including further CHUI and materials fixes

The remaining release candidates (Google Breakpad, SLShare and the Snowstorm contributions RC) continue to produce good numbers, and the Lab hasn’t seen any major issues with them.

Interest List Viewer Updates

[37:16 -38:40]

It is currently anticipated that the viewer-side code supporting the recent batch of work on the interest list will finally arrive in week 41 as a release candidate viewer. This will be discussed at the next TPV Developer meeting, scheduled for Friday October 11th.

Mac OS X 10.6

[41:00 – 45:40]

As reported here, recent updates with Cocoa on the Mac viewer led to users still running Mac OS X 10.6 to experience some “obnoxious problems“. As a result, the Lab initially implemented a mandatory roll-back of viewers for users on OS X 10.6 to viewer release 3.6.4.280048 (August 20th, 2013). However, some of the issues have been resolved fixes within the last maintenance RC viewer (3.6.7.281793), which as noted above has now been promoted to the de facto release viewer. As a result, the roll-back to version 3.6.4.280048 has now been made optional  and has been left available until such time as the remaining issues with Cocoa and OS X 10.6 can hopefully be addressed.

A broader advisory from the Lab is that as the viewer is a lot more stable on later version of the Mac operating system, those who are on OS X10.6 and in a position to upgrade should consider doing so.

Other Potential Viewer RCs

[40:12 – 41:00]

The next round(s) of viewer releases from the Lab are expected to include:

  • A further maintenance viewer RC
  • The SSA / AIS v3 viewer updates (anticipated in the next couple of weeks – see below)
  • Monty Linden’s viewer-side HTTP updates, which are currently on internal QA at the Lab.

Advanced Inventory Service (AIS v3)

[02:18 – 15:02]

The inventory service updates, initially being undertaken alongside Server-side Appearance (SSA), are now ready for deployment.

A core part of AIS v3 covers the inventory changes that the second round of SSA updates use to manage the Current Outfit Folder (COF) more reliably, including hopefully improving the response time for re-requests for an inventory item / update; however there is more to the updates than this.

Two wiki documents have been produced for the new API:

Continue reading “SL project updates week 40 (3): viewer, inventory service, group ban list functions”