Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008366opensim[GRID] Hypergridpublic2018-09-11 21:482019-12-05 11:30
ReporterLotek 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformOSUbuntuOS Version16.04LTS
Product Version 
Target VersionFixed in Version 
Summary0008366: Attached scripts lose all state on first hypergrid jump
DescriptionOn the first HG jump to a foreign grid, scripts in all attachments cease working. They don't even receive a state_entry or CHANGED_REGION event. AO's, pose and photography HUD's, followcams, opencollars, mesh body HUDs will all stop working.

While still in the destination at the foreign grid, if we then cross or TP into another region on the same destination grid, scripts will start working again but have totally reset, lost all stored state like variable contents that they still had when leaving our own grid initially.

- Scripts are enabled on the destination grid regions
- Happens between fast grids as well as slow grids
- Happens even with one single scripted attachment with a small script
- I've heard this DID work between two hypergridded OS 0.8 regions, yet to confirm

I don't know whether this bug is limited to specific viewers (in this testcase I used the latest Firestorm)
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
Script Engine
EnvironmentMono / Linux64
Mono Version5.x
ViewerFirestorm
Attached Files

- Relationships
has duplicate 0008049new Scripted attachments stop working on first hypergrid jump 

-  Notes
(0032930)
Lotek (reporter)
2018-09-12 06:35

Doesn't work either for the first jump from a 0.8 region to another grid's 0.8 region so this issue has been around for a while.
(0035684)
Lotek (reporter)
2019-09-20 01:13

Dupe of 8049 (I am not allowed to add that relationship)
(0035685)
UbitUmarov (administrator)
2019-09-20 03:38

don't think viewers have anything to do with it
Sounds like just another HG "glitch"

Note that scripts transfer can only be expected to work between regions running similar versions, and same script engine. Xengine to Yengine may work, reverse will not.
There are also the diferent permissions settings...

But your observation that if failed already on old 0.8<->0.8 does point to a origianl issue somewhere on HG code
(0035686)
UbitUmarov (administrator)
2019-09-20 04:14

made a simple test wearing a box with this script
integer a = 0;
integer lastEv = 0;
default
{
    state_entry()
    {
        llSay(0, "Script running");
    }
    touch_start(integer bbb)
    {
        llOwnerSay((string)a++ +" "+(string)lastEv);
    }
    changed(integer ch)
    {
        llOwnerSay((string)ch);
        lastEv = ch;
    }
}

tested HG teleports btw my test grid and a a osg region almost on master
both on Yengine, but the issue should be on code paths shared by all engines.

on first HG tp the script did seem dead
repeating back and fw it did work fine


[04:09] Grid: The region you have entered is running a different simulator version.
Current simulator: OpenSim 0.9.1.1 osC2_master_b3690c_111151_091819 (Unix/Mono)
Previous simulator: OpenSim 0.9.1.0 Snail Dev (Win/.NET)
[04:09] Object: 32768
[04:09] Object: 256
[04:09] Object: 512
[04:10] Object: 11 512
[04:10] Object: 12 512
...
[04:13] Object: 32768
[04:13] Grid: Teleport completed from hop://127.0.0.1:9004/Dev%20Outreach/360/386/23 [^]
[04:13] Grid: The region you have entered is running a different simulator version.
Current simulator: OpenSim 0.9.1.0 Snail Dev (Win/.NET)
Previous simulator: OpenSim 0.9.1.1 osC2_master_b3690c_111151_091819 (Unix/Mono)
[04:13] Object: 256
[04:13] Object: 512
[04:14] Object: 13 512
...
(0035687)
UbitUmarov (administrator)
2019-09-20 04:16

tp to lbsa did a full reset, because lbsa is on Xengine.
return, worked fine.
(0035688)
UbitUmarov (administrator)
2019-09-20 04:21

btw don't make my mistake, always edit scripts on ground, not wearing them :)
thats another old issue
(0035689)
tampa (reporter)
2019-09-20 04:50

Script working on the second try makes sense, the destination has the asset at that point, but during the first jump the asset arrives after you get there at which point the state cannot be retrieved anymore, you have arrived already. Sending the attachments over before doing the jump would likely solve this, but that would mean redesigning the protocol.
(0035942)
Lotek (reporter)
2019-12-05 10:44

I don't have the bug after changing the following setting from co-op (default) to abort for the destination region, but there is a warning there in the comment about possible stability issues:

    ; Controls whether scripts are stopped by aborting their threads externally (abort)
    ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
    ; co-op will be more stable as aborting threads can cause instability.
    ; abort was the default option in OpenSimulator 0.8 and before.
    ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
    ; However, the setting change will not take affect until the next time you restart the simulator.
    ; Setting changes will not affect state information stored for scripts.
; ScriptStopStrategy = co-op
ScriptStopStrategy = abort

This is on XEngine btw, I never really tried YEngine.
(0035943)
UbitUmarov (administrator)
2019-12-05 10:49

thx for the feedback
Yengine to Xengine will always reset scripts and lose state.
X to Y may work, because now Y can read X state, at least most the time.

but there are HG thingies..
(0035944)
Lotek (reporter)
2019-12-05 11:30

My case is about XEngine hypergrid to XEngine (which works with 'abort' but not the default 'co-op'). That it fails with HG'ing YEngine to YEngine as well is interesting.

Be careful with testing, as you said once an attached script is cached it's fine on a return visit. Best test with fresh scripts.

- Issue History
Date Modified Username Field Change
2018-09-11 21:48 Lotek New Issue
2018-09-12 06:35 Lotek Note Added: 0032930
2019-09-20 01:13 Lotek Note Added: 0035684
2019-09-20 03:36 UbitUmarov Relationship added has duplicate 0008049
2019-09-20 03:38 UbitUmarov Note Added: 0035685
2019-09-20 04:14 UbitUmarov Note Added: 0035686
2019-09-20 04:16 UbitUmarov Note Added: 0035687
2019-09-20 04:21 UbitUmarov Note Added: 0035688
2019-09-20 04:50 tampa Note Added: 0035689
2019-12-05 10:44 Lotek Note Added: 0035942
2019-12-05 10:49 UbitUmarov Note Added: 0035943
2019-12-05 11:30 Lotek Note Added: 0035944


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker