SL projects update week 12 (2): server, interest list, region crossings, particles

Server Deployments – Week 12

The planned server deployed went ahead as scheduled and as follows:

  • Second Life Server (Main channel): on Tuesday 19th March, the SLS channel received the server maintenance package which had been re-deployed to Magnum in week 11. As with the Magnum re-deploy, it excludes the fix for VWR-786 while LL go “back to the drawing board” to try to correct issues. However, it does include the following two fixes:
    • BUG-1612: region Owners and estate managers finding they are unable to teleport back to their region after disabling direct teleports to the region
    • SVC-8019: region visibility delays following region restarts.
  • Release Candidate channels: on Wednesday 20th March, the three RC channels received the following updates:
  • BlueSteel and LeTigre: received the same updates as deployed to the SLS channel on Tuesday March 19th, but otherwise retain the same updates received in week 11 – release notes (BlueSteel)
  • Magnum: should receive further updates to Andrew Linden’s interest list work, as per the release notes.  Specific interest list bug fixes included with this update comprise:
    • Updates for objects that are out of view are delayed for a maximum of 5 seconds, at which point they will be sent (mitigates BUG-1779)
    • Fix for “No object updates from vehicles after some region crossings” (BUG-1814) – see below
    • Fix for “Agent appears in incorrect position to other agents after being moved by a sim teleporter” (BUG-1795).

Interest List Updates

Vehicle Crossings

The Magnum RC channel received a potential fix for the vehicle crossing issues (BUG-1814) which have been experienced by many of late, and which appears to have been a major step in the right direction, going on feedback posted to the deployment thread on the forums.

Essentially, the problem lay in the fact that the recently deployed interest list code has only been updating the viewer with information relating to objects within the camera’s field-of-view. If an object moves out of the field-of-view for more than a few seconds, then updates cease until such time as it re-enters the field-of-view.

Where this becomes a problem when crossing a region in a vehicle, is that when transferring between regions, the camera position is effectively extrapolated first, and any vehicle the avatar is attached to is created “behind” the camera by the simulator just entered. Thus, to the interest list code, the vehicle is “outside” the camera’s field-of-view, and so updates on it are no longer sent to the viewer, and problems result.

The updated interest list code deployed to Magnum ensures updates relating to any object an avatar is sitting on are always maintained (or “subscribed to”, to use the official term) by the interest list code, regardless as to where the vehicle appears to be relative to the camera position. Thus, updates continue either side of a region crossing, allowing control of the vehicle to be maintained.

I took time out to test the code fix, with the aid of Erick Gregan, on Thursday March 21st and we agreed that for aircraft at least, it looked good – neither of us encoutered problems.

Flying a Spitfire XI by Erick Gregan over the four Magnum Sandbox regions, I encountered no isues with sim crossings
Flying a Spitfire XI by Erick Gregan over the four Magnum Sandbox regions, I encountered no issues with sim crossings

Those wishing to test the updated code across region boundaries with aircraft or ground vehicles can do so by visiting the Four Magnum Sandbox regions (accessible to members of the Beta Tester SL group – which is free to join). The update itself will hopefully be deployed to the entire grid in the week 13 deployments.

Object Updates

The lack of updates being received from objects outside of the camera’s field-of-view have resulted in other issues as well, which are also fixed in the Magnum release.

For example, if you are looking at a cube which is changing colour between red and blue every few seconds, and turn your camera so that it is outside your field of view and wait for it to turn blue before camming back, the cube will briefly still appear to be red in your view before suddenly changing to blue. This is due to the fact that when the cube is outside your camera’s field of view, the updates associated with it are no longer sent to your viewer until such time as it re-enters your field of view.

With the updates deployed to Magnum, updates for objects outside your field of view are once again sent to the viewer – but at  a very low rate (around one update every 5 seconds). While this uses a little more bandwidth then sending no updates at all, it also means that objects in a state of change behave more predictably when camming away from and back to them (BUG-1779).

Cacheable Objects

The Magnum update also implements the first set of changes to the re-use of cacheable objects held by the viewer in order to speed up rezzing / rendering. These changes take two forms: a change in what can be cached in the viewer, and a change the order in which things are rendered.

Up until now, any object or item containing a script was considered non-cacheable by the viewer, whether or not the object itself has changed at all.  So if the object disappears (because you teleport away from the region, for example), then all data relating to that object is discarded by the viewer, and has to be re-obtained from the simulator on re-entering the region, which slows rendering.

Continue reading “SL projects update week 12 (2): server, interest list, region crossings, particles”

SL project news: week 3 (1): Servers, Materials, Baking and more

Update 19th January: As is being reported in the deployment thread in the forums, further issues are arising with search, and also problems with scripted vehicles (as Wolf also nones in the comments for this article. Those using regions running on Magnum are advised to keep an eye on the deployment thread for news on issues as they are investigated by other users / feedback from the Lab.

Update 18th January: An issue has ben reported with Magnum regions no longer being listed in the main search floater, although shops, etc, within a Magnum region are still listed. The problem does not extend to the world map search. Maestro Linden has filed a bug report. A rolling restart of all LeTigre and BlueSteel regions commenced at 10:00 SLT due to instablility issues being reported with the regions. The restart will comprise a roll-back of server code on BlueSteel and LeTigre to 12.12.18.268345.

Deployments for Week 3

After the issues encountered last, week, there was no main channel release on Tuesday 15th January, 2013.

Changes also occurred with the RC channel deployments. As fixes for the threaded region crossing problems were not ready for release, this was removed from the schedule and replaced by a maint-server release. Then, a network hardware error forced the RC deployments to be postponed until Thursday 17th January.

The roll-outs duly took place on the 17th, and comprise:

BlueSteel and LeTigre received the interest list improvement project. Originally scheduled for Magnum in week 2, but was held up due to a last-minute bugs, this  update should reduce the bandwidth usage of viewers due to object updates, and should improve simulator performance, especially in sims with many connected avatars – release notes here (BlueSteel).

This release received an additional bug fix, related to seated avatars temporarily vanishing from other avatars’ view when  crossing between regions. This fix may have led to the server release notes as reported and wiki pages for BlueSteel and LeTigre slipping out of sync with the actual code release (this has now been corrected subsequent to my pointing it out to Maestro Linden).

Magnum received a new server maintenance project, which mostly contains bug fixes, together with the following:

  • Server-side code to support “neck” and “center” attach points, which didn’t get rolled out when these were added to the viewer (but which now also require a minor change to the viewer, which is forthcoming)
  • An update to improve the effectiveness of estate bans (i.e. preventing banned avatars returning)
  • An update for builders, which covers SVC-7996 and as a part of STORM-68 (ensuring all created items have the default permissions set within the viewer). This particular fix ensures that scripts created using the New Script button in the build floater inherit the permissions set within the viewer, rather than server-defined defaults
  • An update to how abandoned mainland is handled, as the automated buy-back option for abandoned land is being eliminated (see: Abandoned Land in the Knowledge Base)
  • Release notes here.

Deployments for Week 4 (Commencing Monday 21st January)

There is no major news on releases for week 4, other than the threaded region crossing code now has fixes for the last-minute issues which prevented its roll-out in week 2, so this should be on one of the RC channels for deployment on Wednesday 23rd January.

SL Viewer

The release version of the SL viewer rolled to the 3.4.4 codebase on Tuesday January 15th, with the release of 3.4.4.268864. See the release notes for details of updates and fixes.The development viewer is rapidly progressing through a series of releases, with 3.4.6.269073 released on January 15th, followed by 3.4.6.269108 on January 17th.

After a series of development version releases, the CHUI project viewer also moved to the 3.4.4 codebase with the release of version 3.4.4.268981, also on January 15th. The Development version of CHUI continues to keep pace with releases from viewer-development.

Server-side Baking

Work is continuing on avatar baking (otherwise know as server-side baking or Project Sunshine), with Nyx Linden reporting at the Content Creation User Group on Monday 14th January that the team has, “Been a bit heads-down focusing on some bug-stomping.”

Concern is growing that, since the initial release of the Sunshine Project viewer a month ago, there have been no further updates to the viewer-side code, despite extensive feedback from TPVs, which  – in the words of one developer – is not conducive to enabling everyone to adopt the latest code and get ready for the baking service within anticipated time frames (i.e. mid-to-late February).

Nyx has acknowledged the problem, and hopes that the Sunshine code will be merged-up to the latest viewer development code soon, together with verification that nothing has been broken as a result. In the meantime, and away from the SL viewer itself, Henri Beauchamp reported that he has server-side baking working in the experimental branch of his Cool VL viewer.

A further concern with the project is the manner in which JIRAs are being handled since last year’s changes to the system. Raised issues are effectively being cloned, with one version sitting internally to LL and “hidden” from general viewing, with the cloned version available for public viewing and update. This has resulted in worries that cooperation between TPVs and LL in resolving issues related to the Sunshine project could be hampered if the cloned public JIRA are not properly updated whenever LL update the internal versions of the same issues. Nyx Linden has promised to work to ensure that all cloned public JIRA are kept up-to-date.

Materials Processing

The server-side code for this is “inching towards” a point where it will be ready for deployment to an RC channel. When this will be is unclear, but it is likely to be ahead of any project viewer emerging from the Lab.

Concern is still being raised over the need to run the viewer in deferred mode in order to see materials processing in action once it has been rolled-out onto the grid. Some of this concern may be down to the confusing way in which deferred mode is labelled in the Graphics tab of the viewer preferences (“Lighting and Shadows”), with people thinking they must have shadows running in order to be in deferred mode (i.e. with the Shadows drop-down set to either Sun/Mon or Sun/Moon + Projectors). However, the viewer is running in deferred mode even with the drop-down set to None.

Continue reading “SL project news: week 3 (1): Servers, Materials, Baking and more”

SL project news week 43/1: Server updates and llHTTPRequest

SL Server Updates

A brief start-of week update with an important item on the LSL llHTTPRequest function.

Tuesday October 23rd saw an update to the main channel which should have minimal impact on things, “It’s a change that should make simulators run better on our new hardware,” Simon Linden explained at the Simulator User Group meeting on the 23rd.

Wednesday 24th, as previously indicated, should see the RC channels updated as follows:

  • Magnum should receive bug fixes together with Baker Linden’s Group Services project code (the viewer side of which is still blocked)
  • LeTigre should receive further updates for the new Havok code (which presumably include fixes for the crash loop situation Maestro reported in the Server Beta UG meeting (see above)
  • BlueSteel should receive, “Some more invisible changes that should help us deal with some problems like full disks that make servers very unhappy.”

Details on the deployments are, as usual, posted in the Second Life Server section of the Technology forum.

Third-party Web Caching and llHTTPREQUEST

Kelly Linden indicated that the updates to LeTigre in week 42 had some library updates. One of these updates was to the cURL library which changed its behavior specifically around caching.

Until now, outgoing requests on have a Pragma: no-cache header in them, because cURL added this to all requests, and thus ensured fresh data was returned. The change made to the cURL library on LeTigre means that this is no longer the case, so if the third-party web server has caching enabled, any outgoing llHTTPRequest might return previously cached results from the server, rather than fresh data.

Kelly noted that, “Systems that are most likely to be affected are those that frequently hit the exact same URL and expect the data to change. Maybe they are getting a counter or checking on something’s status, leading to problems with the likes of breedables dying, and so on.”

A workaround for this has been implemented for the llHTTPRequest in the form of a HTTP_CUSTOM_HEADER flag, which enables Pragma: no-cache to be specified manually.

While there have currently been no reports of this or similar happening so far, LL are continuing to discuss the potential impact. Further, it is expected that the , Kelly continued, “If anyone uses or develops systems they think *might* be affected please give them a try on LeTigre this week and let me know. Or if you know others that might, encourage them to test on LeTigre this week. Thanks.”

So, if you have created a product which uses an external web server for updates in the manner described above, etc. (or know anyone that does), you may want to test behaviours on a LeTigre region to see if your product is impacted prior to this change rolling out further across the grid.

SL Issues

Network Traffic and Sim Lag / Crash

This issue has been going on since the start of the month, and appears to affect regions with large numbers of people.

A bug report was raised on the issue (BUG-355), and has been imported by LL as a MAINT issue (MAINT-1682). However, there has been no feedback from LL as to the underlying cause, although investigations are continuing.