[sldev] SL Database purge
Argent Stonecutter
secret.argent at gmail.com
Wed Apr 30 05:32:26 PDT 2008
On 2008-04-30, at 06:47, Felix Duesenburg wrote:
> How do I explain this...
You don't have to. I'm not naive. I've written this kind of code
myself. One of the things you have to deal with in this kind of code
is circular references. In a sufficiently conservative garbage
collector loops can prevent even unreferenced data from being
collected: remember this old saw from the '70s?
Reclaimer, spare that tree!
Take not a single bit.
It used to point to me,
Now I'm protecting it!
In a tree-walking collector, that doesn't happen, but on the other
hand loops can hang the collector indefinitely. The operations on the
SL database should prevent explicit loops from happening, but they're
also inferring references from the contents of some assets, such as
scripts, and database corruption can create the damndest structures.
So what do you do?
Well, one common solution is to simply cut off the walk after a
certain distance. So...
> The information about its location on the other hand requires a tree
> structure of some sophistication, since here we don't have just
> folders
> similar to the ones on your hard drive or SL inventory, but objects
> can
> also reside in-world or in the inventory of other objects.
> Nevertheless
> this is no hindrance to traversing the tree to any depth of nesting.
My question is not "can this be done" but "how far is this being done".
> I am of course not representing how LL has implemented all of this,
> because I have no knowledge about their internals.
Neither do I, which is why I'm asking *them*.
Because it's not clear that they are actually following all the
references in all the data structures involved to the depth
necessary. Every time I log in I get the message "Gesture is missing
from the database", which means that somewhere, somewhen, they
neglected to keep track of something that's not even nested at all.
I've got another gesture where I can play every sound and animation
in it, but the gesture itself fails. So I don't think it's
unreasonable to ask. Do you, really?
More information about the SLDev
mailing list