SL projects update week 40 (2): SSA, group ban list, upcoming bug fixes

Server Deployments – Week 40 Recap

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

  • There was no Main channel deployment in week 40
  • The three RC channels all received the same update, comprising a fix for a bug affecting group notice delivery to large groups whereby the notice randomly fails to reach some group members; a new JSON_DELETE option for llJsonSetValue(); interest list preparatory work for more correct sort order during scene load – release notes (BlueSteel).
Having fun at the Server Beta Meeting
Having fun at the Server Beta Meeting

Upcoming Bug Fixes

There are a number of upcoming server-side bug fixes due. It is hoped all of these will reach one or more RCs in week 41. However, this depends on them passing QA, etc. The fixes include:

llGetCameraRot() Issue

There has been a series of bug reports from across the grid being raised about problems with camera updates when operating in Mouselook with scripted objects using llGetCameraRot() (HUDS, weapons, etc), and which may also affect scripted objects using llGetCameraRot()  when in 3rd person view. Commenting on the issue at the Server Beta meeting, Maestro Linden had this to say:

There were a few bugs reported today [Thursday October 3rd] about llGetCameraRot() being ‘lazy’ about updates, which we’ve been able to confirm. If you’re aiming in mouselook and make subtle adjustments, the llGetCameraRot() rotation doesn’t change (but should) …

In any case, Andrew took a look at the bug and found the cause; one of the interest list changes affected how often the simulator updates the reported camera rotation value. He had added some hysteresis so that only large changes that would affect your interest list (cone of objects you’re seeing) would cause the value to update, not realizing that it affected llGetCameraRot(). There’s a fix pending, so we should hopefully have that ready for the next rolls.

Group Access to Parcel when “Sell Passes” Set

I reported on this issue in my week 39 updates. Essentially, if a region is set to group access and to “Sell Passes”, Group members ended up unable to enter the parcel at all. The problem was accidentally introduced with the recent parcel access updates, and while not widespread, is still recognised as a pain for those using the option.

Region Crossing Fixes

There are two upcoming fixes for region crossings.

The first is a fix for “‘Ghost’ avatars and vehicles sometimes appear to an observer at the sim border”. This is caused by an avatar or vehicle making a region crossing just at the limit of the observer’s  draw distance, so the simulator that the vehicle / avatar was leaving didn’t send an ObjectDelete message, since it figured the destination region would handle future object updates. However, as the observer’s viewer wasn’t connected to to the destination region, no update would be received, leaving the “ghost” image in view (“touching” it would cause it to vanish).

The second is a fix for “Vehicles which exit a region with a passenger are incorrectly autoreturned and ‘ghosted'”.  This is related to a vehicle being rezzed in a region with auto return set, and then “loitering” in the area before coincidentally trying to cross the region boundary at the time the auto return delay expired. during the crossing process, the vehicle would appear to be unoccupied to the region it was leaving – and thus be returned to the owner. In addition, the vehicle’s collision body would be “left behind” (marked as “pending delete” without actually being deleted) which could then be run into as a “ghosted” object by other vehicles.

Currently, a region restart fixes this issue.

SL Viewer Updates

There has been no promotion of an RC viewer to the de facto release viewer so far in week 40. The Maintenance viewer (support for new particle capabilities; automatic avatar render limit and feedback system) gained a further update on September 30th, with the arrival of version 3.6.7.281793.

Mac OSX 10.6 Viewer roll-back

As reported here, due to the recent Cocoa updates causing regression for users on Mac OSX 10.6, the Lab has opted to roll-back all users on that operating system to version 3.6.4.280048 (August 20th, 2013).

Interest List Viewer

It’s now believed that the Interest List viewer is around two weeks from appearing as either a project viewer or an RC viewer.

Continue reading “SL projects update week 40 (2): SSA, group ban list, upcoming bug fixes”

SL projects update week 40 (1): server releases, group ban list, interest list

Server Deployments – Week 40

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 2nd

All three RCs should receive the same maintenance package comprising:

  • A fix for a bug affecting group notice delivery to large groups whereby the notice randomly fails to reach some group members
  • Interest list preparatory work for more correct sort order during scene load
  • New JSON_DELETE option to llJsonSetValue(), for deleting elements in JSON strings. Usage: ‘string output_json = llJsonSetValue(string input_json, [list location, JSON_DELETE)’ will delete the element specified by the location argument

Release notes: BlueSteel, LeTigre and Magnum.

Simulator UG meeting, October 1st, 2013
Simulator UG meeting, October 1st, 2013

Region Crossing Issue Update

Speaking at the Simulator User Group meeting on Tuesday October 1st, Andrew Linden reported that both he and Maestro had been looking into the recent problems with region crossings which have been hard to pin down to a specific cause. However, Andrew was confident one cause had now been identified, saying:

It appears that there is a bug when vehicles cross region boundaries on parcels with autoreturn. “In particular, if the vehicle has been on the parcel long enough to trigger autoreturn, it won’t actually get autoreturned because someone is sitting on it. But when it tries to cross the region boundary with the rider things fall apart.

Simon Linden indicated he had a proposed fix for the issue, which he wanted to discuss with Andrew outside of the meeting, but hopes that the fix will be in a position to be deployed in week 41 (commencing Monday October 7th).

Group Ban List

The obligatory Baker Linden shot :)
The obligatory Baker Linden shot 🙂

Following-on from the update given on his behalf at the TPV Developer meeting on Friday September  27th, Baker Linden appeared at the Simulator User Group meeting to provide a rapid-fire update on his latest state-of-play with the group ban list work (see JIRA VWR-29337):

Today I’ll be working on merging the viewer code with what’s in release, and I’ll be working on getting up some actual builds to deploy to a grid for internal testing (it is not Aditi yet). so by the end of the day, I should have all the components deployed and ready for internal testing, and depending on how well that goes, it’ll be ready for Aditi soon!

In terms of the viewer code becoming visible, Baker believes his project viewer repository will become visible soon, most likely around the time of the next TPV developer meeting, when he is due to explain the new functionality.

In the meantime there’s still some further work required on the code, as he explained. “There are still a few small bugs and issues I have to work on in the code — I’ll be working on those while internal testing is happening. There’s a major refactor in llpanelgroupinvite, which is what I’m trying to hand-merge today.”

Interest List Work and Video

Andrew Linden has been finishing-up on some additional interest list work, and is now looking to produce a video showing the “before” and “after” scene loading within a region. The “before” part of the filming is already in the can, but the region he used is now “long gone”, and so he picked-up a few suggestions from the Simulator group on regions which may offer go locations for shooting the “after” segment of the film. Essentially he’s looking for regions with lots of objects be which are not ridiculously overloaded with textures.

Other Bits

Render Weights and Calculations

Work has been going on around the issue of render weights and how they are calculated. The current Maintenance viewer has code for a new “automatic avatar render limit and feedback system”.

Que Niangao raised concern at the meeting and on the SLU forum that a constant forming a part of this system – OBJECT_RENDER_WEIGHT, which requires feedback from the viewer, and so might be used for grefing people; such as through a viewer tweaked to return highly inflated numbers for others in a region, thus allowing it to become a tool for griefing.

Responding to Que’s enquiry, Simon Linden said, “Yes … OBJECT_RENDER_WEIGHT needs to be used carefully. First, the way that is calculated is likely to change … I’m going to be working on it today, in fact.”

He went on to indicate that he’s been gathering data on avatar weightings (samples from about 500 avatars) which he’ll be using to make the changes, although he may be seeking further assistance. The changes he’s looking to make are on the server, but he was a little circumspect on details out of concern that going too deeply into how things work on the server as do so could make it easier for the unscrupulous to game the system.

One area where the new system will hopefully have an impact is in preventing the use of worn sim laggers impacting a region as can currently be the case.

SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more

The following notes are taken from the TPV Developer meeting held on Friday September 27th. A video, courtesy of North, 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
A typical TPV dev meeting

SL Release Candidate Viewers

SLShare

[03:00]

Following my coverage of the release of SLShare, the opt-in capability for those wishing to link their Second Life accounts with their Facebook accounts, A question was asked as to whether the feature would be available to TPVs. Speaking at the TPV Development Meeting, Oz Linden provided comments which answered this question more fully, and and Merov Linden gave further information on the functionality in general.

“One of the design considerations is that this is a feature you [TPV developers] can all integrate without any problem,” Oz said. “All of the actual connections to Facebook, all of the handling of the requisite authentication tokens and permissions and [the] relationship with Facebook itself, is all handled server-side. So the code that’s in the release candidate viewer is something that you can integrate so that you can also make this feature available on whatever schedule you would like to.”

He went on to confirm that given this, no Facebook information for users of the service is exposed to TPVs.

As to how soon it might be before the SLShare RC is promoted to the release viewer, Oz again reiterated that it depends on how well the various candidates currently in the release channel perform. Currently, the metrics for the viewer look good, according to Merov, so it may still leapfrog its way to becoming the release viewer. However it is more likely that it will not become the de facto viewer for at least another two weeks.

Despite the negative reactions to the feature which have appeared in the comments following blog posts, etc., reporting on the functionality, the Lab believes SLShare is already “getting a lot of use”. This view is based on the numbers of people who have pro-actively gone and downloaded and installed the RC viewer manually.

While this may be a case of the Lab greasing the wheels a little bit (downloading and installing the viewer isn’t necessarily the same as running the feature),  Firestorm are reporting that they’ve had at least one request for the feature to be added to their next release.

During the meeting, a series of questions were raised on the feature:

  • Will the feature become opt-out in the future, rather than opt-in? Merov Linden:  “It’s opt-in. We’re not doing anything [behind] the back of the residents.”
  • Will the feature create a Facebook account on behalf of anyone using it? Merov Linden:  “There is no API to create an account on Facebook on behalf of someone.”
  • Will it lead to a merging of the current SL feeds with the Facebook feed?  Oz Linden: ” No, there is no connection between the Second Life profile feeds and the Facebook feed. They have no relationship at all … In theory one could probably build a viewer that did that, but we’re not planning on it.”

(Further questions passed unanswered due to the region in which the meeting was being held being subjected to a griefing attack which left it in a poor state and prompted a change of meeting venue.)

Viewer Statistics

[33:26]

The Lab has been putting together a new statistics reporting system, which is now starting to be used to generate a range of reports. Commenting on some of the information which is coming out of the system, primarily in response to questions asked at both Open-source dev and TPV dev meetings, Oz indicated that:

  • Almost one-third of regions within SL have at least one materials-enhanced object in them, which is described as “dramatically faster” than the adoption of mesh
  • The number of avatars wearing materials-enhanced mesh / prim clothing is “steadily climbing”
  • The number of people who have Advanced Lighting Model (ALM) enabled on a “class 3” (mid-range Graphics cards) or above is just under 20%

One of the problems here – from the Lab’s point of view at least – is that both Singularity and Firestorm have ALM turned off by default for almost all graphics settings, except perhaps High-Ultra, and Ultra. The flip side to this is the view that the Lab enables ALM by default on cards which are barely able to support it, with the result that people’s SL experience suffers through poor frame rates.

In the past the Lab has pointed to data which tends to show that viewers running on low-end graphics cards card do indeed suffer performance issues with ALM active; mid-range GPU show little difference in performance between running with ALM active or not and have “reasonable” fps rates; high-end (“class 5”, as they call them) cards  – e.g. ATI Radeon HD 7800, 7900, 8900, 8950 + similar, nVidia GTX 460/460SE, 465, 550TI, 580, 660/660TI + similar – perform significantly better with ALM active.

The problems here are how one defines “reasonable” frame rates and how one interprets ALM. For the Lab, it would appear that “reasonable” frame rates is anything in double figures – e.g. above 10; many users would disagree with this. At the same time, many users still appear to equate having ALM active with having Shadows enabled (which actually leads to a far larger performance hit), but the two are actually quite separate. As had been pointed out a number of times in these pages, ALM can be active without having to enable shadows.

Running with ALM active does not require shadows to be enabled
Running with ALM active does not require shadows to be enabled

Nevertheless, part of the new viewer statistics system should enable to Lab to gather and present performance numbers for cards with and with ALM enabled, filtered by viewer, so that TPVs can better judge matters for themselves.  In addition, Oz is going to be looking at ways and means of doing systematic testing with cards in order to generate more meaningful statistics, and which may allow for other factors which influcence performance (other avatars in the same region, the amount of movement going on, viewer settings, etc.).

Understanding Viewer Performance

[45:41]

A further problem with the viewer is that it is complicated, and while there are many tools to help monitor performance, people either focus on the wrong tools or cannot find those that would be helpful to them in diagnosing an issue when they do encounter unexpected performance drops.

To this end, Oz floated the idea at the TPV Developer meeting for TPV devs to give thought as to which tools and information feeds within the viewer would be useful to users to help them understand what is going on, and how best to present said tools, etc., in a way which would make sense to users and enable them to make use of the information they are seeing.

Continue reading “SL projects update week 39 (3): viewer, interest list, HTTP, SSA and more”

SL projects update week 39 (2): Server, viewer, region crossings

Server Deployments – Week 39

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

  • On Tuesday September 24th the main channel updated to the server project that was on Magnum last week, with the llXorbase64 (see my week 35 (2) update ), a number of JSON updates, the nerfing of recursive rezzing (outlined in my week 35 (1) report), a parcel access update (see below) and more – see the release notes for details
  • On Wednesday September 25th, all three RV channels (BlueSteel, LeTigre, Magnum) received the same update package as deployed to the Main channel.

Parcel Access Update Bug

At the Server Beta meeting on Thursday September 26th, Maestro revealed that the parcel access update, designed to enable users who are on a parcel’s “Allowed Access” list now correctly bypass other parcel restrictions (such as “Payment Info On File”) when entering the parcel, introduced an unexpected bug. He it as:

If you have a group-owned parcel, and the parcel access is restricted to group members, *and* “sell passes to..” is set, then group members can’t access the parcel, which isn’t good. My guess is that nobody noticed in RC because “sell passes to” isn’t widely used.

The classic behaviour was this one motorcycling sim had it set up; you could either join the group for L$300 and have permanent access to their roads, or alternatively pay L$100 for a one time pass to visit … With the bug, even the group members couldn’t access (though oddly they weren’t prompted to buy a pass either – entry just failed). It may have been that the viewer expected the classic behaviour, so didn’t prompt about a pass. Anyway, we do have a pending fix for the issue.

Maestro Linden's new meeting venue (complete with materials), which saw its debut at the Server Beta meeting on Thursday September 26th.
Maestro Linden’s new meeting venue (complete with materials), which saw its debut at the Server Beta meeting on Thursday September 26th.

Week 40 Deployments

While the final decisions on deployment packaged are not made until the start of the week in which they are due, Maestro Linden gave a hint of some of the items liable to see the light of day in week 40 (week commencing Monday September 30th)

  • A further LSL update for JSON support, which will see JSON_DELETE added as an option to llJsonSetValue() and allows you to delete an element directly
  • A fix for a group notice bug which causes a notice (possibly only in some groups, it’s not entirely clear) randomly failing to reach some group members

Commenting on the latter, Simon added, “That group one is kind of minor. There still seem to be issues with groups, even with this fix, but it may help … Group notices have gotten more reliable lately, thanks to Monty’s http work, I think, but I’m still hearing of notices getting lost sometimes, or the sender not getting one.”

Maestro also confirmed that there is a separate bug related to offline notices failing to reach people’s e-mails, with some at the meeting reporting they haven’t received any off-line notices for the past month.

SL Viewer Updates

On Wednesday September 25th, the Lab launched SLShare, and with it introduced a new RC viewer – version 3.6.7.281331 – with the new OPTIONAL share with Facebook capabilities.

The four tabs of the new SLShare floater, allowing people to share their SL times via their Facebook account if they so wish
The four tabs of the new SLShare floater, allowing people to share their SL times via their Facebook account if they so wish

Continue reading “SL projects update week 39 (2): Server, viewer, region crossings”

SL projects update week 39 (1): server and general items

Server Deployments – Week 39

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

Second Life Server (Main Channel) – Tuesday September 24th

The main channel updated to the server project that was on Magnum last week, comprising:

  • A fix for the llXorbase64 issue reported on in my week 35 (2) update  (BUG-3763)
  • A fix for an issue where an avatar sitting at high altitude may appear to be located at 0,0 on both the world map and mini map (BUG-3332)
  • A fix for “llReturnObjectsByID breaks on string uuids”
  • Fixes for a number of JSON function issues:
  • Nerfing of recursive rezzing. Again, this was outlined in my week 35 (1) report. Under the new code, the copy of the original object will inherit the temp-on-rez and parcel time of the originating object and so be returned at the same time
  • Users who are on a parcel’s “Allowed Access” list now correctly bypass other parcel restrictions (such as “Payment Info On File”) when entering the parcel
  • Crash mode fixes.

Second Life RC BlueSteel, RC Magnum, and RC LeTigre – Wednesday September 25th

All three RC channels should receive the same update package as deployed to the Main channel (see above for a summary of changes). Release notes: BlueSteel, LeTigre, Magnum.

Region Restart Issues

The last few weeks have apparently seen an increase in the number of reports being filed against regions restarting in an unhealthy state following a restart. Talking at the Simulator User Group on Tuesday September 24th, Whirly Fizzle related the problems thus:

After rolling restarts, many regions come back in an unhealthy state in that no mesh will rez on them, you appear offline to all your friends if you are on said region, your friends lists & groups lists don’t load, you cannot initiate IM sessions & you usually disconnect when attempting to TP out of those regions. (Caps fail I guess?). Restarting the region fixes it. As far as I know this used to happen rarely after rolls but now it appears pretty common.

Some people have reported increasing issues with regions immeidately following a rolling restart
Some people have reported increasing issues with regions returning in an unhealthy state immediately following a rolling restart

Both Simon and Andrew Linden leaned towards the problems being indicative of a caps fail issue, with Simon speculating, “I suspect the caps system is overloaded in a server restart … there may be too many regions coming up at once, doing all the housework to get into the grid, etc, and it falls apart.  That’s just a wild guess, however.” He also pointed to the problem possibly being connectivity-related.

As a result, Andrew has said he’ll look deeper into the problem and also check with LL’s Release team, who actually handle the rollouts to see if they have any insight into what may be happening, and if it is a broken caps issue. In the meantime, those experiencing issues of the kind indicated by Whirly should file a bug report, making sure they include the server names (e.g. simXXXX.agni.lindenlab.com available in Help > About Second Life) both before and after running a manual restart.

SL Viewer Updates

There has been no release candidate promotion to the de facto release viewer as yet in week 39. However, the remaining two release candidates updated recently as follows:

  • The Maintenance release RC (support for new particle capabilities; automatic avatar render limit and feedback system) updated on September 20th to version 3.6.7.281236, and then on September 24th to version 3.6.7.281385
  • The Snowstorm contributions RC (request teleport feature) updated on September 20th to version  3.6.7.281199.

Continue reading “SL projects update week 39 (1): server and general items”

SL project update week 38 (2): server, viewer and other bits

Server Deployments – Week 38

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

  • On Tuesday September 17th, The Main channel received the HTTP updates  previously deployed to Magnum in weeks 36 and 37. See here and here for details. These changes are pending  a viewer-side update in order to be effective.
  • One Wednesday September 18th, the RC channels were updated as follows:
  • BlueSteel and LeTigre remained on the same maintenance package as week 37, but gained a fix for a crash mode and the server-side HTTP work
  • Magnum received the BlueSteel / LeTigre updates, a series of crash fixes and an update to parcel access priorities.

Some people have reported issues with sculpties only partially rendering following the deployments. This seems to be occurring when teleporting into a region, and has been noted with sculpted trees and foliage with a low LI. One suggested solution has been to raise the RenderMinimumLODTriangleCount debug from its default of 16 to 28 or 32.

BlueSteel / LeTigre Crash Mode Update

In part one of this week’s report, I mistakenly assigned the crash mode fix referred to as being something Andrew Linden had been working on. In fact, the crash mode was only created as a result of the week 37 deployment to these channels. Related to region crossings, it would only occur under very specific, non-exploitable conditions involving vehicle-riding avatars, and would result in the region just left crashing. This issue never got beyond the two RCs, and has now been confirmed as fixed.

Magnum Parcel Access Priorities Update

Speaking at the Server Beta meeting on Thursday September 19th, Maestro gave further information on this fix, “There was a longstanding bug where an avatar who was on the ‘Allowed Residents’ list of a parcel was still not able to enter the parcel, due to other access restrictions.” So if someone was on the access list, but had no payment information on file, and the parcel required it, they could still not enter the parcel. With this fix, Maestro explained, “If the parcel is set to ‘allow payment info on file always’, somebody on the ‘allowed residents’ list can always enter, regardless of their PIOF status.” The change does not alter anyone being on the banned list being unable to access a parcel,

As the sun sets, the Server Beta attendees gather ...
As the sun sets, the Server Beta attendees gather …

Week 39 Deployments

While the final decisions on deployment packaged are not made until the start of the week in which they are due, Maestro reports the data on both the Magnum and the BlueSteel / LeTigre packages deployed this week are good. However, he suspects the Magnum package will most likely be promoted to the Main channel in week 39 (week commencing Monday September 23rd.

Viewer Updates

The release viewer was updated on Thursday  September 19th, when the Materials release candidate (release 3.6.6.280963) was prompted to the de facto release viewer (release notes & download). This currently leaves just two release candidates in the release channel at present:  the Snowstorm contributions RC, which includes the Request Teleport feature, and the maintenance update, which includes the viewer-side updates for the “new” particle capabilities.

Other Items

LSL Parcel Access Function

Jenna Felton raised a question at the Server Beta meeting on whether it would be possible to have a LSL function which could determine if a specified avatar can enter a specified location within a region, or is able to pass through every parcel on a given path through the region. She explained why such a function might be useful:

The reason is when you build a vehicle or a physically working teleporter, you face a problem: Although you can read the parcel flags and determine for example if a parcel uses ban list, but you can’t determine if any sat passenger is on the list or not. So you get false positives and refuse teleport even if the vehicle would cross the parcel. Now, even if you are ok with that, you have to perform a large number of such checks to be sure at no position of your path you are entering a parcel or cross an edge of a parcel using ban list.

So I’d like to know if such a function is reasonable, that takes two vectors and determines if the path connecting them is safe for objects with seated avatars to move along. A reasonable range of systems would benefit from it.

This prompted some discussion of the idea, apparently continuing a discussion Maestro and Simon Linden had prior to the meeting. This took-in a number of ways in which such a check might be achieved, including a look-up based on agent_id and parcel_id, through to using the location-to-parcel ID lookup or extending llCastRay to have parcel detection.  Simon Linden also pointed out it would be possible to do something similar now, saying: “It’s not too hard to create a function in LSL to do that, Jenna … you’d just move along your path 4m in X or Y at a time, use llGetParcelDetails() and if the ID changes, then check if you can enter”, although as Jenna pointed out, this would require around 64 calls during a region crossing.

There may be further discussion on this idea in the future, with Maestro suggesting Andrew Linden be given a poke on the matter, as a result of his recent work on parcel encroachment.

Meeting Venue Update

Maestro revealed he’s going to be revamping the Server Beta meeting area on Aditi soon. The gym will be going to be replaced with … well … here’s the preview!

Apparently,  attendees will be invited to bring their own chairs / dance poseballs!