Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005800opensim[REGION] Script Functionspublic2011-11-27 04:462015-08-18 09:34
ReporterCrasherRob 
Assigned ToCrasherRob 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformWindowsOSWindowsOS VersionXP
Product Versionmaster (dev code) 
Target VersionFixed in Versionmaster (dev code) 
Summary0005800: State changes are not immediate
DescriptionState changes are queued, not immediate. This contradicts http://wiki.secondlife.com/wiki/LSL_States, [^] which says

state my_state;

When this line of code is executed, it will run anything in the state_exit event, and then switch to the new state.

When switching states, all event queues are cleared, and events requiring setup are disabled such as timer, sensor, and listen.

(This contradicts http://lslwiki.net/lslwiki/wakka.php?wakka=llSetTimerEvent, [^] which says the timer events persists over a state change.)
Steps To ReproduceRun the attached script.

You can also run the script in http://opensimulator.org/wiki/OsNpcCreate [^] and touch the object containing the script twice quickly. This leave you with an extra clone avatar. This also demonstrates that the problem occurs with queued touch as well as queued timer events.

This script works exactly the same in grid and stand-alone mode.
Additional InformationNote that in the attached script, state_entry is driven, then state_exit, and then state_entry again. This occurs without any action in the "another" state.

I've been using NPC scripts, and every one of them turned out to be broken one way or another because of this glitch. The attached script contains a work-around for this problem, currently commented out.
TagsNo tags attached.
Git Revision or version numberOSgrid 0.7.3 (Dev) ff36a1b: 2011-11-14 git hash : ff36a1bc7bcd1d0fe5aecb4c5358dbb072c7ff6e Release: R/17257
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
Environment.NET / Windows32
Mono VersionNone
ViewerImprudence Experimental
Attached Files? file icon Mantis_0005800.lsl [^] (2,464 bytes) 2011-11-27 04:48

- Relationships
duplicate of 0006960closedjustincc state_entry() can be executed multiple times for a single state transition 

-  Notes
(0027954)
CrasherRob (reporter)
2015-03-29 09:23

Looks like this is a duplicate of 6960 (or 6960 is a duplicate of this.)
(0029244)
aiaustin (developer)
2015-08-18 09:34

Resolved issue marked as closed. Please open a new issue and refer to this one if problems arise.

- Issue History
Date Modified Username Field Change
2011-11-27 04:46 CrasherRob New Issue
2011-11-27 04:48 CrasherRob File Added: Mantis_0005800.lsl
2015-03-29 09:22 CrasherRob Relationship added related to 0006960
2015-03-29 09:23 CrasherRob Note Added: 0027954
2015-03-29 09:24 CrasherRob Relationship replaced duplicate of 0006960
2015-03-29 09:24 CrasherRob Status new => resolved
2015-03-29 09:24 CrasherRob Fixed in Version => master (dev code)
2015-03-29 09:24 CrasherRob Resolution open => fixed
2015-03-29 09:24 CrasherRob Assigned To => CrasherRob
2015-08-18 09:34 aiaustin Note Added: 0029244
2015-08-18 09:34 aiaustin Status resolved => closed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker