SL project updates week 3 (1) Server and viewer + misc items

Simulator User Group meeting (stock)
Simulator User Group meeting (stock)

Server Deployments: week 3, 2014

There are no server deployments this week on either Tuesday 14th (Main channel) or Wednesday 15th January (RC channels). The latter was anticipated to be the case, after Maestro Linden indicated there were no maintenance or other projects in the RC pipeline during the Server Beta meeting of Thursday January 9th.

While it had been thought that issues relating to STORM-1831 were not sufficient to prevent the RC package deployed in week 2 from being promoted to the Main channel, the decision has been taken to allow the package to run a further week on the RCs.

Week 4 Deployments

It now seems as if the plan is to deploy the RC maintenance project to the Main grid in week 4 (week commencing Monday January 20th), and to issue a new server maintenance project on the Wednesday of that week, although details on this have yet to be finalised.

SL Viewer

The Project Interesting viewer with the viewer-side interest list changes (notably the changes to how region information is cached and re-used by the viewer) gained a further update on Tuesday January 14th, with the release of release candidate 3.6.14.285213, which includes a number of additional bug fixes – see the release notes and download page.

STORM-1831: LSL Syntax Highlighting

This contribution by Ima Mechanic will allow LSL syntax highlighting in the viewer’s LSL editor to be updated and defined using a file obtained directly from the simulator the viewer is connected to, with the intention to eliminate issues of the viewer using outdated versions of the file. The server-side updates for this work are currently deployed to all three RC regions. However, as of the end of week 2, additional work was required on the syntax file itself.

In addition, there are a number of issues which are currently being addressed with the viewer-side code. These are listed on the JIRA for the project – STORM-1831, and require resolution prior to the code being issued  in a release candidate viewer. Most of these are currently being worked on, and are not seen as major show-stoppers, but will delay the code’s appearance in the short-term.

Other Items

Values for brush constants in calls to llModifyLand

One issue which has (again) been raised through STORM-1831 is that the values for brush constants in calls to llModifyLand, used for scripted terraforming operations, are out by 1 each (they are set to 1, 2, 3 and should be 0, 1, 2). This means that, for example, a call using LAND_SMALL_BRUSH will edit an area of 4×4 metres, not 2×2. The wiki documentation for the function notes the error as well. As a result of discussing this issue in the Open-source Developer’s meeting on Monday January 13th, a STORM JIRA was raised to (again) highlight this issue (STORM-2006).

However, as the issue itself is actually related to either STORM-1831 per se and because it will actually require server-side changes, the issue is liable to be moved to a BUG status and triaged from there.

Snapshot uploads to the SL Feeds

“It has to do with authentication under the hood when getting the credentials and then using them to fetch the snapshot config info,” Simon Linden said at the Simulator User Group meeting on Tuesday January 14th. The problem is still being worked upon for those still affected by it (I am), but there is currently no ETA as to a complete fix for the matter.

With thanks to Mona Eberhardt for the meeting notes.

SL projects update: week 2 (2): Fitted mesh, breedable issues and [L4L]-Gestures & Walkers (Freebies) <3

Week 2 Deployments – Recap

  • On Tuesday January 7th, the Main channel  received the server maintenance project that had been on the RC channels for the past few weeks. It contains a single bug fix, related to vehicles becoming stuck in the ‘sat upon’ state (which prevents parcel auto return)
  • On Wednesday January 8th, all three RC channels received a new server maintenance project, which contains some crash fixes and the new LSL functions for uniformly scaling linksets, all of which are immediately accessible using current viewers (see part one of this week’s report for details).  This project also contains updates related to STORM-68 and STORM-1831, both of which require viewer-side updates which have yet to be released by the Lab.

LSL Syntax Highlighting Updates

Related to STORM-1831, these updates, which were deployed to the RC channels as noted above, will eventually see the viewer able to fetch LSL syntax highlighting rules directly from the simulator. However, there are currently some errors in the syntax file as deployed to the RC channels this week (repeating text, bad whitespace, or inaccurate definitions of functions), which require further corrective work. As there is currently no publicly available viewer which can use this new capability, it is unlikely this issue will prevent the server maintenance project from being promoted to the Main channel in week 3.

The file is designed to be cached by the viewer (once the viewer-side updates are released), and is around some 600KB in size. This means that the file should only ever be downloaded and updated if the LSL editor is open, and the viewer detects a version number difference between the file it has cached and the file held by the simulator to which it is connected.

It is unclear when the viewer-side updates for this work will appear. While planned to arrive in a release candidate viewer containing a number of Snowstorm updates, it appears there are still a few bugs in the STORM-1831 code, such as with function arguments being presented in an incorrect order in the tool tips, which may delay its inclusion.

Week 3 Deployments

It is likely the server project currently on the three RCs will be promoted to the Main channel in week 3 (commencing Monday January 13th). However, it is also likely there will be no RC updates for the week, as there are no server maintenance updates ready to go, and no other projects (such as group ban lists) are in a position to be deployed.

The first Server Beta UG meeting of 2014
The first Server Beta UG meeting of 2014

Viewer News

Release Viewer

Thursday January 9th saw the PackageFix viewer (dated January 2nd, 2014) promoted to the de facto release viewer. As per pervious notes in this blog, this viewer has no SL-related functional updates. Rather, it corrects an issue introduced with the 3.6.12 code base whereby the Windows executable name was changed from “SecondLife” to “SecondLifeViewer”, without removing any executable using the “SecondLife” name from the installation folder. As a result, any shortcuts pointing to the “old” executable would allow it to run if used, thus potentially triggering further auto-updates.

With this fix, any executables using the old name (“SecondLife”) are removed from the installation folder, so any shortcuts created to them will cause Windows to display an error message, and the user can then remove them or modify them to point to the correct executable.

Fitted Mesh Progress

Oz Linden is anticipating a release candidate of the Fitted Mesh viewer Real Soon NowTM. There are currently no open issues at present, and work is underway to move it to a release candidate status. Exactly how soon “Real Soon Now” might be, however, is a little up in the air, as Oz went on to note at the Open-source Dev meeting on Wednesday January 8th, saying, “there are a bunch of steps [still to be taken] and I don’t know how long they’ll end up taking.”

Continue reading “SL projects update: week 2 (2): Fitted mesh, breedable issues and [L4L]-Gestures & Walkers (Freebies) <3”

SL projects updates week 2 (1): server releases, AIS v3

The first Simulator User Group meeting of 2014
The first Simulator User Group meeting of 2014

Server Deployments: week 2, 2014

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

Main Channel: Tuesday January 7th

The main channel received the server maintenance project that had been on the RC channels for the past few weeks. It contains a single bug fix, related to vehicles becoming stuck in the ‘sat upon’ state (which prevents parcel auto return).

This issue is related to vehicles getting into a “bad” state if they lose the passenger right at region crossing. The vehicle is left with what is effectively a “ghost rider” sitting in it, which defeats parcel auto return, leaving the vehicle in-world.

Release Candidate Channels, Wednesday January 8th

All three RC channels should receive a new server maintenance project, which contains some crash fixes and the new LSL functions for uniformly scaling linksets.

The uniform scaling project was one of the last projects Andrew Linden worked on prior to departing the Lab at the end of 2013. The new functions comprise:

  • integer llScaleByFactor(float scaling_factor)
    • Uniformly resizes the linkset by the given multiplicative scale factor (e.g. 2.0 to double the scale in all dimensions)
    • Returns TRUE if rescaling was successful or FALSE otherwise
    • This function only succeeds in non-physical objects
    • Rescaling is subject to Linkability_Rules and prim scale limits
  • float llGetMinScaleFactor()
    • Returns the minimum multiplicative scale factor which can be used by llScaleByFactor(); i.e. such that every prim in the linkset is >=1mm in scale
  • float llGetMaxScaleFactor()
    • Returns the maximum multiplicative scale factor which can be used by llScaleByFactor(); i.e. such that every prim in the linkset is <=64m and the resulting linkset meets linkability requirements

In addition, the RC project includes server-side support for custom default permissions on newly created objects. This is again some of the last pieces of server-side work Andrew Linden was involved in prior to his departure, and forms the server-side work related to STORM-68.  The viewer element of this work is a third-party code contribution from Jonathan Yap, and should be appearing in a Snowstorm RC viewer in the near future.

Finally, the RC project also contains the server-side work to allow to fetch LSL syntax rules directly from the simulator, rather than downloading them from a manually maintained file. This should enable up-to-date syntax highlighting within the script editor. This work forms a part of STORM-1831, which is a third-party viewer project developed by Ima Mechanic. Again, the viewer-side updates should be appearing in a Snowstorm RC viewer in the near future.

Sunshine AIS v3

During the Content Creation meeting on Monday January 6th, Nyx Linden reported at the next round of server-side changes for the Sunshine / AIS v3 updates are currently being “queued-up” ready for deployment – although not day is as yet available for when they’ll actually see the light of day.

In the meantime, the viewer-side changes are progressing, and are “nearing readiness for release as a test viewer. Those who have been following my AIS updates will know that the Lab has been encouraging TPVs to adopt the viewer-side code updates for use in experimental versions of their viewers, as LL would like to run a pile-on test to test the new AIS updates and inventory handling using regions on the Beta (Aditi) grid. There had been hopes within the Lab that such testing might take place prior to the end-of-year holidays, so expect to be hearing more on this in the near future.

Other Items

Snapshot uploads to the SL Feeds

As many are aware, there have been numerous issues with the SL profile feeds (my.secondlife.com), including issues around uploading snapshot to the feeds.

The problem, which first surfaced prior to the Christmas break, has not affected everyone using the feeds, but those who have been impacted have found it to be most irritating. Simon Linden poked at it, and as a result some people who were impacted were once again able to upload their images. However, for a good number, the problem still remains. As of January 7th, the situation remains that the Profiles team is still attempting to resolve the issue.

SL projects update 2014 week 1 (1): HTTP project viewer arrives

It’s the first week of the year and the Lab is already busy on the viewer front.

New Release Candidate: PackageFix Viewer

Thursday January 2nd saw a new release candidate viewer enter the release channel. Version 3.6.13.284995 is described as Second Life PackageFix Viewer. This update fixes an issue introduced with the 3.6.12 code base whereby the Windows executable name was changed from “SecondLife” to “SecondLifeViewer”.

As any executable using the old name (“SecondLife”) was not removed as part of the 3.6.12 installation process, problems could result when using old shortcuts pointing to the old executable, rather that the new version, which would then run and could then trigger a further auto-update, again without removing older executables or shortcuts.

With this fix, any executables using the old name (“SecondLife”) will be removed from the installation folder, so any shortcuts created to it will cause Windows to display an error message, and the user can then remove them or modify them to point to the correct executable.

HTTP Project Viewer

Monty Linden's HTTP project viewer arrives
Monty Linden’s HTTP project viewer arrives

Monty Linden’s long-awaited HTTP project viewer surfaced from QA on Friday January 3rd. Part of the ongoing HTTP project work, version 3.6.13.284698 contains three headline updates:

  • Experimental Fix for Long-Standing DNS Problems: the mechanism used to perform DNS look ups has been changed from an application-hosted DNS resolver to a combination of threads and the host operating system’s resolver.
  • Mesh Download with Better TCP Connection Behaviour: this release of the viewer reduces by 75% the number of connections used for downloading meshes. It also reuses these connections more effectively further reducing network demands. Those who have experienced connectivity problems from router instability or other networking problems may see a significant improvement.
  • General Reliability Improvements in Mesh Upload and Download: a great deal of work has been put into the mesh upload and download code. Better error handling, less frequent request retries, removal of many thread issues and fixes for numerous smaller bugs are a part of this release.

Among the changes, this viewer sees the introduction of the new GetMesh2 capability, together with its associated debug, mesh2MaxConcurrentRequests, which are designed to reduce the number of concurrent number of mesh connections from 32 to 8, but which adds keepalive functionality and improved retry logic, and which see the number of viewer / server connections which can be requested by the viewer clamped to prevent individual users overloading the server-side capabilities, as explained back in my 2013 week 36 and week 34 reports.The new capability will run alongside the existing capability as things are transitioned-in to SL.

More news on this project viewer to follow.

New Merchant Outbox Project Viewer

Arriving on Thursday, January 2nd, the Merchant Outbox project viewer, version 3.6.13.284731, is described as including fixes for accurately detecting Merchant status and improves recovery for Merchant Outbox errors. As such, it addresses the following problems:

  • Merchant Outbox viewer crashes on Exit on Windows 7 (ACME-1219)
  • User needs to click OK twice to dismiss Merchant Outbox notification (ACME-1220)
  • Merchant Outbox Initialization fails with 404 error with new account in Merchant Outbox viewer (ACME-1221)
  • Merchant Outbox panel unusable and unrecoverable if outbox folder disappears (MAINT-2287)
  • Send to Marketplace from Merchant Outbox says it fails when it doesn’t (MAINT-2301)
  • Merchant outbox with genuine failure “409 conflict” causes all further imports to fail (MAINT-2452)
  • Merchant outbox: Second Life 3.6.8 (282375) build – results when user has a merchant outbox misplaced in inventory (MAINT-3319)
  • Viewer crash when deleting trash which contains Merchant Outbox (MAINT-3320).

Those who have experienced any of the above issues when using the Merchant Outbox might want to try-out this project viewer – but do keep in mind it is a project viewer.

Related Links

SL projects Update week 51 (1): Group bans, viewer, misc news

As a reminder, there are no scheduled server-side deployments or restarts due to take place prior to Tuesday, January 7th, 2014.

Upcoming Server Deployments

Andrew Linden - departing LL
Andrew Linden – departing LL

Andrew Linden, in his last appearance at a User Group meeting – indeed, in possibly his last public appearance prior to his departure from Linden Lab – gave further information on the uniform scaling functions for objects and linksets he’s been working on.

In particular, he described a third function  – llScaleByFactor(float) – which sits alongside the two previously reported upon in part 3 of my week 50 report. So taken together, all three functions are:

  • integer llScaleByFactor(float factor):  uniformly scale a linkset by the specified factor (e.g. 2.0 to double the scale).  Returns TRUE if successful, FALSE otherwise
  • float llGetMaxScaleFactor(),   float llGetMinScaleFactor(): return the maximum / minimum scale factors that will work in llScaleByFactor due to limits in place by prim scale and linkability distance restrictions
  • llScaleByFactor(float) returns TRUE if the scale change succeeded.

The new functions do not require any viewer-side update, and have already been added to the server-side LSL syntax file, although they will not actually be deployed to the main grid in an RC release until 2014. In the meantime, those wishing to test the functions can do so on Aditi in the following regions: Balance, Boardman, Borrowdale, Hawkshead and Mayfair.

SL Viewer Updates

The Google Breakpad release candidate viewer won an exception to the code freeze which came into force on Monday December 16th, reappearing in the release candidate viewer channel as version 3.6.13.284710.

The build, dated December 13th, 2013, was allowed a free pass and added to the Alternate Viewer wiki page on Monday 16th December as it contains no actual functional changes to the viewer. Rather, it contains an update to Google Breakpad and restructures the crash reporting mechanism to support out of process crash reporting. The  changes are intended to give LL’s development team more call stacks from crashes more frequently in order to improve the triaging and debugging of crash-related issues.

Group Bans List

Obligatory Baker Linden shot :)
Obligatory Baker Linden shot 🙂

Baker Linden provided an update on his group ban list work. As per my week 46 report, he is going with the approach whereby granting a role within a group the ability to ban people from the group will automatically give that role both the “Eject Ban Members” AND “Remove Roles from Members” abilities as well.  However, it will not be possible to remove either the “eject” and “remove” capabilities from a role using the “ban” ability without first disabling the “ban” ability.

He’s also added server code  that will automatically eject a member, as long as the ejector has both the “eject” and “remove roles” abilities.

This means someone with both abilities no longer has to manually remove all the roles assigned to a group member prior to ejecting them, making the ejection process a lot more streamlined.Or at least, that’s the idea once implemented; right now the code has a small “oopsie” in it, as Baker explained, “Of course, in its current state, it will eject regardless of the two roles… which I’m working on fixing now 🙂  Somewhere down the line I did something wrong…”

There’s no timescale as to when the group ban work will appear. From Baker’s comments, it would seem as though the initial QA testing has now finished, allowing him to focus more on the viewer-side updates. Expect to see the results in a project or release candidate viewer before we’re too far into 2014.

Other Items

Disappearing Dwarfins and More

Judy Chestnut and Dante Spectre of Dwarfins fame attended the Simulator User Group meeting on Tuesday December 17th to report a worrying issue which has been affecting Dwarfins, as well as other breedable creations, which sees them suddenly vanishing from regions. Of those that vanish, some of which turn-out in the user’s Lost and Found folder, others reappear elsewhere in the region and others vanish completely.

Reporting the issue, Spectre indicated that his observed tests revealed that of those breedables which vanish, around 10% turn up in his Lost and Found folder, around 10% turn up somewhere else on the region, and the rest simply disappear, never to be seen again. Interestingly, those that are returned to Lost and Found do not appear to generate the notification normally seen following an object return.

Dwarfins (and apparently other breedables) have recently been inexplicably vanishing from regions
Dwarfins (and apparently other breedables) have recently been inexplicably vanishing from regions

The problems seem to have started around two weeks ago, immediately following the server deployments, although whether the issue is linked to a specific update is unclear, and neither Simon nor Andrew could see anything within the deployments which could explain the issue.

In terms of Dwarfins, the problem has been witnessed on regions running on both the Main (SLS) channel and on the Magnum RC. Regions affected include Dwarfins Rock, Rossavik, Hidden Sanctuary, Hawthorn Estate, and Bull Island, among others.

Andrew Linden has suggested that Dwarfins Rock is cloned on Aditi, where the behaviour of the region can be monitored closely. Should Dwarfins vanish from it, the Lab will then be in a better position to dig-in to data gathered from the region and hopefully determine what may be going on.

In the meantime, if you have noticed similar behaviour with any breedables of your own, consider raising a bug report.

LSL Materials Functions

There have recently been renewed calls for materials processing to gain additional scripted support so, as an example, normal and specular maps could be animated independently to one another / the diffuse (texture) map on an object. In fact, requests for such capabilities have been raised periodically since materials was first announced.

While the capability has not been officially ruled out, it is not at all clear when it might appear – if indeed it will. Commenting on the subject at the Content Creation User Group meeting on Monday December 15th, Nyx Linden said, “Scripted materials would be more difficult than you would think.” To which Oz Linden added, “There are some non-obvious complexities with scripted materials properties. We don’t have that in a plan yet, but we know that people would like it.”

So, for those hoping for scripted control of materials, it would appear to be some way off at the very least.

SL projects update week 50 (3): miscellaneous items

Server Deployments week 50 – Recap

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

  • Tuesday December 10th, 2013 saw the main channel updated with the server maintenance project that was on the RC channels in week 49.  This project includes a few miscellaneous bug fixes
  • Wednesday December 11th, 2013 saw the three RC channels updated with a new server maintenance project containing a single bug fix.

The RC channel bug fix is related to vehicles getting into a “bad” state where they appear sat upon / selected even if they have lost their passengers as a result of a region crossing. When in this state, they defeat the parcel / region auto return.

As the fix for this issue is currently only on the three RC channels and will not be promoted to the main channel until 2014 due to the code freeze / no change window, and because this issue may lead to vehicles accumulating in regions where there is a lot of traffic, Maestro Linden has requested that support move any main channel regions which are affected to an RC channel.

2014

These deployments were the last scheduled deployments for 2013. They also mark the last scheduled rolling restarts for the year as well, as there are no plans to restart any channels in either week 51 or week 52. The only exception to this will be if any major issue / fault occurs within the grid which necessitates a restart.

The next scheduled server-side deployments will take place in week 2 of 2014, the week commencing Monday January 6th, 2014.

Some information on updates which will be forthcoming in 2014 were given during the final Server Beta meeting of 2013. These include:

  • Andrew Linden’s work on “Uniform Scaling” LSL Functions for linksets (see part 1 of this week’s report). There are a couple of basic rules with the new functions: no prim in the linsket can be smaller than 1 cm or larger than 64m, and all prim centres must be within 54m of one another in order to be linkable. There will be two new functions as a part of this work:
    • integer llScaleByFactor(float factor):  uniformly scale a linkset by the specified factor (e.g. 2.0 to double the scale).  Returns TRUE if successful, FALSE otherwise
    • float llGetMaxScaleFactor(),   float llGetMinScaleFactor(): return the maximum / minimum scale factors that will work in llScaleByFactor due to limits in place by prim scale and linkability distance restrictions
  • An update to llLoadURL, so it will have a 0.1s delay instead of 10s (although there is still a throttle in place to prevent someone from spamming somebody else in order to crash their viewer)
  • llGetObjectDetails() & OBJECT_STREAMING_COST will be amended to return data when targeting an agent. Currently, OBJECT_STREAMING_COST doesn’t give you much of anything when targeting an agent; once this change is in place, it will return the sum of the streaming costs of all worn attachments (excluding HUDs)

SL Viewer

The “Project Interesting” (viewer-interesting) RC viewer updated on Thursday December 12th to version 3.6.13.284757, which includes a number of fixes from the initial release:

  • BUG-4675 Viewer crashes while reading chat history
  • SH-4606 Interesting: Small objects do not load until they are very close.
  • SH-4627 [INTERESTING RC] “Object out of range” is not detected on teleport.
  • SH-4631 [INTERESTING RC] Parts of linked objects are not shown in new release Second Life 3.6.11
  • SH-4641 Interesting: Incorrect amount of system memory detected on Mac

This may be the last RC update for 2013, unless something like the Google Breakpad RC is slipped out for another round of testing on Friday December 13th.

STORM-68

As noted in part 2 of this week’s report, STORM-68 is a third-party contribution which will allow a builder / creator to specify the default permissions applied to a new prim object (cube, cylinder, torus, etc.) on creation. Further testing has been taking place since my last update, and a number of issues and bugs have been resolved as a result. The test plan for the changes is complete and the viewer-side changes now look ready to go to LL’s internal QA. Again, this change requires server-side updates, so it is unlikely to appear in an RC viewer until the server updates are reasonably available on the grid, although this will hopefully happen in the early part of 2014.