Anonymous | Login | Signup for a new account | 2021-01-22 21:20 PST | ![]() |
Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0008276 | opensim | [REGION] OpenSim Core | public | 2017-12-26 10:49 | 2017-12-26 10:49 | |||||
Reporter | Kayaker Magic | |||||||||
Assigned To | ||||||||||
Priority | normal | Severity | major | Reproducibility | always | |||||
Status | new | Resolution | open | |||||||
Platform | Linux Mono | Operating System | Ubuntu | Operating System Version | OpenSim 0.9.1 de | |||||
Product Version | master (dev code) | |||||||||
Target Version | Fixed in Version | |||||||||
Summary | 0008276: Region crossings lock up scripts after a while | |||||||||
Description | I'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 Reproduce | Put 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 default { state_entry() { llOwnerSay("reset"); llSitTarget(<0,0,1>,ZERO_ROTATION); } changed(integer flag) { if (flag&CHANGED_LINK) { if (sitter==NULL_KEY && llAvatarOnSitTarget()!=NULL_KEY) //sat { llOwnerSay("starting"); sitter=llAvatarOnSitTarget(); llSetKeyframedMotion([vdir,5.0],[KFM_DATA,KFM_TRANSLATION]); dir=1; //forward llSetTimerEvent(6.0); } else if (sitter!=NULL_KEY && llAvatarOnSitTarget()==NULL_KEY) //unsat { llOwnerSay("stopping"); llSetTimerEvent(0.0); llSetKeyframedMotion([],[KFM_COMMAND, KFM_CMD_STOP]); sitter=NULL_KEY; } } } timer() { dir = dir * -1; //toggle direction llSetKeyframedMotion([dir*vdir,5.0],[KFM_DATA,KFM_TRANSLATION]); } } | |||||||||
Tags | No tags attached. | |||||||||
Git Revision or version number | 201c916670f9cd84347005523017049fb4275125 | |||||||||
Run Mode | Grid (1 Region per Sim) | |||||||||
Physics Engine | ubODE | |||||||||
Script Engine | ||||||||||
Environment | Mono / Linux64 | |||||||||
Mono Version | trunk | |||||||||
Viewer | FireStom | |||||||||
Attached Files | ||||||||||
![]() |
|||
Date Modified | Username | Field | Change |
2017-12-26 10:49 | Kayaker Magic | New Issue |
Copyright © 2000 - 2012 MantisBT Group |