Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008913opensim[REGION] Scripting Enginepublic2021-07-18 08:482021-07-24 20:03
ReporterLotek 
Assigned ToLotek 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOperating SystemOperating System Version
Product Version 
Target VersionFixed in Version 
Summary0008913: Script state lost on X->Y->Y teleport sequence
DescriptionSorry for the weird summary heading but this is what we found:

Start at an XEngine sim (Sandbox Plaza I or II)
Teleport to an YEngine sim (Sandbox Plaza III) - OK
Teleport to another YEngine sim (Vanilly running OsGrid binary) - FAIL

At the first YEngine sim (Sandbox Plaza III) the script is OK, with the state being converted on the fly from the X engine sim.

But At the 2nd Y engine sim (Vanilly) the state has been lost, and state_entry is run which should not happen on teleports, and I guess especially not between two the same script engine, yengine.

So there is something wrong with how state is being passed in the teleport sequence X->Y->Y, where state is lost on the last Y hop.
Steps To Reproduce
// Test script to reproduce. Wear it while teleporting.

key g_kWearer;

Init()
{
    g_kWearer = llGetOwner();
}

default
{
    state_entry()
    {
        if(g_kWearer == NULL_KEY || g_kWearer == "") {
            llOwnerSay("Script lost state!");
            Init();
        }
    }
    
    on_rez(integer iStartParam)
    {
        if (llGetAttached()==0) return;
        else Init();
    }
    
    changed(integer i)
    {
        if (i & CHANGED_REGION) llOwnerSay("CHANGED_REGION, g_kWearer = "+(string)g_kWearer);
    }
    
}
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim, ubODE
Script EngineXEngine, YEngine
EnvironmentUnknown
Mono VersionNone
ViewerFirestorm
Attached Files

- Relationships

-  Notes
(0037866)
Lotek (reporter)
2021-07-18 08:49

NB: Y->Y->Y is ok as well as Y->Y->Y->Y
(0037867)
Aaack (reporter)
2021-07-18 08:59

Can confirm, this only happens jumping from X->Y-Y
(0037870)
tampa (reporter)
2021-07-18 11:36

That's like assuming that an .exe will just run on mac. You are switching between entire script engines, that going smoothly is asking quite a lot.
(0037871)
Aaack (reporter)
2021-07-18 14:59

By design script will recompile Y to X, not X to Y and certainly not from X to Y to Y.
It's like pretending an .exe run on windows.
(0037872)
UbitUmarov (administrator)
2021-07-18 15:27

make sure Y are all same version. State loss will happen btw some versions..
(0037881)
Aaack (reporter)
2021-07-19 07:06
edited on: 2021-07-19 07:07

Ubit can confirm that this happens with the exact same binary version.

I tried with different version (for example sandbox plaza 2, then 3 and then my shop, x->y->y) and the same version (my sandbox, my home sim and the shop).

This seems to be version agnostic.

(0037899)
Kubwa (reporter)
2021-07-21 21:00

Just save the important variables on an external server with http(s) like i do. I dont care of losing script states because of that.
(0037900)
UbitUmarov (administrator)
2021-07-22 22:56

made a few changes..
should work better if the at least the first or second Y region after X has this new code
(0037905)
Aaack (reporter)
2021-07-24 15:49

Can confirm, now scripts won't restart on X-Y-Y I tried with mixed versions and same versions with the same result, you rock man, thanks!

- Issue History
Date Modified Username Field Change
2021-07-18 08:48 Lotek New Issue
2021-07-18 08:49 Lotek Note Added: 0037866
2021-07-18 08:59 Aaack Note Added: 0037867
2021-07-18 11:36 tampa Note Added: 0037870
2021-07-18 14:59 Aaack Note Added: 0037871
2021-07-18 15:27 UbitUmarov Note Added: 0037872
2021-07-19 07:06 Aaack Note Added: 0037881
2021-07-19 07:07 Aaack Note Edited: 0037881 View Revisions
2021-07-21 21:00 Kubwa Note Added: 0037899
2021-07-22 22:56 UbitUmarov Note Added: 0037900
2021-07-24 15:49 Aaack Note Added: 0037905
2021-07-24 20:03 Lotek Status new => resolved
2021-07-24 20:03 Lotek Resolution open => fixed
2021-07-24 20:03 Lotek Assigned To => Lotek


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker