11-17-2012 01:45 PM
Hi anyone had this problem or any ideas?
I am communicating with a SQL database via llHTTPRequest on a timer and have been getting phantom updates to the data base.
I have proved that (by changing the PHP file and debug in the script) that they are not coming from my current HUD object and can only be coming from a older script (the data is very specific with a CRC that's always correct as would be generated by a script).
The only thing I can think of is that there is a orphaned script running on a server. That kinda asks where are worn scripts run? And when are those servers restarted?
Any suggestions will be helpful as although I have over come by changing the PHP and updating the script I could happen again
11-17-2012 04:26 PM
its my understanding that scripts are ran on the server of the sim you're in. I think it's more likely that you have a copy of the hud rezzed somewhere and not realizing it.
11-17-2012 04:35 PM
Scripts in worn attachments are run by a region the avatar is currently in. On agent's arrival these scripts are loaded into the regional server memory and booted to run. There used to be a bug in mono scripts loading that would momentary freeze a region on agent's arrival especially if the agent was wearing many scripted attachments. This bug appears to be more or less fixed. The exception to the above is when an agent crosses sim boundary on foot. Then the previous regional server still runs the scripts until the avatar penetrates the new region deep enough, like 40m or so.
Theoretically orphaned scripts are entirely possible and would happen when due to some software glitch the region fails to unload the scripts upon an object being deleted or taken into agent's inventory or moved to a new region if worn by an agent. A way to get rid of them would be a periodic audit by the server but I don't know if such audit is run and if yes how often. As it is a common software design practice I would assume it is run in some shape or form.
In practice to get rid the effect you describe would be a handshake between the front end in-world object and the back end web server. An object id is delivered to the back end on handshake and the back end further processes queries arriving only from known ids.