Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008276opensim[REGION] OpenSim Corepublic2017-12-26 10:492017-12-26 10:49
ReporterKayaker Magic 
Assigned To 
PlatformLinux MonoOperating SystemUbuntuOperating System VersionOpenSim 0.9.1 de
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0008276: Region crossings lock up scripts after a while
DescriptionI've had some unreliable region crossings, so I wrote a script to test it to destruction. This script is a “vehicle” that crosses back and forth over a border between two regions. It takes 5 seconds to cross, pauses for a second, crosses back in 5 seconds, pauses for another second then repeats.

It works fine for a while, but after about 10 minutes the script crashes, the riding avatar is teleported to one of the region edges and the script gets into a state where restarting it does not get it working again. Forcing the script to re-compile is necessary to try again. Then the vehicle can be ridden another 10 minutes before the script locks up again. When run in the middle of a region with no border crossings, the script runs indefinitely.

This failure happens when the border crossing is two regions in different instances on the same server and also when the two regions are in the same instance. All these tests were done in nearly empty regions. Some in 1x1s and others in var regions of different sizes. I upgraded to the latest 0.9.1 dev commit 201c916670f9cd84347005523017049fb4275125 and still see this problem. I tried this on OSGrid with the commit used there and still saw this problem.

Although it takes a few minutes to get this failure to happen, once the script locks up it will be possible to diagnose why it is in that state.
Steps To ReproducePut the following script in a prim, put the prim within 10 meters of the north edge of a region with another region north of that. (Change the vdir variable if you have two regions connected in a different orientation).

Sit on the prim and ride it back and forth. Before 10 minutes is up, the avatar will be teleported to the edge of a region (usually the East side). Find you way back and try sitting on the prim, it does not respond. Try resetting it, it will not reset.
Additional Information    //script to demonstrate crossing problems
   // Place this within 10 meters of the North edge of a region
  // Change vdir if you need to do this on a different edge
 // Sit on the prim, it will move back and forth across the border
// It takes your keyboard controls to test loss of that on a crossing
// Press the keys and you should see their name called out

integer dir=1; //which way I went last, +1 foreward, -1 backward
vector vdir=<0,20,0>; //vector pointing north
key sitter=NULL_KEY; //who is sitting on me

    changed(integer flag)
        if (flag&CHANGED_LINK)
            if (sitter==NULL_KEY && llAvatarOnSitTarget()!=NULL_KEY) //sat
                dir=1; //forward
            else if (sitter!=NULL_KEY && llAvatarOnSitTarget()==NULL_KEY) //unsat
                llSetKeyframedMotion([],[KFM_COMMAND, KFM_CMD_STOP]);
        dir = dir * -1; //toggle direction
TagsNo tags attached.
Git Revision or version number201c916670f9cd84347005523017049fb4275125
Run Mode Grid (1 Region per Sim)
Physics EngineubODE
Script Engine
EnvironmentMono / Linux64
Mono Versiontrunk
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2017-12-26 10:49 Kayaker Magic New Issue

Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker