• 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-2975
Type: Sub-task Sub-task
Status: Resolved Resolved
Resolution: Fixed
Priority: Normal Normal
Assignee: Unassigned
Reporter: darling brody
Votes: 7
Watchers: 4
Operations

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

MONO - System.Reflection.TargetParameterCountException

Created: 01/Sep/08 03:06 AM   Updated: 02/Feb/09 03:59 PM
Return to search
Component/s: None
Affects Version/s: 1.24 Server
Fix Version/s: 1.25 Server

Issue Links:
Duplicate
 
Relates

Linden Lab Issue ID: DEV-21495
Linden Lab Internal Branch: mono-fixes-server1.25-r99852


 Description  « Hide
This error is being reported after a previously working script was converted to mono.

The error dosn't give any usefull information. The script operates for a while before crashing out.

I'll provide a copy of the script to any linden who asks. It is too large to post in full here, and i am unable to determine what part is causing the error because the error is not turning up in the wiki search for me.

[21:59] Quantum Core [script:Attack Agent III (rezzed)]: Script run-time error
[21:59] Quantum Core [script:Attack Agent III (rezzed)]: System.Reflection.TargetParameterCountException: Number of parameter does not match expected

count.
at System.Reflection.Binder.ConvertArgs (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo,

System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,

System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000]
at LindenLab.SecondLife.LslUserScript.OnEvent (ScriptEvent evt) [0x00000]
at LindenLab.SecondLife.Script.Run (ScriptEvent evt) [0x00000]



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Gellan Glenelg added a comment - 01/Sep/08 05:29 AM
Duplicate of SVC-2908

Soft Linden added a comment - 27/Sep/08 01:49 PM
Please don't mark it as a duplicate if an issue contains more specific details than the other issue.

uchi desmoulins added a comment - 27/Sep/08 03:11 PM
Here's how I managed to reproduce this error.

Steps:
1) Place the two scripts below into the contents of a prim.
2) Touch the prim.
3) Repeat step 2 until 'Script 2' crashes.

The key points to reproducing the error in this example are:
1) Flood 'Script 2' with link_messages so that the event queue is overflowing.
2) Have something occur that triggers the changed event in 'Script 2' at the same time.
3) STOP the flood of link_messages.

Observations:

You'll notice that the 'changed' event doesn't have a chance to fire off when the script crashes.

Otherwise, if the script doesn't crash, you'll see the changed event fire off in the middle of the link_messages once, followed by two more changed events AFTER the link_messages.

More link_messages = higher probability that 'Script 2' will crash.

Script 1 shouldn't crash.

Script 2's checkbox for "Running" is still checked (even after reopening the script). llGetScriptState(...) returns FALSE though.

Script 1
----------

default
{
touch_start(integer num)

{ integer i; llMessageLinked(LINK_THIS, 1, "", ""); llSleep(0.1); for(i = 0; i < 100; ++i) llMessageLinked(LINK_THIS, 0, "", ""); }

}

Script 2
----------
integer i;
integer j;

list event_order;

default
{
changed(integer change)

{ ++j; event_order += [1]; llSetText("Link_message Events: " + (string)i + "\nChanged Events: " + (string)j + "\n \n-- Event Order --\n0 = link_message\n1 = changed\n" + llDumpList2String(event_order, ""), <1,1,1>, 1.0); }

link_message(integer sender_num, integer num, string msg, key id)

{ if(num) llResetScript(); ++i; llSetAlpha(llFrand(1.0), ALL_SIDES); event_order += [0]; llSetText("Link_message Events: " + (string)i + "\nChanged Events: " + (string)j + "\n \n-- Event Order --\n0 = link_message\n1 = changed\n" + llDumpList2String(event_order, ""), <1,1,1>, 1.0); }

}


uchi desmoulins added a comment - 27/Sep/08 03:22 PM
Note that it may be more difficult to reproduce if there's any script lag.

Soft Linden added a comment - 27/Sep/08 03:42 PM
Thanks, Uchi! I'm importing this now, and I'll attach the test object asset ID to the internal issue

Bekky Whitfield added a comment - 12/Oct/08 04:07 AM
Dear Soft,

This is effecting my scripts too, exactly the same issue for all of my scripts which when working with dari's scripts, and so is effecting my sales.

Regards

Bekky


Darien Caldwell added a comment - 12/Oct/08 11:22 AM
There is another example of this at VWR-9486. (Misfiled, it should have been under SVC). Linking the issue.

Periapse Linden added a comment - 21/Oct/08 01:42 PM
New fix checked in.

I'm trying to get this code into 1.25. That version has frozen, however if this fix passes quickly I can still get it into 1.25


Periapse Linden added a comment - 25/Nov/08 12:39 PM
Passed QA. Will deploy with 1.25 server.

Periapse Linden added a comment - 02/Feb/09 03:59 PM
Fix rolled out to agni with 1.25.3 server