Mystery of UUID - I thought they were unique
|
|
Vittorio Beerbaum
Sexy.Builder Hot.Scripter
Join date: 16 May 2007
Posts: 516
|
06-15-2008 05:10
I've seen something odd happening recently, and it seems it was a duplication of an UUID into the asset server database. Nothing shoking indeed, but it's interesting under the technical aspect because i thought that the UUID entry had a unique key that makes virtually impossible to duplicate an UUID entry... but it seems not. What happened, a girl asked for help because her av were crashing other residents client in a particular SIM. Sometime this happens when you wear something corrupt, so the other clients cannot retrive the informations and the unexpected behaviour would result in a client crash. The strange part is that in this case it were happening just into a simulator and with very strange results: the av turned suddendly invisible, jumping from a position to another inside the SIM "visually" while the system believes she were in another position. A Linden come there to check, but reconduct the problem to a temporary asset server. After further investigation, the girl found a "strange prim" ah her home.. the prim were "wearing" (as a texture) her skin and clothes etc.. in other words the prim was a "clone" of her avatar, pratically the prim had the same UUID of the avatar generating any sort of troubles (clients were handling two istances of the same avatar, when this should never happens... causing unexpected results and crashes). Some nice screens:  
|
|
Novis Dyrssen
Girl Geek
Join date: 6 May 2007
Posts: 1,452
|
06-15-2008 05:28
Now that is the weirdest thing I have heard in a while. Any info that could be retrieved from the thing? Like, creator, or were there any scripts inside that made this bevavior possible?
_____________________
~~ immortal words of Rob Thomas ~~ Hey-yeah, welcome to the Real World Nobody told you it was gonna be hard
|
|
SuezanneC Baskerville
Forums Rock!
Join date: 22 Dec 2003
Posts: 14,229
|
06-15-2008 06:01
What two different entities are being said to have the same UUID?
Is the box still there?
_____________________
-
So long to these forums, the vBulletin forums that used to be at forums.secondlife.com. I will miss them.
I can be found on the web by searching for "SuezanneC Baskerville", or go to
http://www.google.com/profiles/suezanne
-
http://lindenlab.tribe.net/ created on 11/19/03.
Members: Ben, Catherine, Colin, Cory, Dan, Doug, Jim, Philip, Phoenix, Richard, Robin, and Ryan
-
|
|
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
|
06-15-2008 06:20
my guess is that there was some sort of system glitch that was assigning the avatar's key to the prim rather than the system accidentally generating the same UUID key. While not completely impossible, it's incredibly unlikely, and ever more so that if it did, it would wind up on a prim on your own land. http://www.secondscripter.com/
_____________________
My tutes http://www.youtube.com/johanlaurasia
|
|
Vittorio Beerbaum
Sexy.Builder Hot.Scripter
Join date: 16 May 2007
Posts: 516
|
06-15-2008 07:25
The box is not there anymore, because it's cancellation resolved the problem. But i'm trying to retrieve a copy (if it still in the lost and found) to check if the theory is valid, since i don't have any prove to say that effectively the two "objects" had the same UUID. What let me believe that it was a UUID duplication is the series of circumstances and the the fact that the problem existed for 2 months.
Some other details: when the av where logged off the prim appears in his "form" (a cube with the skin, etc.), when the av were logged in the entity assumes the form of the avatar (!) including the name and the group tag, even with the av was in another SIM.
The object didn't contained any script, it was just a prim.
|
|
Skell Dagger
Smitten
Join date: 26 Jun 2007
Posts: 1,885
|
06-15-2008 07:28
I wonder if this has anything to do with the recent post in this forum about not only profiles being copied, but the avatar too, with the exception of prim attachments? It's certainly a possibility.
The post is here, for anyone who hasn't read it:
http://forums.secondlife.com/showthread.php?t=263825
|
|
Kitty Barnett
Registered User
Join date: 10 May 2006
Posts: 5,586
|
06-15-2008 07:46
From: Skell Dagger I wonder if this has anything to do with the recent post in this forum about not only profiles being copied, but the avatar too, with the exception of prim attachments? The problem there was joining groups that were invite only. I'm not sure if your forum date is close to your account date, but "mimicking" others is what the original copybot (it wasn't a copying tool then really, that happened shortly after) did so that's nothing odd by now. From memory: some people had it out inworld as a curiousity. You'd tp over, come close enough and it would change into your shape (any viewer needs your shape numbers to transform the mesh), look like you as far as prim clothes are concerned (the viewer needs your baked texture to apply to your avie, the copybot either told them sim its baked texture by UUID or sent the baked textured it had from you back to the sim as its own), recreate and wear any prim attachments you were wearing and play any animation you were in (viewer can just play anims by UUID so it just has to wait until the sim tells it what your current animations are and play those same ones). I don't recall if profile copying was part of it at that time or not, but compared to the rest that should be trivially easy (grab the text, grab the UUID of your profile picture and resend a "change profile" with matching information).
|
|
Skell Dagger
Smitten
Join date: 26 Jun 2007
Posts: 1,885
|
06-15-2008 07:49
Thanks for that info, Kitty. Yes, my forum date is my SL join date (first rezday coming up very soon!) so I wasn't aware of the original use of Copybot.
|
|
Kitty Barnett
Registered User
Join date: 10 May 2006
Posts: 5,586
|
06-15-2008 08:09
From: Skell Dagger Thanks for that info, Kitty. Yes, my forum date is my SL join date (first rezday coming up very soon!) so I wasn't aware of the original use of Copybot. I tried to find some of the earlier articles, but it wasn't called copybot at the time then yet  . http://nwn.blogs.com/nwn/2006/11/second_life_clo.html seems to be a fairly objective account of the whole issue back then.
|
|
Vittorio Beerbaum
Sexy.Builder Hot.Scripter
Join date: 16 May 2007
Posts: 516
|
06-15-2008 10:05
I have further information (and i doubt it's anyway related to the copybot thing there). The prim had the name of the avatar... and that's all, now there's no way to retrieve an evidence of its UUID since the prim has been deleted by the SIM, so when you rez it again it's just a prim (i tried it). Since none known how that prim appeared there, i have my idea: the av logged in, the simulator created the av instance then, but for a sort of undefinied bug it created a primitive instead than a "avatar", so tried to assign to it the name, properties, textures, ecc.. the prim had the same UUID whenever it existed inworld, now is gone and the problem disappeared, and there's no way to reproduce it.
|
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
06-15-2008 10:31
Hmm, very unusual. The thing to note is there are two different types of keys; GUID/UUIDs as registered with the asset system, these are global identifiers so are unique across ALL simulators, and include avatars, groups, and so-on. There are however also local keys, which are generated by the simulator and can in theory clash with keys used by avatars (which are themselves a global asset).
This is something I've been wondering about recently; if we ever did have an open-grid system where people can create their own grids and join them on, there would need to be some way of looking up where a key is stored. For example; we could end up with assets on the secondlife.com asset cluster that are the same as my (imaginary) haravikk.com asset cluster. My thinking is that we are at some point going to need something more descriptive than just a key, such as URI like: asset://secondlife.com/1346a523-fe44-313d-2178-1519fed8
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
|
Gabriele Graves
Always and Forever, FULL
Join date: 23 Apr 2007
Posts: 6,205
|
06-15-2008 14:07
According to the scripting documentation and what I have observed whilst scripting, objects only receive a UUID that is accessible through scripting once they are rezzed inworld and not whilst they reside in your inventory. Obviously there will have to be at least one GUID behind the scenes for the asset server to track assets but what is observable from scripting is probably not the internal tracking GUID.
_____________________
 Trout Rating: I'm giving you an 8.2 on the Troutchter Earth-Movement Slut Scale. You are an amazing, enchanting woman, and, when the situation calls for it, a slut of the very best sort. Congratulations and shame on you!
|
|
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
|
06-15-2008 19:44
From: Kitty Barnett I tried to find some of the earlier articles, but it wasn't called copybot at the time then yet  . I believe it was called Copybot at the time. Certainly, in the LibSL source repository I did once see the source code of a "CopyBot.cs" which, when it sensed someone nearby, would say "Hello <name> prepare to be cloned" in open chat and then copy their shape parameters and clothing textures. (I didn't ever compile or run it, so it may not have been genuine, but there it was.)
|
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
06-16-2008 02:16
From: Gabriele Graves According to the scripting documentation and what I have observed whilst scripting, objects only receive a UUID that is accessible through scripting once they are rezzed inworld and not whilst they reside in your inventory. Obviously there will have to be at least one GUID behind the scenes for the asset server to track assets but what is observable from scripting is probably not the internal tracking GUID. Not really. A GUID refers to an object or other asset that is saved to your inventory. If you rez an object in-world then it is given it's own key unique to that simulator only. When you take that item into inventory again it will be given a new GUID when it is re-added to your inventory. It is perfectly possible for an asset or avatar to have the global key 12345 or whatever, but for a local item in a simulator have the exact same key. The chances of it happening are incredibly remote, but it can happen. To the simulator, avatars and objects are basically the same thing; they collide and can move, for this reason they're probably handled by the same data-structures and things, in which case two identical keys is problematic. The only way to fix this now really would be have avatars treated differently from objects, even then it would still cause problems with certain script functions which can't tell the difference between object/avatar keys.
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
|
Gabriele Graves
Always and Forever, FULL
Join date: 23 Apr 2007
Posts: 6,205
|
06-16-2008 02:39
From: Haravikk Mistral Not really. A GUID refers to an object or other asset that is saved to your inventory. If you rez an object in-world then it is given it's own key unique to that simulator only. When you take that item into inventory again it will be given a new GUID when it is re-added to your inventory. Is the "not really" aimed at the last part of what I wrote? If so then I agree my knowledge of it is vague and I was merely speculating. However I don't see I said anything that you contradicted either. When the asset is rezzed, you only are able to get the sim ID for the object through LSL, when it is in the inventory you are not able to get the ID for that object, even if you use the right click menu as it will return a null UUID (for non-rezzables you it will return the inventory ID). The inventory ID for the object is hidden from you unless you get it from a modified version of the viewer.[/QUOTE] From: Haravikk Mistral It is perfectly possible for an asset or avatar to have the global key 12345 or whatever, but for a local item in a simulator have the exact same key. The chances of it happening are incredibly remote, but it can happen. To the simulator, avatars and objects are basically the same thing; they collide and can move, for this reason they're probably handled by the same data-structures and things, in which case two identical keys is problematic. GUID == UUID btw, one is Microsoft's acronym (Globally Unique Identifier) and one is DEC's RPC definition (Universally Unique Identifier) Wikipedia has this to say about the probability of collision: To help non-mathematicians understand what those numbers mean, here's a comparison: One's annual risk of being hit by a meteorite is estimated to be one chance in 17 billion [15], that means the probability is about 0.00000000006 (6 x 10-11), equivalent to the odds of creating a few tens of trillions of UUIDs in a year and having one duplicate. In other words, only after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%. The probability of one duplicate would be about 50% if every person on earth owns 600 million UUIDs. (excerpt from: http://en.wikipedia.org/wiki/UUID) I happen to think that someone will have copied that from a text book to wikipedia and is likely to be accurate. In fact LL points you to the wikipedia article from this page: http://wiki.secondlife.com/wiki/UUID Hence I really doubt that collisions are really occuring as you suggest.
_____________________
 Trout Rating: I'm giving you an 8.2 on the Troutchter Earth-Movement Slut Scale. You are an amazing, enchanting woman, and, when the situation calls for it, a slut of the very best sort. Congratulations and shame on you!
|