Flying vehicle across border into damage-enabled land causes injury (often immediate death)
tracked
Huns Valen
Locations where this happened earlier this evening:
Solang / Les Cigalons (near 155, 11)
Rua / Old Cave of Rua (near 70, 12)
Sequence:
- You're flying across a sim border.
- The land you're about to enter in the target sim has damage enabled.
- "Injured" noise plays.
- You die and are teleported home.
This has happened to me several times over the last week.
This is likely related to a highly repeatable bug in which a vehicle gets nudged by a few degrees (sometimes moreso) when going over a border. If you want to see that bug, try landing at Hollywood Airport in Santa Catalina, where the runways are very close to the edge. You'll often find the nose of your aircraft pointing in a slightly different direction after you've crossed the border. There seems to be some kind of spurious collision event that takes place, even if it's an airplane and not in contact with anything at all.
The phenomenon doesn't always have the same magnitude, but the hysteresis of "nudging" seems to scale inversely with aircraft mass. I have a very small aircraft (motorcycle-sized) that can be thrown off by multiple tens of degrees. Larger aircraft seem less susceptible: something the size of a Cessna 172 might get "tilted or panned" by 15 degrees or less.
Corroborating evidence: The "nudging" effect is readily apparent at low speeds, when the aircraft's kinetic energy isn't much higher than that of an avatar. Go over a border at 30 meters/sec, when the aircraft's kinetic energy is many times higher than that of an avatar, and the effect is less apparent.
My guess would be that this is a race condition that occurs while linking the avatar to the seat on the airplane as the handoff completes: they collide with each other during the split second that elapses between bringing the avatar into the sim, and linking it to the seat.
Now, does the avatar have to be non-phantom while this is occurring? Probably not. Avatar collision hull is useful on vehicles, but it's not so critical that you couldn't do without it for a moment on region handoff.
As I recall, over damage land, collisions can injure avatars, and vehicles forward damage to avatars as well. So, if the avatar is colliding vigorously with the airplane for a split second due to this phenomenon, the avatar would take damage.
Log In
AlettaMondragon Resident
Maestro Linden I think my tools are now reporting everything I want to log at this time. I added a changed() event in the damage report HUD to log entering regions, and record my avatar's speed and acceleration on these events. I also put the same region change log script into the airplane (whose name is Wacko!). And I was wearing my collision detector HUD as well, which consistently kept recording my collisions with the airplane.
The general pattern of the reports is this:
#1: Airplane reports entering new region
#2: Collision Detector HUD reports collision with airplane
#3: Damage Report HUD reports entering new region
#4: Damage Report HUD reports damage events IF any occurs.
In my first log there are no seconds in the timestamps yet because I forgot to turn it on, in the other logs there are seconds too. Quite useful seeing how much time it takes for the avatar to arrive after the plane.
Need to break this into several comments because of the ridiculous character limit. This Canny is really not suitable for bug reports.
AlettaMondragon Resident
If you look at the first log and search for [2025/11/15 13:41] you will see some pretty bad acceleration values from the airplane and that my HUD didn't report entering Castrum. I had a really bad region crossing from Gerache to Collhaytah at 13:40, the log actually shows that it took about a minute until my viewer came to its senses. My viewer wasn't freezing but I did get stuck in the air in my plane (I was able to right click, edit it and turn off physical, so interestingly I had just enough bandwidth to do this, but it did seem like I was going to be disconnected - which eventually didn't happen). This might have been the usual problem with V7 Firestorm or even a hiccup in my internet connection so I would disregard this if not for the fact that this happened right after:
[2025/11/15 13:41] Wacko!: Entered region Repaci with 28.357600 m/s speed and 3.470512 acceleration.
[2025/11/15 13:41] Almond Collision Detector HUD: Wacko!, owned by AlettaMondragon, at 229.5, 17.6, 80.2
[2025/11/15 13:41] Report Damage HUD: Entered region Repaci with 30.335400 m/s speed and 0.000000 acceleration.
[2025/11/15 13:41] Wacko!: Entered region Castrum with 30.200120 m/s speed and 20.771250 acceleration.
[2025/11/15 13:41] Wacko!: Entered region Repaci with 30.013940 m/s speed and 16.532980 acceleration.
[2025/11/15 13:41] Almond Collision Detector HUD: Wacko!, owned by AlettaMondragon, at 241.7, 93.1, 95.5
[2025/11/15 13:41] Report Damage HUD: Entered region Repaci with 30.494920 m/s speed and 0.000000 acceleration.
[2025/11/15 13:41] Report Damage HUD: I was struck by Wacko!{d6ec6cf8-09c5-bccf-31e3-5f99a49ee662} owned by AlettaMondragon Resident{437d1368-96b3-4d7a-b375-2a1d9bd35370} rezzed by AlettaMondragon Resident{437d1368-96b3-4d7a-b375-2a1d9bd35370} for 1.343609 points of impact damage (originally 1.343609)
(and then 4 more damage events here)
I really can't remember going through Castrum when this happened, so apparently while I was having the "bad crossing" / almost disconnected adventure here, my avatar might have not even entered Castrum, or the reporting failed. What bothers me is that I did take damage in Repaci, and we have established that it happens after exiting a damage enabled region. Castrum is NOT one of them so this makes no sense. Also, the acceleration values there are outstandingly high (not unique, though). I don't know if this is just a dead end, but it made me wonder if there might be a viewer-side component of this issue.
AlettaMondragon Resident
Another thing I noticed was that entering Degrand showed some absurdly high acceleration values:
[2025/11/15 14:23:53] Wacko!: Entered region Degrand with 30.545680 m/s speed and 1374.569000 acceleration.
I did it multiple times to verify it wasn't unique, they're in logs 2, 3 and 4. I had to break one flight into 3 logs because I had some really bad crossings and had to restart the plane mid-air. However the bad crossings didn't happen at Degrand, and it didn't feel laggy at all whenever I entered that region.
Overall I don't think there is a direct correlation between the anomalous acceleration values and taking damage. In that case damage should be higher if the acceleration value is higher, and it is not the case. Of course when my plane actually doesn't accelerate it would be expected that the shown acceleration value is 0, however the way crossings happen it does make sense it is not. Except the 1374 m/s^2 values, those are scary. I did some high angle of attack (diving) crossings too to produce some valid acceleration values. It seemed like these diving crossings didn't produce damage, but I was using a VecMag value for acceleration, so to verify, I logged the actual acceleration vector on my last flight (Log #5) and did more diving crossings. It was very inconsistent. Damage does happen anyway, most of the acceleration isn't even vertical but the mysterious horizontal acceleration. It must be related to lag more than anything, given the absurd values in Degrand and also whenever I had a rough crossing, as well as when landing in Wyrldmaker (the airport), I got these very high acceleration values. However the HUD on my avatar always reports zero acceleration, so maybe this could be related? Shouldn't the avatar accelerate at the same rate as the vehicle they're sitting on?
AlettaMondragon Resident
Maestro Linden My first test was quite successful. In the Degrand channel, mostly the 4 damage enabled regions Feraco, Betacourt, Sarante and Petaccio, but I did fly out to Degrand, Rexach, Repaci and Gerache as well, which turned out to be very important.
I was wearing my own collision detector and I put the damage report script into another object so I had both of these ready. The quite unexpected and concerning observation I made is that on almost every crossing my collision detector showed a collision with my aircraft.
My first choice was a Shergood helicopter because it is very complex, medium-sized, can be laggy on crossings, and people who complained about taking damage in this area while flying usually experienced this in Shergood helicopters, and I did as well a few times in the past. Now I was flying round and round until I got dizzy and all I got was 4% damage on one of the crossings. Boring.
Eventually my Waco YMF-5 reproduced what we wanted to see, big time. No surprise this plane always tries to kill me one way or another. The log is attached.
Too bad nothing on me reported which region I left and entered because most of these big bursts of damage happened when I was crossing from one of the damage enabled regions into one that isn't. For example from Sarante to Degrand. Until now I thought the damage event happened when I entered the damage enabled region, but I suppose this changes everything in some way now, since
I took damage upon leaving the damage enabled region
.I will do this again later to log my region crossings as well. If you do more tests, I suggest you do the same so you can see the order the region change, collision and damage reports come in.
Maestro Linden
AlettaMondragon Resident: Thanks for the testing. The presence of agent-vehicle collision events further supports my suspicion that the damage stems from those collisions. The general agent-vehicle collision event bug report is at https://github.com/secondlife/jira-archive/issues/10359
AlettaMondragon Resident
Maestro Linden I've just read Kayzed's report and detailed observations, as well as the much older related reports. Kayzed's details are very useful, and interestingly she and you have already suspected the same reasons as Huns and I here, but instead of chasing "kinetic energy" like us, she found the erroneous acceleration values. I am working on a reporting tool for this, I will add acceleration to it.
The old reports don't seem to describe the same issues, but probably different manifestations coming from the same source on a different infrastructure. Keep in mind you have greatly improved the way objects cross regions when making changes for the "uplift", so that changed how vehicles behave on region crossings, as well as their behavior related to avatars, since the way agents cross regions wasn't improved.
Originally vehicles took more time to arrive in the next region than avatars, and now the vehicle is most often already in the region but the avatar is not yet, and a multitude of errors come out of it, mostly the unable to request permissions because the avatar was not found types.
I think in Kayzed's report the vehicles getting stuck in erroneous motion and losing control is a result of this, simply losing control input permissions and then acting on some erroneous control input they carried over the region crossing. At least when this happens to me, this seems the most likely explanation.
It would be very convenient (in theory) if all these avatar-on-vehicle errors came from the same bug somewhere. So fixing that one thing could possibly eliminate all the errors. However since this is as old as region crossings, just occurring differently with different simulator infrastructure, viewer behavior, vehicle scripting and probably affected by connection as well, it might be some fundamental issue in the simulator code that causes this. While you can look into those, we can't, so we can only make wild guesses and have no way to prove them.
Maestro Linden
marked this post as
tracked
Maestro Linden
I spent some time flying around the damage-enabled parcels at http://maps.secondlife.com/secondlife/Solang/156/9/11 using the 'VHI Nimbus'. I originally had trouble reproducing this issue, when only 1 agent was seated on the plane. However, when I had a 2nd agent sit, both seated agents took damage on _most_ region crossings.
Curiously, the 'report damage events' script attached to my avatar did not report the damage to my avatar in most cases. However, in some cases it did report a burst of ~10 minor damage events from the aircraft, like so:
[12:27] report damage attachment: I was struck by VHI Nimbus{be65c3fa-ef1f-1e20-b720-65851351d9dd} owned by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} rezzed by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} for 0.511942 points of damage (originally 0.511942)
...
[12:27] report damage attachment: I was struck by VHI Nimbus{be65c3fa-ef1f-1e20-b720-65851351d9dd} owned by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} rezzed by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} for 1.769382 points of damage (originally 1.769382)
I didn't experience an outright 'death' event, but my agents' health did drop <50% sometimes.
Huns Valen
Maestro Linden If you throttle up enough to light the burners, you'll die even if you're alone.
Maestro Linden
marked this post as
needs info
Maestro Linden
Hi Huns Valen thanks for the report. I _suspect_ this issue is related to the spurious collision events that can occur between a vehicle and the rider (reported at https://github.com/secondlife/jira-archive/issues/10359 among other places).
I tried this myself, flying a simple airplane into http://maps.secondlife.com/secondlife/Solang/156/9/11 across the southern border at ~40m/s, but I'm having trouble reproducing the damage events, even in cases where the vehicle gets the spurious
collision_start()
event against my agent. When you see this issue, what are the details of the damage event, if you wear something like the 'report damage events' script below in an attachment? I would expect this output to report that your damage was applied by the vehicle if the damage is triggered by a spurious collision event on crossing.
I'm asking because it's possible that some unrelated script could be calling https://wiki.secondlife.com/wiki/LlDamage against your agent_id, which wouldn't require a collision with your avatar.
// report damage events - wear in attachment
default
{
on_damage(integer n)
{
while(--n > -1)
{
key object = llDetectedKey(n);
string object_name = llDetectedName(n);
key owner = llDetectedOwner(n);
key rezzer = llDetectedRezzer(n);
list damage = llDetectedDamage(n);
string owner_name = llKey2Name(owner);
string rezzer_name = llKey2Name(rezzer);
llOwnerSay("I was struck by " + object_name + "{" + (string)object + "} owned by " +
owner_name + "{" + (string)owner + "} rezzed by " +
rezzer_name + "{" + (string)rezzer + "} for " +
(string)llList2Float(damage, 0) + " points of damage (originally "
+ (string)llList2Float(damage, 2) + ")" );
}
}
}
AlettaMondragon Resident
Maestro Linden You can try it at a much better testing area, in the Degrand Channel. There is an airport in Wyrldmaker if you need a runway, and you can just fly round and round Feraco, Petaccio, Sarante and Betacourt, all four are damage enabled. I will put on your script and fly around there myself once I'll have enough time. This occurrence is not consistent with every vehicle so that's a factor as well.
Maestro Linden
Thanks, the location around http://maps.secondlife.com/secondlife/Feraco/1/255/85 is a bit of a bigger target for entering damage-enabled parcels on crossings.
I'm not immediately getting damage with a very basic 1-prim aircraft when flying around 50m/s, but I _did_ notice a minor damage event if I suddenly stood up while flying:
[15:44] report damage attachment: I was struck by 1-prim airplane report damage{e551afd4-ed0d-28da-af62-7c20f37bf103} owned by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} rezzed by Maestro Linden{e1a51880-d7b5-4c00-800d-91664f5b84c0} for 0.653224 points of damage (originally 0.653224)
[15:44] 1-prim airplane report damage: hit collision_start with e1a51880-d7b5-4c00-800d-91664f5b84c0
This makes me wonder if the surprise-damage cases are caused by a botched crossing in which the agent became unseated. Are there cases in which the agent is definitely still seated afterward, despite getting some damage?
Huns Valen
Maestro Linden
Just now, I tried going over the border into Solang near 155, 11 at partial throttle (maybe 20 meters/sec) and saw that my health was at 99% as soon as I crossed the border. Didn't die, wasn't unseated. A few more times around 30 meters/sec, sometimes nothing happened but one time my health was instantly at 55%. Didn't get unseated during these crossings either. One test just below 40 meters/sec, and two tests at about 47 meters/sec were all lethal.
So, it scales with velocity, which makes sense for the collision theory. The difference in kinetic energy between the aircraft and the avatar increases with speed.
I'm sending you a VHI Nimbus that you can use to test at whatever speed you want, including extremely high speeds (it can do 100 meters/sec in a dive.) That is the airplane I just did these tests in. You should still have the HUD I gave you a while back.
Difference here is the aircraft is all around the avatar from every side. If you were flying a wooden cube, your avatar would have "more places to go." Havok would not have to put as much energy into your avatar while "deconflicting" it from the cube.
A wooden cube also has much less kinetic energy than a full airplane at any significant speed.
AlettaMondragon Resident
Maestro Linden
"Are there cases in which the agent is definitely still seated afterward, despite getting some damage?"
That's tricky because if the damage is lethal the avatar will be teleported home, so in that case, it obviously won't be seated afterwards. When this happened to me in the past it didn't kill me and even though the crossing was very laggy, I was properly seated after the crossing. I didn't have time to do tests since last week.
Edit: Now that I did some tests (results above in a separate comment) I can answer this, I was "definitely still seated" after taking damage. My control input on the aircraft was still working, no sit position issue, no camera issue, and my viewer reported my position correctly.
Huns Valen
"So, it scales with velocity, which makes sense for the collision theory."
It should, and it would explain why I took low damage when it happened on a sailboat and why much more in a helicopter. Whenever I get to it, I am going to test this specifically.
Also keep in mind the damage enabled parcel in Solang is a private parcel, so there might be other factors occasionally, like random prims in the air or even objects shooting at avatars or simply colliding and dealing llDamage.
Huns Valen
AlettaMondragon Resident I flew over the parcel border from within the same simulator several times, and didn't take damage.
AlettaMondragon Resident
Huns Valen I agree this is very uncomfortable while flying or sailing. Interestingly I can't remember ever dying because of this, but I took up to 80-something percent damage from my own helicopters sometimes, which was scary.
"My guess would be that this is a race condition that occurs while linking the avatar to the seat on the airplane as the handoff completes: they collide with each other during the split second that elapses between bringing the avatar into the sim, and linking it to the seat."
My understanding is that exactly this is what happens, you're linked to the vehicle and as you say the avatar is separated from it for a split-second (preferably, but longer if it's failing) then it has to be linked to the vehicle again in the next region. In this phase the vehicle and the avatar can collide indeed.
I wear my collision detector sometimes while driving and it happens surprisingly often. Sometimes out of 100 crossings up to 50 would result in my collision detector showing I had just collided with the vehicle I was driving.
Years ago when I was working on my vehicle loss prevention script, while testing a lot of different methods, some of them clearly showed that often the simulator has no idea where the avatar is after the crossing, and this lasts up to several seconds sometimes, and it can fail and you can get disconnected as a result.
"Now, does the avatar have to be non-phantom while this is occurring? Probably not. Avatar collision hull is useful on vehicles, but it's not so critical that you couldn't do without it for a moment on region handoff."
Avatars are always physical when they are not sitting, and if they were phantom, they could even fall through terrain. I ended up a few hundred meters under the terrain sometimes, it was pretty bad. Interesting for sure but not a nice experience. Also managed to fall off a region edge once and kept falling for about a minute before the sim realized I was out of bounds.
I'm not sure turning the avatar phantom for the crossing would be reliable if other aspects of avatars crosisng regions are so unreliable.
AlettaMondragon Resident
There is also a "monolith glitch" where your avatar bounding box stays linked to the vehicle in your seat as a gray prim as it keeps going without you (and you get disconnected), that glitch makes me think this issue might be a bit more complex, and maybe the duplicate avatar bounding box can collide with the avatar too. I will have to look up my collision detector logs for that later.