• 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-22
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: Argent Stonecutter
Votes: 126
Watchers: 30
Operations

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

Vehicles crossing region borders aren't always treated as vehicles and can get incorrectly returned if the destination parcel is no-entry or parcel-full

Created: 12/Feb/07 11:09 AM   Updated: 08/Sep/09 02:37 AM
Return to search
Component/s: Physics
Affects Version/s: 1.17.0, 1.18.0, 1.18.3, Havok4 Beta, 1.24 Server, 1.25 Server, 1.26 Server, 1.27 Server
Fix Version/s: None

Environment: Any version of the viewer. Any vehicle. Any sim.
Issue Links:
Duplicate
 
Relates

Linden Lab Issue ID: SL-35293


 Description  « Hide
There's actually two bugs in region crossings and the spammy messages you get from vehicles.

1. Most of those messages you get are actually false positives. Nothing happened, some code in the server is printing a message, then going "oh, that's a vehicle", and letting you go through.

2. Some of the time, usually with a full parcel, it's not checking whether the vehicle is a vehicle (vehicles are supposed to be counted against sim overhead, not the current parcel) and starting the return process, then abandoning it partway through.

The latter bug is what's causing you to be half-unseated while flying, while the plane flies on. I don't know precisely which order it's doing things in... either the sim has told the client that you're unseated but it's still associating you with the vehicle, or the sim has unseated you but hasn't notified the client or the vehicle. Either way the updates between the client and the vehicle and the sim are broken.

Either the client is still talking to the sim you were and that sim has handed you off to the next sim, or the other way around... I haven't been able to be sure which is the case but the effects are the same. You can't unsit because the sim it's talking to doesn't know you're there. You can't move because the client is sending control events to a vehicle that's not getting them. You fall forever because the client isn't getting updates from your sim.

The fix to both bugs is for the sim software to check for a vehicle earlier in the process, and not go down any of the code paths that lead to you getting these messages or unseating you.

There's a related problem that happens when you hit an actual ban line in a vehicle. There appears to be some code in the sim itself to automatically unseat you if your vehicle is found inside a parcel you don't have access to (this is unnecessary, since you can't use this as an exploit to let you into the parcel) and again it's following the "bad" code path that leads to the partial unsit.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Argent Stonecutter added a comment - 07/Jun/07 11:04 AM
This problem seems to be significantly reduces in recent versions, however crossing a border into a full parcel is still a guaranteed loss of vehicle.

The ban line problems are still there.


Argent Stonecutter added a comment - 08/Aug/07 01:19 PM
I've found a fourth failure mode. If you descend onto the top of an access controlled parcel in a vehicle, rather than bouncing off (as happens when you're flying or falling) or getting stopped (as usually happens when you hit it from the side) you get the message "You are no longer allowed in this parcel" and are unseated and ejected, while the plane continues flying (just as if you hit the access controls from the side at a high velocity).

At one point I got stuck between two access controlled parcels and couldn't move at all.


Ceeq Laborde added a comment - 18/Aug/07 06:48 AM
llSensor/Follower objects that belong to the parcel owner fail to follow another avatar into the parcel. Quite unhelpful.

Argent Stonecutter added a comment - 20/Aug/07 05:01 AM
Could that effect be due to the object using llScriptDanger()?

Argent Stonecutter added a comment - 10/Nov/07 12:10 PM
Doesn't just affect Havok 4

Iexo Bethune added a comment - 09/Feb/08 05:05 AM
The great bain of pilots in SL... Aside from Home Security Orb, of course, but I haven't seen many of those around anymore... Either way, voted. Thanks for reporting this in greater detail and understanding than I could.

Balpien Hammerer added a comment - 15/May/08 10:17 AM
The unseating aspect is horrid since it leaves the avie locked in rigor mortis while the vehicle continues moving into the access restricted parcel. A full stop all animations and release controls script needs to then be run (or the avie relogged) to undo the aftereffects. There is no mitigation for this problem because there is no interface to determine is an avie is permitted in an area, hance no way to modify a vehicle's behavior to not attempt entry into a parcel or region with access restrictions. The best I can do is add an expensive periodic check of the avie, and if the vehicle no longers finds him/her, stop all movement.

BTW, this behaviot is not H4 related. It has been that way since I first entered SL over a year ago. Sailing mainland waters is practically impossible (try that in the SIMs near "Balance") because the myriad ban lines guarantee a loss of vehicle and a forced relog. It's not possible to rez a stop-anim object because along with the ban lines the parcels are no-build.


Argent Stonecutter added a comment - 16/May/08 08:54 AM
What are you doing to detect that the avatar is not there? I don't get any events when this happens.

Iexo Bethune added a comment - 08/Jun/08 04:36 PM
I've been getting another problem recently where, when crossing the border, either me and the vehicle will fly off into infinity, or we will fly off into infinity for a way, then my camera will start to rotate in a wide, multisim circle around my deceased vehicle where it was left on the sim border, or me and the vehicle will fly into infinity for a way, then the camera will pop onto a panoramic shot of the area, stay there for a few moments, then pop to another angle of the area, as if switching between weather cam and traffic cam on the news or something. In all situations, the controls are locked out, and there is no fix I can see once this happens except a relog.

Basically, it's general wonkiness when crossing borders, and it's happening in 55-75% of all border crossings. It's killing my vehicle bussiness, and it's trying my patience, as it's gotten to the point where I can't even travel in my own vehicles, and what's sad is, I can remember when vehicles WORKED. To see the decline of both vehicle performance in SL and LL's interest in them, and making sure they work properly, saddens me. The ONLY good thing that has happened to vehicles since I joined SL was H4, and now these border crashes have negated that improvement.


Balpien Hammerer added a comment - 11/Jun/08 11:47 AM
Argent, I have tried various techniques, but the one that seems to work is to remember the key of the sitting agent then periodically use llGetObjectDetails to query for position. If the function returns an empty list (or the element is <0,0,0>) for some threshold time, say 1 second, then the pilot did not get handed off at the crossing. llGetObjectDetails has been changed several times since I used this technique. There was a time when it returned information even when the avatar was in another SIM. At that time, the code looked at the distance between the avatar and the vehicle. Then llGetObjectDetails was changed to return zeroes (or stale data) when the avatar was in another SIM. At that point it was possible to discern whether the avatar was wrenched off versus logged off. Nowadays llGetObjectDetails usually returns a null list if the avatar is in another SIM, even if they are centimeters away but on the other side of a SIM boundary. Alas, security issues have damaged useful functions.

So, given the inability to mitigate this nasty SIM crossing bug, this needs to be fixed. A vehicle with a sitting avatar should bounce off of any access restricted areas in the same same manner that they do when a vehicle hits the edge of the world. There should be no difference and the behavior in all cases should never be to unsit, derezz, TP home, or do anything horrid - just bounce back.


Maggie Darwin added a comment - 26/Jun/08 02:54 PM
Just so folks don't forget this darned thing is still broken.

Maggie Darwin added a comment - 27/Jul/08 07:56 AM
still broken

Balpien Hammerer added a comment - 18/Aug/08 12:20 PM
This is getting beyond annoying. It is still broken, and worse is that with the severe memory leak which makes for a glacial viewer, I cannot react fast enough to avoid getting dumped when I do see ban lines loom ahead. And, of course, estate/region bans do not show any lines at all. Those are the worst with this bug.

Maggie Darwin added a comment - 16/Sep/08 08:33 AM
Still a problem

Siobhan McCallen added a comment - 27/Sep/08 10:51 AM
I've found that if you're real quick, you can sometimes tp into the new region where your vehicle was crossing into, and your avie will sometimes be "rejoined" with it when the new server finally gets it's thumb out of its electronic butt and figures out that you're there. It doesn't always work, but I've had it work about 60% of the time, and it sometimes works for passengers who get lost in the shuffle, too.

This bug is a pain in the neck, and it's unconscionable that it hasn't been fixed after all this time.


Maggie Darwin added a comment - 14/Oct/08 07:36 AM
Is there some rationale as to why this has been ignored for so long?

Are vehicles simply not important enough to fix?

Or do we only care about sports coupes and motorcycles on mole-built roads on protected land?


Argent Stonecutter added a comment - 17/Oct/08 06:30 AM
I've had this happen when following roads, Maggie.

Maggie Darwin added a comment - 17/Oct/08 06:57 AM
@Argent--

Didn't mean to imply there aren't still problems on roads...and railroad rights-of-way for that matter.

A flying vehicle is more likely to be moving at a speed as to encounter a ban line before a pilot could reasonably be expected to see it.

That said, it seems to me that the public nature of roads tend to cause people to erect ban lines, and when they do they are often the "red sawtooth of death" type because the roads aren't straight but parcel boundaries must be.

The section of GSLR that passes though Maroon and Monroe is an example. These ban lines barely offer rail clearance; other portions of GLSR have terrain interference problems under H4 collision rules.


Argent Stonecutter added a comment - 17/Oct/08 12:44 PM
It's also a major problem on waterways, because you can't even see parcel borders through the water.

Argent Stonecutter added a comment - 17/Oct/08 01:36 PM
There are only 3 SVC issues older than this still open:

Islands not showing up on the world map.
Objects "shaking" at high altitude, and I think that may have been fixed by Havok 4.
Resident auctions for parcels.


AnnMarie Otoole added a comment - 02/Nov/08 10:20 AM
Unable to find this thread in search I started SVC-3363. Considering its age it had long ago scrolled off the bottom.

The suggested solution to maintain legacy compatibility with existing NO-ENTRY barriers, in particular when they are adjacent to a region boundary, is to provide a 1 meter cushion inside the barrier so the vehicle could sense the parcel in front and take evasive action before being trapped.

Another approach that may be even simpler to implement is to build in a 10 second delay before ejecting from a NO-ENTRY parcel. That would give time to fly through or take evasive action without compromising privacy too much. With remote cameras there IS NO privacy in SL so NO-ENTRY seems to be superfluous anyhow.

Attempts to solve the problem.

1. I had the vehicle fire unmanned temporary probes ahead that indicated a hazard if they failed to continue sending reports back. It kinda worked but that had the problem of rezzing probes in no-build parcels. I solved that by having the vehicle load an arsenal of attached probes and releasing one when required. The vehicle replenished the arsenal whenever if was over land that permitted rezzing. That worked except releasing a probe unseats the passenger(s). I had unmanned vehicles traverse 3 or 4 sims before crashing but no fun if yo can't ride it. So I started to make a vehicle to follow the path of the scout that went ahead firing probes but abandoned it for obvious reasons.

2. Next approach I'm working on is to anticipate a region crossing and make sure the vehicle is above the NO-ENTRY height until it determines if it is safe. Keeping sufficient hover height appears to be a problem and it may have to go non-physical. This still doesn't solve the problem of security systems that can't be detected.

3. Have the vehicle lay a temporary egg every 10 meters. If the vehicle fails to intentionally abort its eggs before they expire, the egg knows mother has died and rezzes a replacement vehicle. That would be fairly easy but recovering the avatar from <14000,150,-15000> after a crash can take 60 seconds and a couple of teleports to restore functionality.

My vehicle is a Blimp that moves quite slowly and is entirely self navigating without a pre-programmed trajectory. It is working fairly well, managing sometimes to navigate over many regions for 10 to 15 minutes without a crash at an average altitude of about 30m. It is a really cool ride if I can just get it to be a little more reliable.


Balpien Hammerer added a comment - 02/Nov/08 02:21 PM
All these mitigations just do not work. A common problem is that a region or parcel disallows avatars but permits objects to enter. This is quite common in multiregion areas where an estate access control is in effect. Consequently all the fancy sensing techniques, and I've tried them all, will find safe passage and yet be incorrect in its assessment. Then when the vehicle crosses into the no-avie zone, the person gets wrenched off and the vehicle sails, flies, or floats merrily along into the avie banned parcel or region.

The purpose of this bug report is not to find mitigations but to fix the fundamental problem. No access processing in vehicles should be treated in the same manner as edge of world crossings, bounce off, don't wrench an avie, and don't leave them in limb locked rigor mortis with a vehicle damaged because the system thinks someone is attached to it and the scripts don't.


Rhialto Tereshchenko added a comment - 19/Nov/08 08:48 PM
this is the single most irritating and absurd problem for me in SL. WHY can we not simply be bounced back? Perhaps it is my technical ignorance, but avatars are bounced back; is it truly THAT difficult to do the same with vehicles?

I've heard of some other virtual worlds on the net; perhaps one of them will provide a better environment for vehicles.


Gatz Morang added a comment - 08/Dec/08 09:44 PM
Who would have thought that AdFarms would have been dealt with before this issue? After ONE YEAR (SVC-1070), this issue is still "unassigned"...and prevents travel on the LDPW Route 1.

AnnMarie Otoole added a comment - 08/Dec/08 10:13 PM
I had some brief input from Kelly Linden that explains a reason for the problem. We were discussing the problem as it applies to prim-full parcel adjacent to a region boundary where the prim cushion is not made available to the vehicle due to it not being a vehicle at the moment the permission is checked. Here is the quote.

Yeah that is a known bug. It is a race condition that I was never able to fully track down. The problem is the vehicle gets serialized over to the other region before the rider, so there is some short time when it isn't a "vehicle" and if the wrong check happens then things go badly. It actually doesn't happen 100%, although it has been a long time since I looked into it, so maybe it is 100% or close enough now.

  • Kelly

Maggie Darwin added a comment - 09/Dec/08 04:58 AM
So that's a design flaw.

Being a vehicle is part of the object state that needs to be serialized so that a vehicle can be treated as one even if its riders haven't arrived yet.


Balpien Hammerer added a comment - 09/Dec/08 11:27 AM
AnnMarie (and by proxy, Kelly) thank you. So we have a design flaw in which crossing sematics are not idemptotent. This is a severe flaw, and I can see how a great deal of effort needs to be expended to get it repaired.

I imagine that the priority of this problem falls well below new development. In the companion JIRA, SVC-472, I see good analysis in which passive agent development, which enables better corp/biz scenarios, are favored over active agent development typically found in the game-like fun-like physics laden scenarios. Now I am unhappy with that direction and roadmap, but I understand the Lindens have made business decisions for their platform.

At least now I know we have reached a limit to vehicle development. We'll continue to see flakey lower perceived value products because the infrastructure is severely flawed. I only ask the Lindens to respond with an estimate when or if this bug will get addressed. Then I can determine when I should bother to expend my time and energy to developing viable products. Blog that please.


Maggie Darwin added a comment - 09/Dec/08 12:54 PM
@Balpein--

If you're referring to the comment Matthorn Avro - 15/Nov/08 05:17 AM in SVC-472, I read that as being somewhere between sarcastic and tongue-in-cheek. I really don't think it's an accurate reflection of Linden policy.

That said, vehicle crossing issues have clearly been much lower in priority than things more key to server stability, like H4 and Mono. I personally think Server 1.25 will go a long way to improving the "game-like fun-like physics laden scenarios" we do love.

In fact, lately it's been my experience that sim border crossings even without a vehicle are troublesome in the extreme. Severe rubberbanding and expired_region_handoff are very common.

Given how long these things have been known issues, I don't expect to see direct action anytime soon. So many of these problems are related to inter-server latencies that the situation may turn out to be very different after FJ's LLNet project is implemented in the New Year's time frame.


Maggie Darwin added a comment - 10/Mar/09 04:26 AM
Now that Kelly Linden seems to be back in action it would be nice if this got some attention again.

kelly linden added a comment - 10/Mar/09 09:30 AM
I have been "back in action" since the start of the year. However I am not working on or looking at these kinds of bugs right now, which is unfortunate. I'd probably rather be looking at them. Sorry.

You are right that LLNet may help some, we should be able to tell soon.


AnnMarie Otoole added a comment - 10/Mar/09 11:22 AM
I have at least two School Bus crashes per day where they cross a region boundary into a full parcel adjacent to the line so the prim cushion is not available before the rider(s) and the vehicle get linked again.

We've not had any fatalities yet but if the news media hears about this bug there could be SERIOUS REPERCUSSIONS.


Huns Valen added a comment - 08/Apr/09 08:23 PM
I notice that when you cross over in a nonphysical vehicle, you get killed if the parcel is no object entry. If you're sitting on an object it should let it in regardless of whether no object entry is turned on or off, and regardless of whether the object is physical or not.

AnnMarie Otoole added a comment - 08/Apr/09 08:53 PM
Yes. The problem (bug) is that when you cross the sim boundary, the servers hand over the avatar and the object they are sitting on individually, not as a package. So for a moment it is not an attached object. If the no-entry script catches it before it links up with the avatar it gets killed.

Maggie Darwin added a comment - 04/Jun/09 05:26 PM
Key: SVC-22
Type: Bug
Status: Open
Priority: Critical
Assignee: WorkingOnIt Linden
Reporter: Argent Stonecutter
Created: 12/Feb/07 11:09 AM Updated: 08/Apr/09 08:53 PM
Votes: 101
Watchers: 25

Let's have a party to celebrate this being open for over two years.


AnnMarie Otoole added a comment - 04/Jun/09 06:13 PM
I have about 30 Flying School Bus sites throughout SL that get used frequently. Despite care and warning to drivers we sacrifice thousands of school children on SVC-22 every year. It is wanton disregard for life. The awful part is the agonizing death that typically involves shooting at thousands of meters a minute into dark blue Purgatory with no simple recovery.

The best recovery solution I've found is to start TPing to random destinations in different sims. Usually by the third or fourth TP you get back into virtual reality instead of virtual Purgatory.

If anyone knows another recovery method other than log out and log in I will pass it on to our school children.


Joyofrlc Acker added a comment - 15/Jun/09 11:14 AM
Any idea if "workingonit linden" is still alive? should there be a funeral or wake or something?

I find it STAGGERING that an issue which is assigned can go for two years without comment by Lindens. But then I seem to stagger a lot on SL lol.

Its also curious that the one comment from a Linden is from someone who is not working on the problem!


Maggie Darwin added a comment - 15/Jun/09 11:30 AM - edited
well, Joyofric, we deal here with a strange little bit of Linden Zen.

The name "workingonit Linden" (invented by the relentlessly, maniacally, delusionally cheerful Torley) these days does not in fact indicate that anyone is working on the issue.

It indicates that somebody might work on it someday; that it has passed the triage process and been copied into the internal JIRA that the Linden devs actually use.

It's a nearly-tacit admission that a particular JIRA might actually represent a defect in a Linden Research product.

There's lots of aspects of vehicle operation that are severely broken. Some of them, being due to design flaws, will require deep refactoring of core SL internal protocols.

I'm sure they will get right to them when they're done doing important stuff like implementing an extra level of "maturity" ratings, fixing the bugs in the new LSL interpreter that's almost as good as the old LSL interpreter, and enabling inbound cell calls to your avatar.


Sindy Tsure added a comment - 17/Jul/09 07:59 AM
Changing the description on this one. While what was there was indeed correct, it wasn't very specific. Hoping that something more detailed will get this a little more attention...

Sparket Schmooz added a comment - 10/Aug/09 10:13 PM
I have 2 regions that vehicals can cross but still has the detached n pray u make it issue. So it not just a no object entry or a sim already maxed out in prims that does it or that u cant enter it. It the servers suck is all.

Maggie Darwin added a comment - 11/Aug/09 04:35 AM
That's several other different issues, Sparket, not this one. See issue links.

Argent Stonecutter added a comment - 04/Sep/09 07:01 AM
PANIC TIME!

[3:22] Babbage Linden: when you rez a vehicle it uses the parcel pool
[3:22] Babbage Linden: (as there is no way to determine it is a vehicle)
[3:22] Babbage Linden: when you sit on it, it still uses the parcel pool
[3:22] Babbage Linden: (it might be a chair)
[3:23] Babbage Linden: then when you drive over a parcel boundary it first tries to use the attachment pool of a sitting avatar
[3:23] Babbage Linden: if it can't it will try to use the new parcel pool
[3:23] Babbage Linden: if it can't do that it will block the movement
[3:23] Babbage Linden: if it can't do that (due to region crossing) it will return the vehicle
[3:24] Babbage Linden: the goal is to try to avoid people on vehicles hitting invisible walls or having their vehicle returned as much as possible

I think they need to fix SVC-22 before they roll this out!


Ann Otoole added a comment - 04/Sep/09 07:32 AM
Personal use stuff needs to be avatar pool only unless they own the parcel they are over. Why should a parcel owner give other avatars the right to gob up parcel script resources.
The way that log reads any malcontent can hover in your parcel at altitude preventing anything else from working. Smooth move.

Why not just ban scripts, vehicles, and attachments and be done with it.


Sindy Tsure added a comment - 04/Sep/09 07:44 AM
Slightly-related forums thread: http://forums.secondlife.com/showthread.php?p=2549363

/me quotes /me: "Personally, I would rather hit a wall/stop than have everybody on the vehicle get tossed and the vehicle returned. Having the brakes get slammed on seems a whole lot less disruptive than getting thrown from the car..."


Maggie Darwin added a comment - 04/Sep/09 08:25 AM
Charging vehicle resources to a parcel runs counter to how vehicles have always behaved in Second Life.

This "solution", being discussed only literally in the dead of night unless you live in Europe, is completely broken. It will end Aviation in Second Life. It endangers sailing. Vehicles have been a vibrant, lively and interesting part of Second Life culture, and there is absolutely no excuse to ruin them because of a bloated script engine.

Whoever Babbage works for needs to reel him in.


Sling Trebuchet added a comment - 04/Sep/09 08:37 AM - edited
[3:22] Babbage Linden: when you rez a vehicle it uses the parcel pool
[3:22] Babbage Linden: (as there is no way to determine it is a vehicle)
[3:22] Babbage Linden: when you sit on it, it still uses the parcel pool
[3:22] Babbage Linden: (it might be a chair)
[3:23] Babbage Linden: then when you drive over a parcel boundary it first tries to use the attachment pool of a sitting avatar
[3:23] Babbage Linden: if it can't it will try to use the new parcel pool

What are the limitations of the attachment pool?
What's the big deal of a 30-ish prim count for a vehicle v. a 1000-prim necklace?

Was Babbage talking of the way it is or the was it is planned to be?
If the former, then I do not think that assertion this is correct. I'm very low-prim and have been zapped by a full parcel.
That would be in a sim in which I was the only avatar, so it wasn't a case of many avatar pools consuming a sim pool reserved for avatar pools.

I think that a vehicle should take always its prim allocation from the avatar pool as soon as it moves off the parcel on which it had been rezzed - even if it returns to that parcel. Your Enjoyment, Your Prims.

That could be abused of course
Rezz a lotsa-prim build in sections - sit a bot on the section to fly it out and back in to a set position and orientation, and stay sitting. Rez the next section, next bot, etc. Move aside Rezz-Foo and your cousins! There's a new kid on the block!
But that's probably so silly that it wouldn't be a real problem overall.

ETA:

Ah! But if the vehicle 'arrives' in a new sim before the sitter, then there isn't an avatar pool to cover it....


Maggie Darwin added a comment - 04/Sep/09 09:10 AM
Sling: Babbage is discussing planned quotas for script memory, not prims. But what he describes is much more restrictive than how vehicle prims are supposed to be treated.

Qie Niangao added a comment - 04/Sep/09 09:30 AM
Babbage acknowledged back in April that fixing SVC-22 is a prerequisite for the script memory limits, per http://wiki.secondlife.com/wiki/User:Babbage_Linden/Office_Hours/2009_04_22 :

"[3:49] Babbage Linden: i agree that SVC-22 needs to be fixed as part of this by the looks of it"

Admittedly, I haven't been able to attend many meetings recently so if there has been backsliding about that it would be time to panic again.


AnnMarie Otoole added a comment - 04/Sep/09 10:58 AM
Instead of applying rules to each object as it arrives, how about putting ALL objects entering a parcel in the attachment pool for 5 seconds with a "purgatory" flag to give enough time for everything to transfer. Any objects that have not linked to an avatar can then have the ejection rules applied.

Maggie Darwin added a comment - 04/Sep/09 11:01 AM
That all depends on what a "fix" is. Like changing the rules on vehicle prims is much easier than actually fixing the code, for the same reason: you can't tell a vehicle is a vehicle until a vehicle LSL call is made.

Oh, and Sling? Since when does an avatar have a prim pool? Or do you know about another stealth rule slouching towards implementation?


Dante Linden added a comment - 04/Sep/09 03:39 PM
The internal jira for this issue was marked as resolved about 2.5 years ago, before havok 4. As I understand it, there was a group of things that re-broke after havok 4; this might have been one of them. I re-opened the internal jira about a month and a half ago, but it is currently unassigned. I'm unassigning the pjira to reflect the internal status.

Maggie Darwin added a comment - 04/Sep/09 03:48 PM
Aaaaaand....back to the end of the line.

Maggie Darwin added a comment - 04/Sep/09 03:56 PM - edited
SVC-22 has been a standing joke at Andrew's office hours for at least a year. And now you're telling us it was marked closed internally?

As I have been saying for quite some time, the one-way flow of info from PJIRA to JIRA is probably the most severe flaw in how PJIRA is run.


Argent Stonecutter added a comment - 05/Sep/09 07:48 AM
Dante: this was not broken with Havok 4, rather it has NEVER been fixed. It was introduced years ago when a "fix" to temp rezzing prims broke sim crossing for vehicles, badly. Since then there has been no time, ever, when this has not been a major problem in Second Life. It has been brought up with multiple Lindens, who have acknowledged that it's a problem, over and over again. If this has been left "closed" for 2.5 years then there's INTERNAL problems at Linden Lab that need to be dealt with. It should never have been closed, and it should have been opened again years ago. In the meantime, this needs to get a MUCH higher internal priority given its importance and how long it's been neglected.

AnnMarie: the problem appears to be that there is no flag or annotation on a vehicle to indicate that it's a vehicle. It's only treated as a vehicle if there's someone sitting on it. If it happens tat the vehicle gets transferred from one sim to another before the rider, boom.

Adding a short delay won't help until they fix sim crossing so it only takes a short period to complete. The "vehicle nature" of an object needs to be an attribute of the object, only cleared when the sim has confirmation from the agent that it's no longer seated.


Maggie Darwin added a comment - 05/Sep/09 08:57 AM
I think this is intimately related to the lag spikes that occur when an avi enters a sim. I assume similar occurs even if the moving object is not being sat upon when it leaves one sim to enter another. If a vehicle is moving at any significant speed when it crosses a sim border, it is likely to rubberband completely across the destination sim before being picked up.

If then.

Now that Zindra is implemented, can we please get some serious attention paid to this cluster of issues?

You know, if simulators now take more memory than they used to post-Havok 4 or more likely post-Mono, perhaps it's time for Linden Research to cover the cost of that bloat with more real memory in the server boxen, instead of blaming the users and punishing them with "script memory quotas".


AnnMarie Otoole added a comment - 06/Sep/09 09:39 PM
In a conversation with one of the Lindens, he indicated that it was a timing problem, presumably the race between the rider and the vehicle getting there and in the same computer cycle. He said that it did not happen 100% of the time. So if the rider and the vehicle are there before the entry legality analysis is done they link back up and become a vehicle again and are permitted to stay.

1. If there could be a short delay of a few seconds before all objects are processed to see if it can enter legally, this would give riders and vehicles time to re-connect. We would need a purgatory flag applied to all objects entering. After decrementing for x cycles they are then checked to see if they can enter legally or are vehicles. Then if legal they enter, if illegal they are returned.

or 2. I guess this is not much different to objects "flagged" as vehicles for the purpose of region crossings but you would still have the timing problem of when to stop treating the object as a vehicle because of the flag and start checking if it is still linked. The flag would override the rider link check but has to be turned off at some stage to resort to a normal vehicle. So perhaps a list of pending vehicles would be needed.

It doesn't seem either of these would be difficult but unfortunately they are not trivial changes.

AnnMarie


Argent Stonecutter added a comment - 07/Sep/09 12:16 PM
Yes, there is a timing problem... to be precise, it's a race condition.

Adding delays to "fix" a race condition just reduces the likelihood of triggering the problem. It also opens up other race conditions from the other side, for example letting people tunnel weapon prims into a no-access parcel by coming through a sim wall.

The correct fix is to change the behavior so that it's not timing-dependent. That's what I'm suggesting, making "vehicle nature" an aspect of the prim, rather than a check to see if someone's sitting on it. It wouldn't need to get "turned off", you wouldn't stop "treating an object as a vehicle because of the flag" and start "checking whether someone's sitting on it", you would instead have the flag be the primary state, and have the flag turned off when the avatar stands or the agent disconnects.

They're already doing something like this for the script limits... vehicles will be prims that are being sat upon AND have crossed a parcel boundary. This would be the perfect time to fix it.


Maggie Darwin added a comment - 07/Sep/09 04:55 PM
Attempting to charge script memory in a moving vehicle to parcels as it enters is a recipe for disaster. Why do this when it's not done for the prims? Or are we headed that way too?

Argent Stonecutter added a comment - 08/Sep/09 02:37 AM
They're NOT going to charge script memory in vehicles to the parcel, UNLESS the avatar has no script memory available. The problem is that when a vehicle enters a parcel across a sim border the sim doesn't know it's a vehicle until the avatar crosses as well. That's the flaw that also causes all the other SVC-22-related problems,.