Hey everyone, I've just spend some time analysing an account with a broken inventory and have discovered some interesting things. I believe I mentioned part of this at Robs office hours and Q said that the server should try to protect against these conditions (but the specific test case is new)
Ways to break an inventory (easiest via libomv/libsl, but also my modifying the viewer, but i guess some horribleness could occur with corrupt or injected packets as well. 1. Buy the contents of an object and pass back a UUID zero as the target folder. This generates a usable toplevel folder next to My Inventory and Library. This can be undone by moving the folder back to the correct parent. This is actually quite useful. 2. Copy an inventory folder and set itself as its parent This really confuses the viewer and the viewer shows a new complete inventory root inside the new folder (All Texture/Trash/Lost and Found/Scripts etc folders present in new folder as well). Seems to break many inventory operations with the viewer 3. Create a folder with an ID the same as the inventory root Now how this happened was anybody guess, it was either by trying to remove a condition #2 by moving the folder back to the correct parent, or via some unknown mechanism. In any case this can happen and i have seen it and have an account in this state now, ps not mine, i didn't do it ;-) This causes failure in DragDrop cargo's where cargo==null, and triggers VWR-2003 when a drag drop (eg send inv item to profile) occurs. I probably should file some specific SVR issues for each of these conditions and generate repo code (on the beta grid i guess for saftey) but if any Linden wants a specific account that is in state #3 now i can provide one and a support ticket ID that a user has filed. Regards Robin
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/SLDev Please read the policies before posting to keep unmoderated posting privileges
