SL project news week 5 (2): servers, issues, viewer, SSB, deformer

Server Deployments week 5

On Tuesday 29th January, the Main channel received the threaded region crossing code previously deployed to BlueSteel and LeTigre in week 4release notes.

On Wednesday 29th January, the following updates were deployed to the Release Candidate channels:

  • BlueSteel received the server-side materials processing code – release notes
  • LeTigre received the maint-server project originally deployed to Magnum in week 3. This deployment includes the bug fix for the places / search indexing issue which occurred following the original deployment of the code to Magnum – release notes
  • Magnum received a further update to the interest list code deployed in week 4, with fixes intended to deal with issues of high packet lossrelease notes.

Reported Issues

Main Channel

A number of initial problems were reported  in the forum discussion thread, Several of which  appeared to be related to initial region caching / capabilities problems which lead to some strange initial experiences for users, ranging from teleport failures / potential viewer crashes on region crossings (physical or teleport) and  out-of-range controlled flight (i.e. avatars could continue to fly under full control when apparently at coordinates well outside the region (e.g. 320, 128, 75). These issues seem to cease once regions were correctly caching following a (protracted) restart period.

There were also some reports in the forum discussion thread that use of the estate tools to eject / teleport home / ban an avatar can lead to a region cross. However, as the reports appear to be the same / similar to previously filed SEC JIRA (SEC-1215 and SEC-1204, neither of which are open to public viewing), and may be an isolated series of incidents (others are not reporting the same problems, so they have not been repro’d outside of the affected region), there is a reluctance within LL to attribute them directly to the region crossing code.

Magnum RC (Interest List Code)

The Interest List Code problem relates to the use of bots. Originally, it had been hoped that one of the fixes deployed this week would correct the issue; however this has not entirely been the case.

Following further investigation by Latif Khalifa and Andrew Linden, an explanation of the problem is provided in the deployment forum thread. The issue has its routes in the fact that the Second Life UDP protocol requires an acknowledgement (or “ACK”) for all messages sent to the viewer. However, rather than sending a distinct “message received” back to the server for each packet received, certain types of bot append the acknowledgement to other outgoing messages. A bug in the interest list code means these appended ACKs aren’t read. This results in original data been regarded as a packet loss, so it is repeatedly re-sent to the viewer controlling the bot, leading to the huge increases of bandwidth which have been witnessed. Andrew is currently working on a fix for this issue.

Deployments for Week 6

There is currently no clear news on deployment plans for the week commencing Monday 4th February. Currently, it appears that the main-server release re-deployed to LeTigre will most likely be promoted to the Main channel.

SL Viewer Updates

Issues relating to the beta viewer 3.4.5 code have been resolved, and an updated beta viewer (3.4.5.269698), was released on Thursday January 31st – see the release notes for updates. Also released on the 31st was a new version of the CHUI development viewer, 2.4.6.269797. The SL development viewer rolled to 3.4.6.703 on Wednesday January 30th.

An interesting issue has been noted recently by those using multiple versions of the SL viewer. When swapping between more recent versions of the SL development viewer and older versions of the code base, toolbar buttons can vanish from the viewer’s UI. The exact cause is unclear, and the problem appears intermittent (I’ve personally only encountered it once jumping between project and release versions of the viewer).

Mesh Deformer Project Viewer

Sovereign Engineer assisted with code merges for the parametric deformer project viewer with the result that the code is now merged-up to the 3.4.4 codebase with the latest release of the mesh project viewer (3.4.4.269558) on January 29th. There are apparently no functional changes to the deformer itself.

The updated shape selection options for mesh clothing and human shapes in the mesh upload floater
The mesh deformer project viewer has now been merged-up to the 3.4.4 viewer codebase. There are apparently no updates to the deformer itself with this release

This removes one of the three bottlenecks to the project as noted in the first part of this week’s reports. However, the issue of internal resources at the Lab remains a problem, although Oz Linden is attempting to address this and there may be further news in week 6.

Continue reading “SL project news week 5 (2): servers, issues, viewer, SSB, deformer”

Materials processing – more sneak peeks

The server-side materials code reached the main grid in week 5, with a deployment to the BlueSteel Release Candidate channel. As stated in my project report marking the deployment, the code will not be usable until there are suitable viewers on the grid which can utilise it, and they have yet to be released.

As it stands, viewer-side work is progressing, and it is likely that a project viewer will be made available in the near future, although time frames are still a little hard to determine. Commenting on possible viewer availability on Wednesday January 30th, Geenz Spad, lead developer for the viewer, stated, “At this point, it’s hard to say; the majority of the rendering bits are finished at this point. The UI’s there, but needs a bit of polish; so all in all I’d say a public testing version should be out really soon.”

During the conversation, Geenz provided further preview pictures to those in attendance, some of which are reproduced here.

Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad) - click to enlarge and see in detail
Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad)

Viewer UI

In week 4 I was able to provide a quick look at the changes to the Build floater’s Texture tab which are directly relevant to materials processing. Since then, the developer leading this work, Tonya Souther, has progressed the tab to a point where it is close to finished. In particular, pickers have been added to the normal and specular map options, and the diffuse (texture) option now has a drop-down for the alpha mode selection, also as discussed in a previous project report.

Materils Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r)
Materials Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r). Materials can be applied per face of an object, with scale, rotation, etc., applied across all maps on a face / object – click to enlarge

Viewing Materials: How Things Will Look

Materials processing will require viewers to be running in deferred mode (i.e. with lighting and shadows enabled, although not necessary with shadows activated – see my notes here). While it is not possible for materials to be implemented in such a way that it can run in a non-deferred mode, materials should not have any major negative impact on how second life looks to those who are unable to run their viewer in deferred mode. In fact, SL should continue to look to them much as it does today, hopefully as show in the image below.

With and without: how materials will look when running a viewer in differed mode (top) and in non-deiffered mode (bottom). The differences are clear, but the in-world experience in non-differred mode is not in any way "broken"
With and without: how materials will look when running a viewer in differed mode (top) and in non-deferred mode (bottom). The differences are clear, but the in-world experience in non-deferred mode is not in any way “broken”

In the meantime, Linden Lab are continuing to try to gather data on the number of users running their viewers in differed mode and – perhaps equally as important – the number of users who could be running with deferred active (again, if not with shadows active), particularly given the continuing improvements being made to the rendering system.

So materials processing is progressing and drawing close to an initial release. There is a lot going on within Second Life as a whole at the moment in terms of projects coming into the viewer, with both avatar baking/server-side baking (SSB) and the Communications Hub User Interface (CHUI) also on the horizon as well. As such, the Lab still need to establish priorities on the various projects and plan releases accordingly. Similarly, TPV’s need to consider the impact of these various projects on their work and determine their own priorities for integrating the projects into their viewers. Given the complexity some will face in implementing CHUI, it would appear likely that the materials capabilities might reach some TPVs ahead of that work, even if CHUI and materials are released in relatively close order.

As always, updates will be provided as news emerges.

Another preview of a  normal map and a  diffuse map (texture) in action (courtesy of Geenz Spad)  - click to enlarge
Another preview of a normal map and a diffuse map (texture) in action (courtesy of Geenz Spad) – click to enlarge

Related Links

SL project news: week 5 (1): servers, viewer, deformer

Server Deployments Week 5

There are a full set of deployments this week, Main channel and RCs.

On Tuesday 29th January, the Main channel received the threaded region crossing code deployed to BlueSteel and LeTigre in week 4. This project makes sim performance smoother when objects and avatars cross between regions. Please refer to the release notes for further information.

On Wednesday 29th January, the Release Candidate channels should receive the following deployments:

  • BlueSteel should receive the server-side materials processing code. This code will require a a project viewer in order to be used, As reported in week 4, there is no definitive timeframe as to when a viewer is liable to be available, but it would be reasonable to expect something in the next few weeks (possibly sooner) – release notes
  • LeTigre should receive the maint-server project originally deployed to Magnum in week 3. This deployment includes the bug fix for the places / search indexing issue which occurred following the original deployment of the code to Magnum – release notes
  • Magnum will receive a further update to the interest list code deployed in week 4. This update addresses high packet loss problems, leading to issues such as not seeing avatars or objects in-world, specifically:
    • A fix for bots which do not specify a valid draw distance in order to prevent them downloading huge amounts of unwanted data
    • A fix to keep ObjectUpdate packets within an ethernet MTU of 1500
    • Release notes.

Please check with the forum discussion thread for these deployments to keep abreast of updates / changes / issues.

Materials processing: server-side code to go to BluseSteel on Wednesday 30th January - but no project viewer yet
Materials processing: server-side code to go to BlueSteel on Wednesday 30th January – but no project viewer yet

SL Viewer News

Problems remain with the beta viewer code, but it is hoped a new beta will be appearing shortly. In te meantime, Kelly Linden has committed the viewer-side code for extending the maximum avatar animation length from 30 seconds to 60 seconds (MAINT-1492). This should be appearing in the 3.4.5 beta viewer, and should also be appearing in TPVs in the near future.

Mesh Deformer

Delays continue with the mesh deformer, which can be summarised as:

  • The Lab has limited internal resources for testing it – although attempts are being made to address this
  • There is concern that there is no clear way for a designer and a user to be sure that they are using the same avatar base model – and if they are not, then the deformer will very likely make things worse. While there are some provisions within the current deformer for the base model to be taken into consideration, there is apparently concern that it may not be sufficient
  • The project veiewer code is now significantly behind the current viewer release, although work is underway to merge it up (and I received a report that this has been done while preparing this update).

A further potential issue in progressing the deformer  – as Karl Stiefvater (Qarl Fizz), who wrote the original code points out – is there are a lot of expectations that the deformer will do a lot of things which were not in the original specification (or indeed, the code as originally written). Some of this scope creep has resulted in further updates to the code from other contributors. However, there appear to be concerns that if the Lab prematurely release if, there will be a risk that a) it breaks existing content, b) it is viewed as not addressing problems correctly.

This latter aspect was also commented upon by Oz Linden, when speaking Open-source Development meeting on Monday 28th January. He said, “We are often (and frequently with justification) accused of throwing things out that are not really finished enough… indeed, the lack of some solution for the problem the deformer is trying to solve is one of the more prominent recent examples, but I don’t want to make the situation even worse by putting out a ‘solution’ that turns out not to solve enough of the problem and/or creates bigger ones down the road.”

Avatar Baking (SSB)

A set of code updates for the viewer are in progress. However, an issue with the Mac build means they have not been pushed as an update to the project viewer as yet. It is hoped that the updates will reach all three versions of the viewer (Windows, Linux and Mac) once the Mac build problem has been resolved.

SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!

SL Viewer Beta

Issues within the 3.4.5 code have prevented viewer releases progressing through beta, with the code stuck in QA while LL tackled them. However, it appears the majority are now either fixed or on their way to being fixed, and an updated beta viewer should be appearing next week, which should see the beta viewer come pretty close to alignment with code in the development viewer, with the latter only having “a couple” of things not added to the beta branch.

Communications Hub User Interface (CHUI) Project

There have been a rapid series of merges between the CHUI project viewer code and the development viewer recently (as seen in my Viewer Round-up Page and weekly summaries), helping the former to keep pace with the latter, with the most recent CHUI development release (3.4.4.269464) being made on January 25th.

Speaking at the TPV Developer’s Meeting on Friday 25th January, Oz Linden indicated that a formal merge of the CHUI project viewer code with the development viewer code branch “pretty soon” (possibly in the next two weeks, putting it ahead of the server-side baking project). However, according to Nyx Linden, the plan will be to not merge CHUI with the server-side baking project for as long as possible, so that TPVs have the choice of deciding whether they wish to integrate both projects into their own code at the same time or not.

CHUI is viewed as potentially the more problematic implementation for some TPVs to undertake as it involves more widespread changes to the UI, and, and project lead Merov Linden pointed out, the need to refactor a number of areas within the viewer to work with the CHUI elements. As some TPVs have already made substantial changes to the communications floater and other aspects of the communications elements of the UI, there is also a need for these TPVs to work through the code and see how it works with / impacts / breaks / undoes the changes they have made, in order for them to make a proper determination as to which code to adopt / maintain, and which code to ignore / discard.

Avatar Baking (Server-side Baking or SSB)

Work in progressing on all sides of this project, with the various TPVs working on integrating the initial code release from LL into experimental versions of their viewers (with varying degrees of success) and LL working on “bug stomping” and fixes. As commented on in my week 3 project report, there are concerns over the speed of releases for updated code from LL and general visibility of JIRA items.

Nyx Linden was on-hand at the TPV Developer Meeting on the 25th January to provide an update and field questions.

Nyx linden discusses server-side baking at the TPV Developer meeting (stock)
Nyx linden discusses server-side baking at the TPV Developer meeting (stock)

In terms of the server-side code, there have been a number of fixes which should have rolled-out to Aditi on Thursday 24th January, although the status of these had yet to be confirmed at the time of the meeting. Various issues are still to be fixed, such as some avatars being reported with heights which don’t match LL’s computations (particularly very small / petite avatars and very big avatars), which may be down to a mis-match between the way some viewers are calculating avatar height and what the server is anticipating receiving in terms of a value range.

The viewer code has also been receiving a number of updates and fixes, which should be available for use by TPVs and in an updated version of the project viewer in the next day or so. These updates include a required fix for an issue whereby edits make to a wearable item are not saved unless the user also changes something else they are wearing (for example, edits made to a blouse are not saved unless the user swaps the pants they are wearing).

Currently, and so far as I’m aware at the time of writing, Cool VL viewer, Singularity and Radegast all have experimental builds of their viewers / clients which incorporate the code and which are being used purely for testing purposes, with Exodus planning to start merging the code shortly. Niran’s viewer has reported issues with the new code “breaking” RLV/a which (so far) haven’t been reported by other TPVs.

Given the overall pace at which things are progressing on LL’s side, particularly with CHUI and dealing with issues uncovered within SSB itself, it is likely the original eight-week window for TPVs to integrate the SSB will be extended inasmuch as the deployment of SBB to the main grid is now likely to be slightly later than LL may have originally anticipated.

Continue reading “SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!”

SL project news 4 (2): server and materials processing

Server Deployments Week 4

The RC channel deployments went ahead as planned on Wednesday 23rd January. BlueSteel and LeTigre Received the Threaded Region Crossing Code, and Magnum the Interest List code.

The week 3 maint-server release had been the only contender for the Main channel on Tuesday 22nd January, but was not deployed due to the issue of places not indexing correctly in search. A fix was available for this issue, but was rolled to Magnum as a part of that deployment.

Magnum Issues

There have been widespread issues in regions on the Magnum channel since the deployment, some of which have been reported in the deployment discussion thread on the forum, others of which have been reported in groups such as the Firestorm Support group. These issues may be related to a high bandwidth issue leading to packet loss for people on slower connections. Symptoms include:

  • High packet loss / ping to the simulator
  • Avatars initially unable to move on arriving in a region
  • Avatars apparently unable to move on arrival, but then suddenly “warping” to new position if movement keys have been pressed
  • Avatars already in the region being visible to a newly arrived avatar, then vanishing the first time the avatar moves or rotates camera
  • Objects failing to rez or to rez correctly (including attachments on avatars)
  • Other issues as reported in the forum discussion thread, including notable issues being encountered with JVA bots.

At this time, the issues remain under investigation by the Lab.

Deployments for Week 5

There is currently no clear news on deployment plans for the week commencing Monday 28th January. However, if there is a Main Channel release, Maestro Linden is of the opinion that it will likely be the threaded region crossing code.

The maint-server release originally on Magnum in week 3 will be re-deployed on an RC (which one is TBA at this point), which includes a number of additional fixes, including the fix for the search indexing issue.

Materials Processing

There has been little direct news on the materials processing project from those working on it. However, at the Server Beta User Group meeting on the 24th January, Maestro Linden reiterated that the server-side code is very close to a Release Channel deployment and, “May even get a slot next week [week 5].”

Maestro also gave some information on new options for what the alpha channel means during rendering, with four settings available:

  1. None –  the alpha channel is ignored, rendering the face opaque, or
  2. Alpha blending – essentially the same as we currently have for any alpha texture, or
  3. A 1-bit alpha mask with each pixel either 100% transparent or 100% opaque, with a cutoff setting to determine where the threshold is (alpha masks should render faster than alpha blending, and eliminate issues with alpha layer sorting), or
  4. Emissive mask – so the alpha layer is interpreted as a per-pixel glow setting.

(Note that these options appear to suggest a surface cannot have both an alpha mask (or alpha blending) and an emissive mask; however, as Maestro Linden pointed out, there will still be options in the build floater to set glow or face transparency.)

Maestro additionally indicated that the remaining “mesh sandbox” regions on Aditi (DRTSIM-169 channel: Mesh Sandbox 3, Mesh Sandbox 6, Mesh Sandbox 22) have been updated with the server-side materials processing code, so that builders can test the new capabilities once a materials processing viewer is available.

Testing materials processing in SL. Note the texture of some surfaces and reflections on others (image courtesy of Geenz Spad) - click to enlarge
A “sneak peek” at materials processing in SL, provided by Geenz Spad. Note the texture of some surfaces and reflections on others – click to enlarge. (Note this image should not be taken as indicating materials processing is available for public use as yet – see below.)

Viewer Status

Even though the server-side code is available on selected Aditi regions and may be deployed to a Release Channel in week 5, it will not be usable until such time as a materials processing project viewer is made available. Currently, this is unlikely to be for another few weeks, as there is further work to be completed on the viewer itself, including UI updates (such as the new build floater), code for fetching the additional materials data and for rendering it.

Server Object Rezzing Code

As I outlined back in week 1,  Baker Linden is working on improving how objects with large file sizes (as opposed to them being physically large when rezzed in-world) are handled by the simulator software when being rezzed.

In the first part of this update, I reported that Baker hoped the code would be progressing through LL’s QA for deployment to an RC channel in the next few weeks. In the meantime, the code is now available on the DRTSIM-194 channel (e.g. CCMTEST26).

The key point about this work is that it is specifically aimed at preventing the simulator processes from choking and a region stalling when there are a number of large object files being read / parsed, not at actually “speeding up” the physical rezzing process. As such, it is unlikely that objects will appear any faster in people’s in-world view as a result of this work. However, what it does mean is that the simulator code will be better able to handle rezzing multiple “large file” objects without the attendant region lagging which can occur as a result of the simulator being unable to process messages from viewers and other simulators, etc.

Aditi Issues

Issues continue with Aditi, both in terms of people being able to log-in, and with inventory syncing problems. It is currently unclear as to what the status is regarding potential solutions which have been mentioned in the past – culling “stale” accounts from Aditi and obtaining additional hardware to handle the load. In the meantime, problems continue for some, and the advice remains to keep trying a password change and waiting 24-48 hours for it to fully propagate before attempting to log-in to Aditi once more.

Related Links

Note that all SLurls given in this report are for the Aditi (Beta) grid.

SL project news: week 4 (1): server, permissions, terrain and teleporting

Server Deployments Week 4

There was no Main Channel deployment on Tuesday 22nd January due to the issues encountered in week 3, which saw the interest list code on BlueSteel and LeTigre rolled back due to stability issues, and the maint-server release on Magnum having problems of its own (including regions not showing up in search, etc.).

There will be RC deployments on Wednesday 23rd January, as follows:

  • BlueSteel and LeTigre should receive the region crossing improvement project.  This project makes sim performance smoother when objects and avatars cross between regions.  This is the same project which was on BlueSteel and LeTigre in week 2; the only change is a fix for a crasher – release notes (BlueSteel)
  • Magnum should receive the interest list improvement project.  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.  This is the same project which was on BlueSteel and LeTigre briefly in week 3; the only change is a fix for two crash modes – release notes
3rd time lucky? Interest List updates due for deployment to Magnum on Wednesday 23rd January
3rd time lucky? Interest List updates due for deployment to Magnum on Wednesday 23rd January

According to Simon Linden, speaking at the Simulator User Group on Tuesday 22nd January, the issue(s) relating to Magnum regions / parcels failing to show up in search also has a fix, which is apparently included in code due to be deployed to those regions, although there is no comment on this in the release notes themselves at the time of writing.

SL Viewer

Work continues on the viewer development side of things with further updates an merges and new versions appearing almost every other day, but little is currently filtering through to the beta viewer code branch at present.

Similarly, the CHUI developement viewer is going through a rapid series of updates, reaching 3.4.4.269264 on Tuesday 22nd January, although updates from the last series of development releases have yet to reach the CHUI project viewer.

Work has been promised to update the Sunshine (avatar baking) viewer code, whether this has been done or not is unclear as there was no Content Creation meeting on Monday 21st January due to Martin Luther King’s birthday; however, the current release of the project viewer remains 3.4.4.268071 at the time of writing.

Merges are also still awaiting on the Mesh project viewer in order to bring that back into line with more recent viewer-dev code updates.

Continue reading “SL project news: week 4 (1): server, permissions, terrain and teleporting”