SL projects update week 10/1: server, viewer, JIRA

A typical Simulator UG meeting (stock)
A typical Simulator UG meeting (stock)

Server Deployments: week 10

As always, please refer to the server deployment thread in the forums for the latest updates / changes.

Main (SLS) Channel

On Tuesday March 4th, the Main channel was updated with the infrastructure update deployed the RC channels  in week 9.

Release Candidate Channels

On Wednesday March 5th, the three RC channels should be updated as follows:

  • BlueSteel and LeTigre should receive a new server maintenance project which contains the following bug fixes:
    • Fixed a bug in which the server release notes link in “About Second Life” would sometimes fail to appear
    • Fixed a bug in which certain objects had incorrect status when crossing between regions
    • Fixed a crash mode
  • Magnum will remain on the same version as week 9, which comprises the infrastructure update and enables support for a new version of the inventory service, AISv3.  To make use of this new feature, login with the Sunshine Project Viewer.

SL Viewer Updates

The Merchant Outbox viewer appeared as a release candidate (version 3.7.3.287344) on Monday March 3rd. This viewer addresses some of the problems affecting some users when using the Merchant Outbox, as specified in the release notes and my report here.

A new Snowstorm viewer is expected to surface in the viewer release channel as an RC the near future. Among other things, this should contain STORM-1831, which is designed 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. The server-side support for this was deployed at the start of 2014, and the viewer code,  contribution from Ima Mechanic with help from Oz Linden,  has been a little held-up in making its way through the Lab’s QA process. However, referring to it at the Simulator User Group meeting on Tuesday March 4th, Oz indicated the code is now on the “home stretch”.

JIRA Re-opening

There is still no news as to when this week the JIRA will be re-opened. There is also a question as to whether the re-opening will allow all reports to be viewed by anyone, or whether it will only apply to those reports filed once it has been reopened. Note that this is currently a question over the re-opening, not an actual official statement from the Lab. We’ll doubtless learn more once the necessary changes have been made to open-up the JIRA system once more.

Other Items

llSetKeyframedMotion: object stalls and autoreturn defeats

Prior to his departure from the Lab, Andrew Linden was approached by Talarus Luan about issues with llSetKeyframedMotion. Essentially, a number of issues have been reported with objects (such as vehicles) using the function, including:

  • SVC-7556 – Objects with llSetKeyframedMotion() stop running after region restarts (Talarus’ issue)
  • SVC-7787 – Objects using llSetKeyframedMotion() can defeat a parcel’s autoreturn if they travel to and from another parcel
  • BUG-1624

Responding to the issue of SVC-7556, Simon Linden said, “suspending in the middle of KF motion and resuming with that huge time jump sounds really ugly. I haven’t tried it, but if you want to code for that, it might be best to detect the region restart event, reset the position and re-start the key frame motion.” In terms of the Lab dealing with it, he admitted, “given the other things that need attention, it’s not likely to get to the top of the list soon.”

With regards to SVC-7787, his news was in a similar vein, “That is how parcel timing is designed … it measures the current time in the parcel, so if you leave and come back, it’s reset. So there’s a loophole there, yes … and I don’t think we’ve come up with a good alternative. “

SL projects update week 9/3: viewer, Vivox and Fitted Mesh

Server Deployments: week 9 – recap

As always, please refer to the server deployment thread in the forums for the latest updates / changes.

On Tuesday February 25th, the Main channel was updated with the server maintenance package previously on all three RCs, which comprises the following:

  • Fix for BUG-5034 “If an EM restarts a region and then teleports out immediately, the EM will disconnect just after teleport”
  • Fixed a rare case in which e-mails read by LSL scripts immediately after rez or region change would sometimes be missing the message body
  • Fixed some crash modes.

On Wednesday February 26th, the BlueSteel and LeTigre Release Candidate channels were updated with an infrastructure update, with no functional changes. The Magnum RC received the same infrastructure update and had the server-side AIS v3 code is enabled. As noted in part 1 of this report, the new AIS code is designed to improve performance and reliability when changing outfits, but is reliant on new viewer code, which is currently available from the Lab in the Sunshine Project viewer (of which mor below), and will doubtless start appearing in TPVs soon.

While no details were given, the infrastructure updates deployed to the RC channels are apparently system changes to make simulators easier to manage.

TP Developer Meeting Video

A TPV developer meeting took place on February 28th. The core items discussed in the meeting are reported below, with timestamps in the relevant paragraphs indicating the point at they are discussed in the video embedded here. My thanks as always to North for the latter.

SL Viewer Updates

Release Candidates

  • The “Project Interesting” interest list RC  viewer updated to version 3.7.3.287127 on February 26th
  • The Maintenance RC viewer updates to version 3.7.3.287263 on February 27th.

[0:29] These updates put both of these viewers on a par with the current release viewer, and both are doing “well” in terms of low crash rates, but as Oz Linden said at the TPV Developer meeting on Friday February 28th, “it’s still early days”.

Upcoming Release Candidates

[0:43] The Google Breakpad viewer is expected to reappear as a release candidate “pretty soon”. The last version of this viewer had significant issues related to Windows XP, and so a “different tack” will be taken to handling XP and older versions of Windows with the next update, XP itself having a “truly horrific” crash rate for the viewer. However, and to ease any concerns,  the “new tack” doesn’t involve blocking Windows XP systems from accessing Second Life.

[2:33] The Breakpad update is described as being “important” for TPVs to pick-up and include in their own code, in order to ensure viewers are all reporting stats in the same manner.

[6:48] Both the Sunshine (AIS v3) project viewer and the Merchant Outbox project viewer are expected to move to release candidate status very shortly. These are described as being in the “last stages of the QA pipeline”, and so will be entering the viewer release channel,  once again increasing the number of RC viewers vying for promotion.

Project Zipper Viewer

[7:20] On Wednesday February 26th, the Lab issued the “Zipper” project viewer (version 3.7.2.286810), designed to speed-up viewer installation time (cutting it by roughly 50% in a clean install on my own PC) – from 35.6 seconds to  16.4 seconds. Most of this appears to be the result of compressing / combining files, and there have been questions raised on whether doing so might result in an actual performance hit.

It is anticipated that this viewer will also be shortly rebuilt as a release candidate viewer in the release channel.

Other Viewer Projects

  • [9:12] Group Bans – as I’ve noted in part 2 of this week’s report, the viewer-side code for Group Ban (lists) should be appearing as a project viewer in week 10, ready for the Group Ban functionally to be tested on Aditi
  •  [10:07] Oculus Rift – the Rift viewer is still with LL’s QA team.

Continue reading “SL projects update week 9/3: viewer, Vivox and Fitted Mesh”

SL projects update week 9/2: group bans update

Group Bans, or Group Ban Lists as I’ve tended to refer to them, as some people appeared confused by the term “group bans” and have taken it to mean banning groups from parcels or regions, is nearing a status where it will be ready for testing on Aditi.

“I’ve gotten the backend almost ready for release (I’m waiting on some builds at the moment),” Baker Linden said of the server-side element of his work, while speaking at the Server Beta Meeting on Thursday February 27th. Baker is hoping that the viewer code will be appearing in a project viewer in the course of the next week.

Recap on Functionality

Baker Linden has been working on the ability to ban people from groups for some 10 months
Baker Linden has been working on the ability to ban people from groups for some 10 months

While discussing the project status, Baker gave a recap of the new functionality:

I’ve talked many previous times about group bans, and now that it’s finally boarding the release train, I’d like to just do a quick overview of what known issues are and what it can do:

    • Group Ban provides the ability to permanently prevent a resident from joining your group.  Currently, the limit will be set to 500 bans per group
  • By default, only Owners will have this ability set
  • Owners must then grant the ability to the roles they want to have manage the ban list
  • You can ban members from the “Members” tab of the group panel, and pre-emptively ban residents through the new “Banned Agents” tab
  • The “Roles” tab will allow you to grant the “Manage Ban List” ability to a role.  when doing this, keep in mind that allowing this ability will also automatically grand the “Eject Members from the Group” and “Remove Roles from Members” ability
  • You will NOT be allowed to disable the “Eject” and “Remove Roles” ability while “Manage Ban List” is allowed
  • You will also be able to (hopefully) batch up bans in groups of 100 at a time (through the “Banned Agents” tab). [It’s the] same as inviting residents; it’s the same code, I just refactored it so I could use it for bans too.

In the initial release, group members can only be banned from within the group floater (right-click on a name and click the Ban button), it will not be possible to right-click on a name in group chat and ban the individual; however, this may be added in the future, as it is considered a relatively straightforward addition.

Group Ban will introduce a new tab to the Groups floater, called "Banned Agents"
Group Ban will introduce a new tab to the Groups floater, called “Banned Agents”, allowing group owners and designated roles to ban people from joining a group

A FAQ has been produced, purely for the purposes of testing on Aditi, but which also helps further explain the group ban functionality. This can be found here, but do note that:

  • The instructions apply to the yet-to-be-released project viewer
  • The final functionality of group bans may vary from that described in the FAQ as a result of bugs or issues arising during testing.

In order to function correctly, the ban ability requires that the Eject and Remove Roles are enabled, as Baker explained above. To make this clear, when a group owner grants a role the ability to ban people from the group, a pop-up will be displayed reminding them that Eject and Remove Roles will also be granted. Similarly, when the ban ability is revoked, a message is displayed confirming that both Eject and Remove Roles have also been revoked.

Known Issues / Initial limitations

  • There may be an initial issue with the new capability during initial deployment as the code starts to reach Agni, when there is the “new” and “old” server-side code running on different channels. This may result in someone being able to re-join a group after being banned, simply because the ban was executed on a simulator which does not have the new code. Obviously, once the code is fully deployed to Agni, this will no longer be a problem
  • There is a risk of some “overlapping” bans may not be processed as anticipated. For example, if two people have the ban role, and one bans users A,B, and C and the other C, D, and E at the same time, “C” should be banned, but there is a slight chance this may not be the case
  • If two (or more) people have the ban ability, then their own view of the group member list will not be updated to reflect bans made by others until such time as they refresh the list
  • The list will cap-out at 500 bans. When that limit is reached, someone with the ban ability must remove names from the list in order for new names to be added, otherwise further ban attempts will fail.

Group Bans represents some 10 months of work for Baker Linden, including a large amount of code refactoring on both the server and viewer sides. The capability still won’t be deployed to the main grid for a little while longer, but progress has now reached a point where more widespread testing should be taking place on Aditi, most likely starting in week 10 (week commencing Monday March 3rd). Deployment to the main grid will most likely remain a combination of resolving any unforeseen issues during the more widespread testing on Aditi and on how it takes for the viewer code to progress from project viewer to release candidate to release viewer.

SL projects update week 9/1: server releases, viewer updates

Server Deployments: week 9

As always, please refer to the server deployment thread in the forums for the latest updates / changes.

Main (SLS) Channel

On Tuesday February 25th, the Main channel was updated with the server maintenance package previously on all three RCs, which comprises the following:

  • Fix for BUG-5034 “If an EM restarts a region and then teleports out immediately, the EM will disconnect just after teleport”
  • Fixed a rare case in which e-mails read by LSL scripts immediately after rez or region change would sometimes be missing the message body
  • Fixed some crash modes

Release Candidate Channels

On Wednesday February 26th, the Release Candidate channels should be updated as follows:

  • BlueSteel and LeTigre should receive an infrastructure update, with no functional changes
  • Magnum should also receive the infrastructure update, and in addition have the server-side AIS v3 code enabled (the code having already been rolled-out to the grid – see the AIS section of my week 7 report). This code requires viewer-side updates to work (currently available as a project viewer), and should Improve performance and reliability when changing outfits (see my AIS reports in this blog).

SL Viewer Updates

HTTP Viewer Promoted

The HTTP viewer, version 3.7.2.286707 was promoted to the de facto release viewer on February 25th. This currently leaves just two RC viewers in the release channel: the Maintenance RC (3.7.2.286708) and the Interest List viewer (3.6.14.285213), both of which should  be rebuilt using the HTTP viewer code base in due course.

Sunshine / AIS Viewer

With only two RCs in the release channel, it is possible the Sunshine / AIS viewer may be moved to release candidate status this week. Given that the server-side AIS code is starting to be enabled on the main grid, this viewer could be on course to reach a release status in week 11.

Group Ban Lists

Baker Linden is currently filing for the server-side code to be deployed to Aditi, which he hopes will happen by the end of the week. In the meantime, he describes the status of the Viewer code as, “testing it for compatibility with old viewers and such. Once that’s stable and I know I didn’t break anything, I’ll start filing for the viewer to become a release candidate.”

Other Items

Region Restart Oopsie

The new on-screen region restart warning, accompanied by a sound and camera shake
The new on-screen region restart warning, accompanied by a sound and camera shake

A slight issue has come to light with the recently implemented new region restart alert, now active in the SL viewer and in the most recent updates to a number of TPVs. Essentially, the sound accompanying the 5-minute countdown (and which is played alongside the camera shake at the top of each minute in the countdown) is actually played in-world rather than locally.

The result is that if there are several avatars close together who are using viewers with the new restart alert code, the noise can either be very loud or something of a mess (particularly if some of those users have opted to set custom warning sounds within their viewer).

The fix is relatively straightforward, and will doubtless be incorporated into an upcoming viewer release. In the meantime, the Firestorm team have implemented their own fix ready for the next release of that viewer due in early(ish) in March, which will be the first version of Firestorm to incorporate the new code.

Pocket Metaverse Users Inadvertently Blocked at Weekend

There were a number of reports over the weekend that users on the iOS Pocket Metaverse third-party client were unable to log-in to Second Life, as a result of their hardware being blocked. This caused a number of forum posts on the subject, such as this one and this one, and some upset on Twitter.

It turned out the client was apparently presenting the wrong information to LL’s servers, triggering the hardware block. On becoming aware of the problem, the Lab immediately set about reversing the blocks, and the matter appeared to be cleared-up by the end of the weekend.

The Pocket Metaverse issue caused some users to complain on Twitter, prompting a resonse from Ebbe Altberg
The Pocket Metaverse issue caused some users to complain on Twitter, prompting a response from Ebbe Altberg

SL projects news week 8/1: server, viewer and log-in issue PSA

My apologies for the late release of this update; things have been a little bit hectic, and I’ve been rushing to catch-up on posts and news.

Server Deployments: week 8 – recap

As always, please refer to the server deployment thread in the forums for the latest updates / changes.

  • As there was no update to the RC channels in week 7, there was no update to the Main channel on Tuesday February 18th.
  • On Wednesday February 19th, all three RCs received a new server maintenance package which comprised the following updates:
    • Fix for BUG-5034 “If an EM restarts a region and then teleports out immediately, the EM will disconnect just after teleport”
    • Fixed a rare case in which e-mails read by LSL scripts immediately after rez or region change would sometimes be missing the message body
    • Fixed some crash modes
Maestro Linden
Maestro Linden

The region restart issue (BUG-5034) was described in part 2 of my week 7 report.

Commenting on the e-mail issue during the Server Beta Meeting on Thursday February 20th, Maestro Linden said:

The other bug fix was for some obscure e-mail issue that Kelly found, where e-mails to LSL scripts would be missing their message bodies under very obscure circumstances. Nobody’s filed a bug report about that happening, so maybe nobody ever saw it regularly.

 In this case you’d see the e-mail, and see the subject but not the body. Or rather, I guess the body would be an empty string … I guess you’d only know if you had sent the e-mail yourself.

 According to Kelly, it would only happen during a very narrow time window as the sim was starting up, so I could imagine most people who saw it once just shrugging after the issue didn’t occur a second time.

SL Viewer Updates

  • The Maintenance release RC was updated on Tuesday February 18th to version 3.7.2.286708
  • The HTTP RC was updated on Wednesday, February 19th to version 3.7.2.286707
  • The Google Breakpad RC has been removed from the release channel, having completed this round of tests.

Group Ban Lists

There’s not much more to report here than last week. Commenting on the overall status of the work at the Simulator User Group meeting on Tuesday February 18th, Baker Linden said:

I’m in the last stages of code cleanup and ensuring there aren’t any major bugs (which QA will surely find) and I’m wrapping everything up for deployment to Aditi this week (server-side stuff only right now).

 It’s not clear if the server code did reach Aditi, or whether it may appear in week 9. Commenting on the status at the Server Beta meeting later in the week, Maestro Linden indicated the code was “inching closer to Aditi”, and will be available “as soon as we’re confident that the backend host and simulators are playing nicely. If there’s a bug which is definitely viewer-only, that’s not a blocker for Aditi at all.”

Materials Handling

Scripted Control

The ability to control materials (normal and specular maps) via scripts has been an oft-discussed topic in User Group meetings and the subject of MATBUG-359.  The subject was again raised at the Simulator User Group Meeting on Tuesday February 18th, to which Simon replied, “I’ve been looking into that, and hope to get to it soon, but it keeps getting pushed back with other more immediate issues cropping up.”

One of the concerns with scripted control of materials maps in that if manual changes are made to materials too quickly in the build floater, they will often revert, as if the server is unhappy in receiving  too many quick updates. Commenting on this, Simon added:

That’s an interesting point and something we’ll have to look at after doing the basic scripting change.   If it’s somehow worse than the current scripted texture changes, we’ll have to have some sort of throttle to slow it down.

The question was raised on why normal and specular maps appear to work different to diffuse (texture maps), with the server better able to handle fast changes to textures when compared to normal and specular maps. Simon indicated that both normal and specular maps are handled differently in order to minimise the impact of multiple usage.  Expanding on this is terms of scripted control, he went on:

I was just looking at the materials code, and the complication this has compared to regular textures is how materials have their own layer of special data packaging instead of a just a UUID on a face.  I’m not sure yet how script access is going to thrash that data or not.

There also may be something of a cost / benefit issue within the Lab when it comes to adding scripted control to materials – would the potential uses be broad enough to justify the time required to avoid issues of data thrashing, introducing throttles on updates, etc. Hence Simon asked for some specific examples of where scripted control of materials would be beneficial, so he could carry them back to the Lab’s product managers.

Continue reading “SL projects news week 8/1: server, viewer and log-in issue PSA”

SL project updates 7/3: viewer updates, AIS and misc items

The following notes are taken from the TPV Developer meeting of Friday February 14th, a video of which is included below. My thanks, as ever, to North for the latter. Timestamps relative to the recording are given in braces both at the start of each section and within the text where appropriate.

SL Viewer

Release Viewer Update

[01:20] The Facebook Hotfix RC (version 3.7.1.286557) released on February 12th was promoted to the de facto release viewer on Friday February 14th. Based on the Fitted Mesh viewer code, this viewer has a single fix for a  problem in the in-viewer web browser that made it impossible to login correctly into Facebook. The rapid promotion was made because the issue was seen as obnoxious by those people who have connected their SL and Facebook accounts, and it was felt those who do may want to post Valentines-related messages and images to their Facebook accounts.

HTTP RC

Robbie Monty Linden sports new look
Robbie Monty Linden sports new look

[02:32 and 36:56] As noted in part 2 of this report, the HTTP viewer has been rebuilt using the Facebook Hotfix / Fitted Mesh viewer code to version  3.7.1.286567.

However, it has suffered from the number of RCs currently in the queue, or as poor Monty put it, getting “stuck behind everyone”.  This  viewer has one of the lowest crash rates on record as an RC, and given this, the expectation is that it will be promoted to release status “pretty soon”.

One of the major issues Monty faced with the viewer-side updates was directly related to mesh, and thread race conditions, and he admits that not all of these have been resolved. This is partially due to some of them being  infrastructure-related Heisenbugs, which are time and labour-intensive to resolve. However, they shouldn’t impact the stability of the updates made to date.

Remaining RC viewers

[03:54] The three remaining RC viewers  – the Maintenance RC (3.6.14.285499), Interest List RC (3.6.14.285213) and Google Breakpad RC (3.6.14.285686) are in the process of being rebuilt to the 3.7.1 release code, so updated versions should be appearing in the release channel in the next week (ish).

Project Viewers

[04:23]

  • It is unclear whether the Merchant Outbox project viewer (3.6.13.284731) will move forward or pulled back to have some more work done on it, and it is unlikely to move towards viewer release “any time soon”
  • The Sunshine / AIS v3 project viewer was rebuilt to the 3.7.1 code (Fitted Mesh and the Facebook Hotfix), with a new version (3.7.1.286565) appearing on February 14th. It is anticipated that this viewer will move forward to a release candidate status fairly quickly now that the Facebook Hotfix has been promoted, reducing the number of viewer RC cohorts currently in the release channel.

AIS v3

[05:16 and 14:50] A surprising piece of news passed-on in the meeting was that the AIS v3 server-side code has been deployed across all channels on the Main grid. This initially caused some confusion during the meeting , as there has been no mention of this in any server-side release notes. Nyx Linden queried the situation with the ops tem and received a confirmation that the new AIS capabilities had been deployed to Agni [21:40, via text], but are currently disabled [22:29 via text]. It would seem likely that the capabilities will be enabled once the Sunshine / AIS v3 project viewer moves to release candidate status.

Voice

vivox[07:35] There have been a number of issues with regards to voice in SL, particularly of late. As noted in my week 6 report, there was some recent back-end work carried out which should improve things for those using viewers running with the most recent versions of the voice SDK (SLvoice.exe).

Discussing the matter at the TPV Developer meeting, Oz Linden revealed that Vivox had reached out to the Lab to assist with issues being experienced, and as a result of this underlined the issues with viewers using older versions of the SDK (and which will not see any real improvements to their voice performance as a result). Vivox have requested that TPVs provide details on any older versions of the SDK they are running, and details of specific issues they are encountering, as well as offering encouragement to update.

As a new version of the SDK is due to be released in the near future (hopefully within a couple of weeks), it may prove to be an opportunity for TPVs to update, given it has a number of audio quality fixes and Vivox have offered to assist in dealing with issues being experienced with voice in SL.

In addition to this, Oz is looking to work with Vivox to try to get any new versions of the SDK used by the viewer made available to TPVs at the same time it is made available to the Lab, thus eliminating the need for TPVs having to wait for LL to QA and integrate the package into the LL code prior to being able to merge it into their own code, allowing them to test new SDK releases in parallel with the Lab. These will hopefully include 64-bit binaries of the SDK as well a 32-bit versions.

Group Ban Lists

[48:23] It had been hoped that Baker Linden might be providing an update on the overall status of his group ban list work. However, this was unfortunately not the case, although Oz provided a small update on things, stating that he has been able to sit down with Baker to review the updated viewer code, which is now with QA. Hopefully this means it will be appearing in at least a project viewer in the near future.

Continue reading “SL project updates 7/3: viewer updates, AIS and misc items”