OpenSim Mantis Tracker
| Anonymous | Login | Signup for a new account | 2010-07-31 17:27 PDT |
| Main | My View | View Issues | Change Log | Roadmap | Summary | Docs | My Account |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
| 0002929 | [opensim] [REGION] Scripting Engine | minor | always | 2008-12-28 07:40 | 2009-10-02 22:06 | |||||||
| Reporter | Akira | View Status | public | |||||||||
| Assigned To | ||||||||||||
| Priority | normal | Resolution | reopened | |||||||||
| Status | confirmed | Product Version | ||||||||||
| Summary | 0002929: llRemoveInventory(llGetScriptName()); Does not remove script | |||||||||||
| Description | I've used the testscript attached to issue 2754 and the effect is now the script stops to run, but the script itself remains in the prim. On SecondLife the script runs without a problem. | |||||||||||
| Additional Information |
Grid: OSGrid Region: Ko Suai |
|||||||||||
| Tags | No tags attached. | |||||||||||
| Git Revision | ||||||||||||
| SVN Revision | 7863 | |||||||||||
| Run Mode | Grid (1 Region per Sim) | |||||||||||
| Physics Engine | BasicPhysics | |||||||||||
| Environment | Mono / Linux32 | |||||||||||
| Mono Version | 1.9.1 | |||||||||||
| Attached Files | ||||||||||||
|
|
||||||||||||
Relationships |
||||||
|
||||||
Notes |
|
|
(0008521) melanie (administrator) 2008-12-28 08:01 |
I can confirm that the script is indeed not deleted from inventory |
|
(0009068) WordfromtheWise (reporter) 2009-01-30 13:38 |
also for me .. it wont delete i tried the same script on following other version - 0.6.1.8062 - 0.6.1.7994 additionally on my own region (hostet on xp at home) i use - 0.6.2.8182 and still it do not work .. this is my Testscript default { state_entry() { llRemoveInventory(llGetScriptName()); } timer() // just in case { } touch_start(integer total_number) { // try to delete the script from content folder llRemoveInventory(llGetScriptName()); // try to delete the script by name _Ontouch //this is the actual script name llRemoveInventory("_Ontouch"); // test to see if it throws an error trying to del a object that really do not exist in the prim llRemoveInventory("notexist"); } } it wont work with those three methods ; any ideas appreciated |
|
(0009848) WordfromtheWise (reporter) 2009-03-05 15:29 edited on: 2009-03-05 15:31 |
tried it today again .. but it does not work .. !! Server Info: 0.6.3.8708 (interface 3) on Windows XP and with 0.6.3.8640 (interface 3) on Suse 11.1 bith with the XEngine Anybody can confirm it working .. or does anybody has a workaround ? best regards Word |
|
(0010084) WordfromtheWise (reporter) 2009-03-22 13:17 edited on: 2009-03-22 13:24 |
i found out that the functions itself works llRemoveInventory("script_name"); alone, called onclick or with a listener works and deletes the script called "script_name" .. in the inventory .. but the problem is that it wont delete the script if llRemoveInventory("script_name"); is used ON ITSELF , the actual script. The function can delete other scripts in the inventory but not itself. Sounds like a security feature gone wrong, but like this, the function is somehow useless because many times the script should delete itself .. what can be done ? Any ideas ? info: regarding the testcripts further up in the thread i used llRemoveInventory(llGetScriptName()); first, and as this is not working (as it can not delete itself) it stopped further steps in the script .. |
|
(0010596) LynMimistrobell (reporter) 2009-04-10 08:02 |
I've found the same behaviour, using XEngine. And I suspect it has to do with XEngine's OnRemoveScript method which removes the script from the XEngine collection of scripts it's maintaining. After that, the script stops executing and I suspect that's why the llRemoveInventory call is not completed. Additional info: Once a script has tried to remove itsself, if you open the script the checkboxes Running and Mono are greyed out. This to me is a confirmation that the script was removed from the XEngine's collection. |
|
(0010677) svn (developer) 2009-04-12 05:03 |
melanie committed related code in r9112 Actually remove the script if it tries to remove itself. Fixes Mantis 0002929 see more at - http://opensimulator.org/cgi-bin/viewvc.cgi?view=rev&revision=9112 [^] |
|
(0011766) ShackDougall (reporter) 2009-05-28 11:11 |
In 0.6.5-post-fixes, llRemoveInventory(llGetScriptName()) removes the script from the prim's inventory, but it apparently does not remove the script from the list of active scripts. Thus, if you have something like a rezzer that is rezzing lots of prims (where each prim has a script that does something and then removes itself), the number of active scripts grows without bound. In the case of my rezzer, this doesn't have a noticable effect until the number of ghost scripts reaches 1000, at which point the rezzer fails. Rebooting the sim will remove the ghost scripts and the rezzer will function properly again. However, this limits the total prims that can be rezzed by the rezzer to 1000. |
|
(0011768) WordfromtheWise (reporter) 2009-05-28 14:08 |
could you provide a piece of code, so we can try if that is not 'just your' problem ? thank you in advance Word |
|
(0011769) ShackDougall (reporter) 2009-05-28 15:09 |
Sure. To see what I'm talking about, login to OpenSim using the SL viewer. Press Control-Shift-1 to open the statistics window. Take note of the number of active scripts. Now rez a prim. Create a script in it. Look at the number of active scripts. It should have increased by 1. (I'm assuming that you are the only one active in the sim.) Now, paste the script below and save it. Then, touch the prim and the script will delete itself. Look in the prim and the script is gone. However, the number of active scripts has not decreased. If you try this over and over. The number of active scripts will continue to increase. default { state_entry() { llSay(0, "Touch me and I will die."); } touch_start( integer foo ) { llRemoveInventory(llGetScriptName()); } } |
|
(0013719) ShackDougall (reporter) 2009-10-02 22:06 |
I'm still seeing this in 0.6.6-post-fixes. I will test in 0.6.7 next week, but since this doesn't seem to be getting any attention, I'm raising the status. |
| Mantis 1.1.1[^] Copyright © 2000 - 2008 Mantis Group |