Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Temp prims not being deleted?

Dale Innis
Resident Dilettante
Join date: 14 Dec 2006
Posts: 45
04-02-2007 08:24
Has anyone seen a case where temporary prims (those with the
Temporary box checked in the edit screen, as in

llSetPrimitiveParams([PRIM_TEMP_ON_REZ, TRUE]);

) don't get deleted automatically by the sim?

I have a piece of artwork that constantly rezzes temp prims*, and
it usually works very well. But the other night the prims in one of
them stopped being cleaned up by the sim, and there were about
15,000 of them by the time anyone noticed. This significantly
impacted the performance of the sim. *8) Fortunately the island
owner was understanding about it.

I'm probably going to stick a timed llDie() into all these prims
in case it happens again (which increases the script-load on the
sim, but it's better than the alternative). But has anyone else
seen this, or have any idea what might cause it?

Tx,
Dale

* No flames about temp abuse, please! :) It uses the temp prims
for their (usual) auto-cleanup properties, not to try to violate parcel
prim limits.
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
04-02-2007 08:28
I haven't seen this problem and have been doing a lot of temp-on-rez work lately. Difference is that I'm on the mainland and have the object set to Temp in the editor instead of using llSetPrimitiveParams.

If you can reproduce this, you should file a JIRA bug report..
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
04-02-2007 08:38
The reason is because it's "Temporary on rez". You have to have that flag set BEFORE rezzing the object in order for it to have any effect. In other words, if you set it with llSetPrimitiveParams, it won't take effect until next time it's rezzed. Annoying, eh?
AJ DaSilva
woz ere
Join date: 15 Jun 2005
Posts: 1,993
04-02-2007 08:46
Yeah, I've seen it happen a few times. Sometimes the garbage collection looses a prim or two, might be worth putting a llDie() on a timer in the temp prims if you want to be certain.
Dale Innis
Resident Dilettante
Join date: 14 Dec 2006
Posts: 45
04-02-2007 08:50
From: Lex Neva
The reason is because it's "Temporary on rez". You have to have that flag set BEFORE rezzing the object in order for it to have any effect.


Thanks, inneresting point; I didn't realize that! That's not the problem in this case, though; the prim was temp before it was put into the rezzer's inventory, so the flag is in fact set before rezzing, and when it first started running the prims were getting automatically reaped just fine. It was only when everyone'd gone off to bed that it started misbehaving. :P

If I can find a way to make it anything like reproducible I'll file a bug report as someone suggested...
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
04-02-2007 09:44
I wonder if using llSetPrimitiveParams on an object that's already temp somehow borks the cleanup timer.. That would be bad.