• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-1415
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Critical Critical
Assignee: Soft Linden
Reporter: Huns Valen
Votes: 9
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

2/1/08 rolling restart breaks llSensor()

Created: 02/Feb/08 02:12 AM   Updated: 21/Feb/08 06:53 AM
Return to search
Component/s: Scripts
Affects Version/s: None
Fix Version/s: None

Issue Links:
Duplicate
 
Relates
 

Linden Lab Issue ID: DEV-9956


 Description  « Hide
Many of my airplanes (thousands) rely on an llSensor() check to see if the owner got dumped from a bad sim crossing. (When this happens you cannot rely on a CHANGED_LINK firing, so the only way to really see is to check for their presence every few seconds.) Since the rolling restart, this is broken. The sensor call checks to see if the owner is within 1 meter, which they invariably are. However, it fails now!

If I change the scan radius to 10 meters, magically, it works.

I don't want to get flooded with questions from confused people whose airplanes suddenly broke, and would greatly appreciate it if you guys would fix this ASAP. I'm sure my customers would appreciate it as well. Thanks in advance.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Strife Onizuka added a comment - 02/Feb/08 07:33 AM - edited
Would this work?

key user = llPermissionsKey();

if(llGetAgentSize(user));else
{//Do this when booted

}

Or you could use llGetObjectDetails

Course this doesn't help with the products already sold.


Huns Valen added a comment - 02/Feb/08 04:17 PM
I can change the scan radius to 10 meters to fix it, but then I have to go through putting out an update, and even that won't help people who expect their sensors to work properly. I doubt I'm the only person who relies on sensors returning accurate output.

Would be nice if they did a bit of unit testing before they released these updates to a production environment.


Joshua Nightshade added a comment - 02/Feb/08 07:47 PM
Elevated this to show stopper.

Thomas Shikami added a comment - 02/Feb/08 09:25 PM
Changing to Normal as this doesn't affect SL in a whole and there's a bugfix possible, too. Periodically checking the llGetNumberOfPrims if it changed back to a lower value can test if an agent is still sitting.
Nonetheless the behaviour of llSensor changed and should be at least documented what changes happened to the function.

Harleen Gretzky added a comment - 02/Feb/08 09:30 PM
Also 1 meter seems to be the break off point, anything above 1 meter, even 1.1 meters seems to work.

Huns Valen added a comment - 02/Feb/08 10:41 PM
I am setting this back to Critical. Yes there is a fix, no that fix doesn't do any good for existing content. I don't think it's a Showstopper, but they need to fix this soon because it breaks existing content in a way that the end users cannot do anything about.

WarKirby Magojiro added a comment - 03/Feb/08 03:47 AM
This is definitely not a Normal priority. I think critical is right for a content breaking bug.

I don't use sensors below 1m, generally, but I can certainly see the advantage in doing so.


WarKirby Magojiro added a comment - 03/Feb/08 03:51 AM
Ah. A thought. This may be related to SVC-125

Have you tested it on a standing avatar?


Lex Neva added a comment - 03/Feb/08 09:06 AM
I don't think that the other methods suggested above should be considered a workaround for the underlying bug, because they only work in this specific instance. They don't get around the underlying breakage.

So are you sure that all sensors of 1.0 meters and under are breaking, or just trying to sensor an avatar that's on the other side of a sim border? It's hard to tell from the description.


Huns Valen added a comment - 03/Feb/08 01:08 PM
Sensoring people on the other side of a sim border has always been wierd so I usually throw away anything that comes from invalid coordinates. In this case, it is:

llSensor("", owner, AGENT, 1, TWO_PI);


Torley Linden added a comment - 04/Feb/08 09:43 AM
Thanks Huns and others for your reports – I'm asking our devs in Studio Blacklight (focused on critical issues) to investigate this ASAP.

Huns Valen added a comment - 07/Feb/08 09:23 AM
This appears to be fixed by yesterday's update. Thanks Torley!

Huns Valen added a comment - 10/Feb/08 01:50 PM
Seems like it's broken again. I don't know what happened.

Torley Linden added a comment - 11/Feb/08 09:13 AM
@Huns: Crap, I'll find out.

Milo Linden added a comment - 12/Feb/08 08:00 AM
Huns can you provide a test script that shows the broken behaviour or drop an object on my av that shows the broken behaviour, our test scripts based on the information above are working ok.

Thanks.


Huns Valen added a comment - 12/Feb/08 09:25 PM
I put together a test object from one of my airplanes (removed everything except the bare minimums.) It seems to be detecting my avatar at its true position (root + local position of seat + sit target offset.)

I think the old behavior was to return the avatar as being at the object's root position. So, I could fire a sensor with a radius of 0.2 and it would work, even though the avatar was further than that from the object root.

It breaks old content so it's a bit of a hassle, but on the other hand, if the old behavior was incorrect I can see the desire to fix it. I will release patched versions of my aircraft.

Was this an intentional change?


Harleen Gretzky added a comment - 12/Feb/08 09:44 PM
Probably a result of SVC-125

Soft Linden added a comment - 13/Feb/08 09:21 AM - edited
Edit 2: Re-duping as SVC-1475

Soft Linden added a comment - 13/Feb/08 09:45 AM
"Was this an intentional change?"

Huns, the change was intentional. This was being used to create offset seats so people could appear to be located in a different parcel, bypassing home security orbs and similar.


Maggie Darwin added a comment - 19/Feb/08 11:36 AM
Obviously not a dup of SVC-125; quite the opposite. So it can't be "resolved", because SVC-1475 is not.

Harleen Gretzky added a comment - 19/Feb/08 12:49 PM
Resolving an issue as a duplicate is not saying the issue itself is resolved, it is merely saying it is a duplicate issue.

darling brody added a comment - 21/Feb/08 06:09 AM
@Soft Linden

It was not being used to make someone appear to be on a different parcel. Due to ban lines it is not possible to create a reliable script to do that. Any offset seat will using the Z offset and be over the same parcel, and as such can be seen through scritped parcel land tools. I posted a script to do just that to the other related issue.


Harleen Gretzky added a comment - 21/Feb/08 06:47 AM
Vehicles can fly above ban lines, so why is it not possible?

Soft Linden added a comment - 21/Feb/08 06:52 AM
@darling - It's unfortunate that some content broke, but developers finding and relying on bugs are taking a huge risk when they write scripts against the bug instead of reporting the bug so that we can fix it. Much more content was fixed than broken by SVC-125, as it makes properly written code behave as documented. This is the tradeoff we made. SVC-125 was a deliberate change, and will not be reverted.

We do try to maintain backward compatibility for LSL bugs where use doesn't interfere with people using the function as documented. My restoring llSetLinkPrimitiveParams being used to reposition seated avatars was one good example of this. But there is absolutely no promise or guarantee when relying on undocumented behavior that has negative effect.

Consider http://jira.secondlife.com/browse/SVC-1475?focusedCommentId=46956#action_46956 - Proposing an approach for opting out of scans when the scanner doesn't belong to the parcel owner or similar is much more likely to be implemented. It would need a JIRA proposal and voting support.