Properly save last location on irregular logouts (e.g. timeout)
tracked
Jerrod Diavolo
For many years now SL has reset certain values back to its value on last login after an irregular logout (like a crash or timeout).
I can understand how that might be necessary for script state or alpha layers but it should be relatively cheap to save some more recent last login location like the one from a minute before the crash or the last teleport or crossing into a region.
Log In
Maestro Linden
marked this post as
tracked
Maestro Linden
Thanks for the tip on how to reproduce this. I can reproduce it on Aditi when I do the following:
- Launch the viewer and login with Dore as start location
- After arriving in Dore, exit the viewer
- Launch the viewer and login with Ahern as start location
- After arriving in Ahern, open the world map and attempt to teleport to "Brad Empty". This is a special development region which is 100% inaccessible over a normal internet connection.
- The teleport should time out and the viewer will be kicked offline
- Exit the viewer
- After a minute, launch the viewer and login to 'Last Location'. Note where you arrive.
Expected results:
In (7), the viewer should arrive in Ahern, as that was the last location the agent was in.
Actual results:
In (7), the viewer arrives in Dore. Apparently the failed-TP session never wrote updated the agent's last location.
Nyx Onyx
Maestro Linden Did you try teleporting somewhere, and when standing on the new region, pulled your connection, and then logged in again after restoring your connection?
m
maestro20220228 Resident
Nyx Onyx I tried something like that but with teleporting in the 'Method B' in my attempt on Monday. Killing the viewer has the same basic effect as losing your internet connection, as the sim will be unable to communicate with your viewer and will end your session after a timeout period.
Nyx Onyx
maestro20220228 Resident Maestro Linden
- Log in to Xaos
- Teleport to Main%20Channel%20Sandbox%20A
- Teleport to Linden%20Estate%20Services3
- Activated VPN, was disconnected from SL as a result.
- Waiting for the viewer to time out; can rotate the avatar but not walk in the meantime. Can send chat to Nearby, but it does not appear.
- Log back in to Last Location (VPN still enabled)
- Ended up at Linden%20Estate%20Services3
Confirmed that losing connection when -at- a region, you will end up on logging in again where you were when you got disconnected. As you said.
The problem of being sent back to the previous -login location- upon logging in again only seems to happen when being dropped during teleport. This I could also repro now in the same way, by toggling my VPN "midflight".
Maestro Linden
marked this post as
needs info
Hi Jerrod, I'm having trouble reproducing this issue. I tried two different methods a few times, and login to 'last location' is working reliably for me after the previous session exited uncleanly.
The two methods I tried were:
Method A:
- Launch the viewer and login to RegionA
- Exit the viewer - this is a clean disconnect
- Launch the viewer and login to RegionB
- Kill the viewer to simulate a crash (using either Force Quit / Windows Task Manager, or Develop -> Force An Error -> Force LLError and Crash)
- Optionally wait a minute for the first session to timeout and disconnect (I tried both with and without this pause)
- Launch the viewer and login to 'last location'
- Expect to arrive in RegionB upon login
Method B:
- Launch the viewer and login to RegionA
- After a few minutes, region cross into RegionB
- Kill the viewer
- Optionally wait a minute for the first session to timeout and disconnect (I tried both with and without this pause)
- Launch the viewer and login to 'last location'
- Expect to arrive in RegionB upon login
Do you have a similar recipe in which login to 'last location' causes you to arrive at an older location?
Jerrod Diavolo
I seem to be able to reproduce it on Linux if I kill the viewer with kill -9 (SIGKILL, does not give the process any opportunity to do any cleanup).
Uggo Vieria
Hi Maestro Linden, it's happening when you leave a region but never enter the new one. To reproduce, use a vehicle that will keep going w/o holding controls (like most boats), face a region border and use Developper, Force an error, Force disconnect viewer BEFORE the crossing.
The region you left now longer "knows" you and you never connect to any other.
This also leads to the issue I described a few years ago in "BUG-230763: Sit target remains occupied if a user is disconnected while sitting on a vehicle" which makes the vehicle mostly unusable without taking it in inventory and re-rezzing it
Nyx Onyx
Maestro Linden can be reproduced also if you start a teleport and then pull the network in the middle of it. Even if not teleporting I believe you get back on last login's location if you pull your connection even without doing it in the middle of a teleport, as in, just standing around at a region.