Jump to content

UUID loss over time


You are about to reply to a thread that has been inactive for 841 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I've been doing some viewer development, and I was looking at "Not found" errors (HTTP 404) for texture assets. There are more of those than I expected. So I went to look at the troubled objects. Found:

  • A board of pictures, which the user can change. Three picture faces were grey in world, matching the HTTP 404 errors.
  • A fingernail kit which allows setting patterns.

You can set the texture id of a face from LSL by UUID. Is the UUID value checked for existence? Probably not, because it would slow down the LSL call. If a bogus value gets in there, the viewer will ask the asset server for that texture, and it will get back a 404 error. This is harmless, but it's an event in a viewer's error log. So objects with bad UUID values stored in scripts or notecards can cause this problem.

Supposedly, textures not anywhere in world or in inventory can be deleted from the asset servers. But you could obtain the UUID of one of your own textures and store it in a script, say for something that lets you change a clothing or furniture pattern. If nobody anywhere has that pattern in use, will it disappear from the asset servers? After deletion, if it happens, attempts to change to that pattern would fail.

If you make something that changes textures, and put the images in the object's own content inventory, that should be safe. Bare UUIDs, though,  may not be forever. Not sure about this, though. Anyone know?

 

  • Like 1
Link to comment
Share on other sites

Ages ago we were told that assets would not be reaped if their UUIDs were referenced in a script. (Not sure about asset-mappable UUID text in notecards, though.) Nonetheless, back then assets of all kinds would occasionally turn up missing even in user inventories—something I personally haven't seen in years.

(This was also long before "local" textures were common in viewers, and I have no clue whether those could confuse the tidying-up process. I guess probably not?)

Link to comment
Share on other sites

1 hour ago, animats said:

Supposedly, textures not anywhere in world or in inventory can be deleted from the asset servers. But you could obtain the UUID of one of your own textures and store it in a script, say for something that lets you change a clothing or furniture pattern. If nobody anywhere has that pattern in use, will it disappear from the asset servers? After deletion, if it happens, attempts to change to that pattern would fail.

If you make something that changes textures, and put the images in the object's own content inventory, that should be safe. Bare UUIDs, though,  may not be forever. Not sure about this, though. Anyone know?

 

it makes sense that an asset would have a database reference count, and that should the reference count reduce to 0 then the record is removed from the active database. This cleanup may not be immediate tho, it might be some kind of scheduled background task

a way to test for this would be to upload a texture.  Get its UUID.  Encode this into a script, then delete the texture from inventory (including Trash). Wait for some ? time then apply the script to a newly rezzed prim, not taking the prim back into inventory

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 841 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...