• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-3603
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Major Major
Assignee: Unassigned
Reporter: Jack666 Carter
Votes: 1
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

llAttachToAvatar() sometimes causes loss of no-copy objects

Created: 01/Jan/09 02:38 PM   Updated: 13/Apr/09 11:42 AM
Return to search
Component/s: Inventory, Scripts
Affects Version/s: 1.24 Server
Fix Version/s: None

File Attachments: None
Image Attachments:

1. Inventory Issue.png
(343 kB)
Environment:
Second Life 1.21.6 (99587) Oct 14 2008 17:42:25 (Second Life Release)
Release Notes

You are at 188466.0, 244798.5, 22.0 in Mykonos located at sim4704.agni.lindenlab.com (63.210.159.100:13002)
Second Life Server 1.24.10.106829
Release Notes

CPU: Intel Core 2 Series Processor (2399 MHz)
Memory: 3070 MB
OS Version: Microsoft Windows Vista Service Pack 1 (Build 6001)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce 8600GS/PCI/SSE2
OpenGL Version: 2.1.2

libcurl Version: libcurl/7.16.4 OpenSSL/0.9.7c zlib/1.2.3
J2C Decoder Version: KDU
LLMozLib Version: [LLMediaImplLLMozLib] - 2.01.20712 (Mozilla GRE version 1.8.1.13_0000000000)
Packets Lost: 0/10162 (0.0%)
Issue Links:
Relates


 Description  « Hide
when I attach a no-copy object to my avatar via llAttachToAvatar() it will go into my inventory but doesn't show in "My Inventory" or "Library". Instead it shows on the same level as them two. I cannot rezz it out of there and after a cache clear it's gone.
It's not attachable anymore (using the right-click-menu + wear) nor is it rezzable (I get a red circle with a red diagonal line on white ground).

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Fake Fitzgerald added a comment - 02/Jan/09 09:05 AM
Possibly duplicate or related to VWR-6110. (I think duplicate.)
The behavior is very similar to Nock's repro.

Jack666 Carter added a comment - 02/Jan/09 01:01 PM
Not sure if it's a duplicate because I don't replace an attached object with another one.
I just attach an inworld-object to my spine via llAttachToAvatar() and the attached object itself is lost.
The attachment point isn't in use when I attach the object.
This doesn't happen always; just sometimes.
If I understand VWR-6110 correct, the HUD place is in use by object1 and replaced by another HUD object2 and object1 is lost.
correct me, if I'm wrong

Nock Forager added a comment - 02/Jan/09 02:09 PM
I feel your result on inventry tree is same to my repro. But yes I think there may be some ways that can reproduce this problem.

If you can narrow this and figure out concrete repro, it could be very helpful.


Fake Fitzgerald added a comment - 04/Jan/09 02:02 AM
Sorry Jack666, your understanding is right.
The results were same but the processes weren't same.
And I was trying to reproduce this issue over 100 times. (just from curiosity)
But I could not repro yet.

Moon Metty added a comment - 04/Jan/09 08:08 AM
Nock's repro does work with llAttachToAvatar():

-Rez a box.
-Add this script:

default
{
    touch_start(integer num_detected)
    {
        llRequestPermissions(llGetOwner(), PERMISSION_ATTACH);
    }
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_ATTACH) llAttachToAvatar(ATTACH_RHAND);
        
    }
}

-Click the box.
-In your inventory, copy and paste the worn object.
-Rez the copy.
-(Detaching the original box is optional here)
-Click the rezzed copy.

Observe: The object appears as worn, at the bottom of the inventory window.


Jack666 Carter added a comment - 04/Jan/09 09:32 AM
Sorry for being late with my answer but the script is stored on my main computer only and the original in the prim was deleted with the affected object.

@ Fake: no prob I must confess that my description is a bit weak
Try using a no-copy object for repro.

@ Moon: thanks for posting the script. it's a bit different to my script but does the same – mine is a bit more complex.

What I did to reproduce the effect:
I put my script into a no-copy object and rezzed the object to ground. The object goes to it's supposed position in my land (a lil cave for my shoulder dragon). Then I touched my HUD-Button to tell the object to attach. The object came to me and attached. I dropped the object via right-click (pie-menu) and "Drop". Then I clicked the HUD-button again for attach.

I did this a few times and could reproduce the bug-effect only twice (so be patient).
The first time I re-dropped it after attaching and it went on as usual.
The second time I detached it via right-click in inventory and "detach": the object was lost.

I also observed that the object appeared for a nano-sec in it's supposed folder "Objects" in my inventory and then went to the bottom of the inventory window. It was marked as worn while "moving".

Hope this is helpful to someone to reproduce.


Kiana Kuhr added a comment - 09/Jan/09 12:07 AM
I am also having the exact same issue. My object also appears on the same level as inventory and library and then if I try to click it to wear it will crash me. I have noticed this when simply wearing certain objects they appear at the very bottom of my inventory. Cache clears and the beta grid recovery doesn't work either.

Jack666 Carter added a comment - 09/Jan/09 11:59 AM
I at least never crashed (yet). Though cache clear deletes the object from the bottom of my inventory and it's lost afaik.

Calli Kit added a comment - 09/Feb/09 11:44 AM
I've been having the same problem (for the most part). With 2 variations...

Situation A- (My Inventory Window is open to "Recent Items" but the same applies to the "All Items" folder)
1) Rez a box, name it "attach tester". Add an Attach script (mine below)
2) Accept the attach request. (it attaches and the prim appears in the Objects folder)
3) In inventory, make a copy. Label it "attach tester b"
4) Drag "attach tester b" to the ground.
~~~UNEXPECTED 5) "attach tester b" attaches but locates the prim below the Library
5) Make a copy of "attach tester b" in the Objects folder in inventory and name it "attach tester c".
6) Drag "attach tester c" to the ground.
again ~~~UNEXPECTED 7) "attach tester c" attaches but locates the prim below the Library and "attach tester b" has disappeared.
(rinse and repeat as long as sanity permits...only one "attach tester" shows up in this space)
8) At the top of the Inventory window, "File--->New Window". (nothing shows up below the Library on the second window...although it's still there in the first)
9) Repeat steps 5 & 6, renaming to "attach tester d".
same result ~~~BEGINNING TO BE EXPECTED 10) "attach tester d" shows up to replace "attach tester c" and still does not appear in other window.
10) If I attempt to move any of the "attach tester" items below the Library to the trash, my Viewer crashes after a few seconds. ( much like the sim crash attach bug we had earlier)
===================
Situation B-
1) Rez a box, name it "attach tester 1". Add an Attach script (mine below)
2) Accept the attach request. (it attaches and the prim appears in the Objects folder)
3) Detach the item.
4) Drag "attach tester 1" to the ground.
5) A new copy appears in Inventory in the Objects folder, attached.
6) Quickly drag copies of the original to the ground (in this test, i did it 20 times)
~~~ UNEXPECTED 7) Of the 20 Attach Events, 5 "attach tester 1" appear below the Library. (the number varies each time you run the test)
7) This time, all 5 "attach tester 1"'s show up in the second window, but if I open another window...they're not there.
8) I can Detach the "attach tester" from my avatar directly, but if I attempt to move it to the trash, my Viewer crashes (after 11 seconds when i tested this).
9) With or without crashing, once I relog, the attach testers are gone (without clearing cache).

________Attach script I use_________

default
{
state_entry()

{ llRequestPermissions(llGetOwner(), PERMISSION_ATTACH); }

changed(integer changes)
{
if (changes & CHANGED_OWNER){ llRequestPermissions(llGetOwner(), PERMISSION_ATTACH); }

}
}

on_rez(integer startParam)
{
if ((llGetPermissionsKey() != llGetOwner()) ||
!(llGetPermissions() & PERMISSION_ATTACH))

{ llRequestPermissions(llGetOwner(), PERMISSION_ATTACH); return; }

if (!llGetAttached())

{ llAttachToAvatar(ATTACH_LHAND); }
}

run_time_permissions(integer perms)
{
if (!llGetAttached() && (perms & PERMISSION_ATTACH)){ llAttachToAvatar(ATTACH_LHAND); }

}
}
}


EddyFragment Robonaught added a comment - 08/Apr/09 05:33 PM
Noob scripter to the rescue!!

Prolly not but I had a thought.

Has anyone considered testing if this is a run time permissions issue? The fact seems to be that all thease scripts and tests allow the permissions to go on and on after the attachment. I am not even remotely qualified to say that it is a reason for the errors but considering how complex and strict permissions are I would try testing to see if that has something to do with this problem.

/me Shrugs. (lolz)


Darien Caldwell added a comment - 09/Apr/09 12:34 PM
This is a duplicate of VWR-6110. The failure mechanism is wearing an attachment from in-world. So rezzing a HUD and then having it attach from in-world is the same Mechanism. Replacing an attachment is not necessarily part of the issue.

EddyFragment Robonaught added a comment - 13/Apr/09 11:42 AM
I think this issue should be linked with another. http://jira.secondlife.com/browse/SVC-4112. That has a problem with attached objects and permissions too. I belive this issue could be worked around by taking the perms away as it attaches but I dunno if the actions needed could act fas enough to remove the perms needed to attatch before the object registers as attached. This is just a theory as I havn't tested yet.