Memory limit set via llSetMemoryLimit() is not released upon script reset in LSL 2025 VM.
inĀ progress
Lucia Nightfire
Memory limit set via llSetMemoryLimit() is not released upon script reset in LSL 2025 VM.
Log In
H
Harold Linden
updated the status to
inĀ progress
Thanks! This should be fixed once https://github.com/secondlife/slua/commit/1eb5bdaddda4948978594469324728e589cfe98c is included in a release server.
M
Mercury Linden
updated the status to
tracked
Lucia Nightfire
This is not a cosmetic bug.
Doing memory consumption tests on top of this reporting indicate the limit is real.
Lucia Nightfire
Memory limit set via llSetMemoryLimit() is not released upon script reset in LSL 2025 VM.
Drop the following script in a cube, save to LSL 2025 VM:
integer memory_limit;
default
{
state_entry()
{
llOwnerSay("state_entry() Memory Limit: " + (string)llGetMemoryLimit() + " Free Memory: " + (string)llGetFreeMemory() + " Used Memory: " + (string)llGetUsedMemory());
if (memory_limit = (integer)llGetObjectDesc())
{
llSetTimerEvent(0.01);
}
}
on_rez(integer i)
{
llOwnerSay("on_rez() Memory Limit: " + (string)llGetMemoryLimit() + " Free Memory: " + (string)llGetFreeMemory() + " Used Memory: " + (string)llGetUsedMemory());
llResetScript();
}
touch_end(integer i)
{
if (llDetectedKey(0) == llGetOwner())
{
llOwnerSay("touch_end() Memory Limit: " + (string)llGetMemoryLimit() + " Free Memory: " + (string)llGetFreeMemory() + " Used Memory: " + (string)llGetUsedMemory());
llResetScript();
}
}
timer()
{
llSetMemoryLimit(memory_limit - (llGetMemoryLimit() == memory_limit));
llSleep(0.03);
llOwnerSay("timer() Memory Limit: " + (string)llGetMemoryLimit() + " Free Memory: " + (string)llGetFreeMemory() + " Used Memory: " + (string)llGetUsedMemory());
llSetTimerEvent(0.0);
}
}
Put 65536 in desc and click twice.
Notice on reset, memory limit is still 65536 in state_entry.
Do the same in a Mono script using 32768 and notice memory limit releases back to 65536 in state_entry().