PRIM_PHYSICS fix on RC channels

According to Andrew Linden, commenting on what has become something of a heated JIRA, SVC-7305, a fix for the PRIM_PHYSICS breakage was rolled out to the three main RC channels (BlueSteel, Magnum and Le Tigre) today.

The breakage, which impacts the PRIM_PHYSICS parameter of llSetPrimitiveParams impacts a wide range of scripted moving objects in Second Life and has caused considerable consternation amount content creators. With vehicles, animals and other items effectively broken, they’ve faced either having to wait for the issue to be sorted and / or re-scripting their products while still having many hundreds – if not thousands – running amok or stalled around the grid – something that apparently left one creator of automated scripted vehicles stuck with a three-day account suspension.

If all goes well – and initial feedback so far is that the fix is working on the Magnum and Le Tigre RC channels without incident – then the fix should find is way onto the rest of the grid during the main updates next Tuesday (assuming one of the RC channels gets promoted to the main release channel at that time).

Attachment update fix rolled-out

The “showstopper” bug affecting the update of worn attachments, as reported on two weeks ago saw the initial fix rolled out across the entire Main grid (with one or two exceptions), a week after it was rolled-out to the RC channels.

So far, feedback on the JIRA, SVC-7283, has been largely positive, and it appears that for most content creators impacted with the issue, the core problems are resolved.

However, there are still some outstanding issues to be addressed:

  • SVC-7321: llRemoteLoadScriptPin() does not allow injection of an O:VMCT script into an O:PERM_ALL worn attachment
  • SVC-7294:The simulator is too strict when llGiveInventory() adds restricted-permission items to fullperm attachments which already contained other restricted-permission items

Not dates are currently available on potential fixes for either.

Update: 27th Sept: Since drafting / releasing this update, testing has revealed that even with all current fixes in place, a problem still remains wherein should an update fail, existing scripts in the receiving item can still be deleted. There is currently no direct fix for this.

Another code breakage hits SL

On top of the recent attachment update bug, JIRA (SVC-7283) (as well as the releated SVC-7294) – there is now another scripting breakage that has been deployed to the grid.

PRIM_PHYSICS used in the likes of llSetPrimitiveParams, no longer functions as expected on server release code 11.09.09.240513, leaving scripted vehicles and animals (among other things) not working, malfunctioning and/or running amok.

A JIRA (SVC-7305) has been raised for the issue, which has a widespread impact.  And it has to be said that the JIRA is starting to read like a poorly executed farce, with LL responsible for the script.

  • It appears one creator of scripted vehicles running on the mainland which are now effectively out-of-control, and her account has apparently been suspended as a result
  • Other creators are reported issues with potentially thousands of sold products which, while there is a potential code alternative available (via STATUS_PHYSICS) – this still means considerable re-coding for many creators and a massive product update (and why should they, when the cause isn’t their fault?)
  • Responses from Linden Lab are hinting a fix (again) will not be available for RC channel release until next week, with the implication a full roll-out could be two weeks away – and that, despite the clear severity, there is resistance to accelerating the fix within the company!

Two breaks to basic scripting functionality in Second Life coming a week apart isn’t liable to win Linden Lab awards in the popularity stakes. It’s also liable to have the tinfoil hat brigade nodding to themselves and muttering comments about event numbers, coincidences and conspiracies.

As if we don’t already have enough of that doing the rounds.

SL “Showstopper” bug: Updating worn attachments breaks content

The server roll-out of the 13th September introduced a new and unexpected bug into the grid, as defined in JIRA SVC-7283:

“Attempting to issue llRemoteLoadScriptPin() on a non-full perm script to a worn/attached object fails with “Unable to add item” error message. If there was an existing script with the same name in the destination object, that script is deleted, often resulting in the items being made completely useless.

“A similar error occurs when using llGiveInventory() on a no-transfer item to a worn/attached object. In this case, the error message is “Unable to give inventory: ‘Destination did not accept'”.”

Simply put, this means that at present, attempting to update worn objects runs the risk of breaking them completely.

The JIRA is currently assigned to WorkingOnIt Linden, which means it is being investigated – indeed, Maestro Linden has commented on the JIRA, and has confirmed the bugs. He’s even offered some well-meaning advice:

“The workaround for updaters that affect attachments such as HUDs is to first drop the attachment or detach it and rez it on the ground before using the updater.”

However, this doesn’t help in all cases – particularly those using RLV items which they may not be able to remove; there are also those update systems that rely on the object being worn.

What is more worrying, however, is the seemingly casual response from Linden Lab to the issue. There has been no official indication to content creators that there is a potentially major bug impacting their items – people are being left to hear about things via word-of mouth.

Nor does the Lab – via Oskar Linden – seem all that concerned about getting a fix for the problem out sooner rather than later. Commenting on the JIRA, Oskar Linden states:

“We have traced the cause of SVC-7283 to a security fix around permissions. Due to the urgency of the security issue, we deployed the fix to all channels of the grid at once. Unfortunately, we cannot ‘roll back’ the change at this point, since doing so would compromise permissions across the grid. We are working on a fix for SVC-7283 – we hope to deploy the fix to an RC channel next week. We apologize for the inconvenience and problems with update scripts which are caused by this bug.”

So a potentially significant bug has been introduced right across the grid – and Linden Lab hope to get a fix out to 10% of the grid next week. Does this mean that if successful, the fix will be held over a further week prior to being rolled out to the remaining RC channels and the rest of the grid?

If so, it is wholly unacceptable.

The bug was apparently introduced as a result of a fix being pushed out without sufficient regression testing. Fair enough; however, if this can be done with a security fix – and given Linden Lab have successfully recreated the bugs through Maestro Linden’s tests  – then frankly the normal release cycle should be foreshortened as far as possible:

  • The fix should be coded
  • The code should be tested for potential impact
  • The code should be *immediately* release to an RC channel and baked for 24 hours on that channel
  • If no significant impacts / bugs found as a result of the RC test, the code should immediately be rolled out to the rest of the grid.

And I sincerely hope that this is what Linden Lab will be aiming for. If they are – then we need a clearer statement of intent than Oskar is giving.

In the meantime, one would hope Linden Lab would at least take the issue by the horns and for once communicate the problem with their users, rather than leaving it to people to stumble upon it through either word-of-mouth or through actually encountering an update failure.

Updates

15th September

Maestro Linden reports on SVC-7283:

“We have a fix for this bug that looks promising, which is currently on Aditi (the ‘Beta grid’). The fix version right now is thermonuclear 11.09.14.240803. You can find this version on a handful of Aditi regions; I’ve been testing in the region ‘Pixelpark’, which has a large sandbox area.

“With this fixed version, llGiveInventory() and llRemoteLoadScriptPin() should be able to deliver (no-copy or no-trans) items to worn attachments as long as the attachment’s owner permissions (in terms of copy and transfer) don’t exceed the owner permissions of the item.

“The following 2 cases are still blocked, however, for security reasons:

  • “Adding a no-transfer item to a worn attachment which is transferable
  • “Adding a no-copy item to a worn attachment which is copyable

“These cases might be fixed in a future project, but first the server will need to support dynamic updating of worn attachments’ permissions.

17th September

The fix developed by Maestro Linden is receiving some positive feedback from those testing it on the Beta grid; as such, it is to be rolled out to an RC channel (no details on which as yet) on Wednesday 21st September.

This probably means that the fix will not be implemented across the entire Grid for a further week.

Additionally, a further issue was uncovered relating to permissions restrictions that impact content creators (but not necessarily their customers), wherein NO TRANS items cannot be moved between root and child prims in a full permissions item. Maestro Linden has opened a JIRA related specifically to this issue, SVC-7294.

19th September: The bug fix is confirmed for a roll-out on an RC channel this Wednesday (21st Sept). Those wishing to have their regions included int eh release should submit region names to JIRA SVC-7291.

21st September: The bug fix was apparently rolled out to all RC channels today (it seems the release notes for the RC channels don’t expressly refer to the JIRA), and appears to have corrected a part of the problem for some content creators impacted by the issue, but not for others. Further updates expected.

In addition, there are still issues beyond this JIRA that need addressing – hopefully through SVC-7294, although no roll-out date is available for this yet.

27th September: SVC-7283 rolled out to main grid.

Viewer security exploit revealed

Nalates Urriah reports that Linden Lab have confirmed there is a security exploit involving a flaw in the Ogg Vorbis library could lead to Viewer crash issues. It’s not thought that the exploit can either perform privilege-escalation or arbitrary code-execution on users’ systems.

The flaw has been known about since 2009, but the exploit is fairly recent. Ogg files are in widespread use, so this is not an issue specific to the Viewer code. Linden lab has responded to the situation by issuing a patch and an advisory for all TPVs to recompile their binaries for all TPV viewers.

At the time from writing, updating executables for Kirstenlee’s Viewer (S21 7a) and the Firestorm Previews have been released.  Links for the Firestorm downloads (which do not appear to be available on the Phoenix website) are available as follows:

Note that all of the above three releases of Firestorm should be clean installations, not installed over any previous release (which should be removed first).

Other TPVs will doubtless follow, and users are advised to keep an eye on the various Viewer-related blogs and update as required.

Addendum May 16th

Phoenix have released an update that fixes this issue (and others). Find it here.

Attachment issues in SL

The recent server updates on the 8-10th February introduced an intermittent attachment issue that was uresolved with the roll-outs of the following week.

The issue has been widely reported on all Viewers, and in some cases wrongly labelled as a Phoenix Viewer issue (I’ve recently assisted people using Phoenix, 1.23.5 and Viewer 2.4).

A JIRA has been raised on the issue, and the Phoenix team have posted some useful guidelines on dealing with matters (with thanks to CS for bringing this to my attention).