Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004447opensim[REGION] Script Functionspublic2009-12-14 12:312011-02-03 04:52
Reporterjfhopkin 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusconfirmedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0004447: Link messages don't propagate on rezzing
DescriptionCreate two prims and link them. In the root prim, a script like this:

default
{
    on_rez(integer Param)
    {
        llResetScript() ;
    }
    state_entry()
    {
        llSleep(0.2) ;
        llSay(0, "sending") ;
        llMessageLinked(2, 0, "hello", NULL_KEY) ;
    }
}

In the child prim, another script, like this:

default
{
    on_rez(integer Param)
    {
        llResetScript() ;
    }
    state_entry()
    {
    }
    link_message(integer se, integer n, string s, key id)
    {
        llSay(0,"got: " + s) ;
    }
}

Take the object into inventory, then rez it. As the messages indicate, the llMessageLinked() function in the root prim is called, but the link_message event in the child prim never fires.

Manually resetting scripts causes the link message to propagate as expected.
TagsNo tags attached.
Git Revision or version numberdd5696e
Run Mode Grid (Multiple Regions per Sim)
Physics EngineODE
Script Engine
EnvironmentMono / Linux32
Mono Version2.2
Viewer
Attached Files

- Relationships

-  Notes
(0016331)
manni99 (reporter)
2010-08-07 13:09

I am having the same problem. In my case, I am issuing an llMessageLinked command to a child prim from within the on_rez event of the root, but the link_message event never fires within the child prim.

I am guessing that this is caused by a delay in script activation when an object is rezzed. It is probably sending out the llMessageLinked before the child script is available to receive it. However, that is only speculation. I do know that if you try the reverse (issue an llMessageLinked to the root from the on_rez event of a child), the event fires as it should.


To demonstrate the issue:
  Create two prims and link them together.
  In the root prim put this script:
-------------------
default
{
    state_entry()
    {
        llMessageLinked(LINK_ALL_CHILDREN,1,"","");
    }

    on_rez(integer start_param)
    {
        llSay(0,"Object rezzed.");
        llMessageLinked(LINK_ALL_CHILDREN,2,"","");
    }
}
-------------------

  In the child prim put this script:
-------------------
default
{
    link_message(integer sender_num, integer num, string str, key id)
    {
        llSay(0,">>>Heard msg " + (string)num);
    }
}
-------------------

Resetting the script produces the message "Primitive: >>>Heard msg 1"

Taking the object and rezzing it only produces the message "Primitive: Object rezzed." The link message is never fired, so the message ">>>Heard msg 2" is never displayed.
(0016332)
melanie (administrator)
2010-08-07 13:13

Scripts are not activated all at once, but in link order. There is code to fix this, but it is blocked waiting on other fixes before it can be activated. As always, we're a work in progress ....
(0016628)
Fly-Man- (developer)
2010-08-27 16:28

Any timespan on the fix ?
(0017935)
Fly-Man- (developer)
2011-02-03 04:52

It seems that link messages are in a strange way capped. Using a prim that sends 20 linked messages at once, only the 1st one get handled, all others are just discarded.

- Issue History
Date Modified Username Field Change
2009-12-14 12:31 jfhopkin New Issue
2009-12-14 12:31 jfhopkin Git Revision => dd5696e
2009-12-14 12:31 jfhopkin SVN Revision => 0
2009-12-14 12:31 jfhopkin Run Mode => Grid (Multiple Regions per Sim)
2009-12-14 12:31 jfhopkin Physics Engine => ODE
2009-12-14 12:31 jfhopkin Environment => Mono / Linux32
2009-12-14 12:31 jfhopkin Mono Version => 2.2
2010-08-07 13:09 manni99 Note Added: 0016331
2010-08-07 13:13 melanie Note Added: 0016332
2010-08-27 16:28 Fly-Man- Note Added: 0016628
2011-02-03 04:52 Fly-Man- Note Added: 0017935
2011-02-03 04:52 Fly-Man- Status new => confirmed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker