|
|
|
Could you post the contents of your handleLinkMessage function?
At least one of the bugs here is a duplicate.
If there's no sensitive info in them, post register() and notifyUserScripts() here please. After further investigation these exceptions are consistent with the bug in returning keys.
Closing this issue as its the one with the least information. Thanks. I have a watch on this issue, but I didn't receive any email when you guys commented - is JIRA 'watching' currently broken?
I may be able to post the contents of register() and notifyUserScripts() if necessary - perhaps with some omissions. Note that neither of them return any value (no return type specified and either no return statement, or only return statements with no value specified. The code for register(), slightly modified:
register() and for notifyUserScripts(): (also slightly modified): notifyUserScripts(integer type, string arg) integer sendNotify = TRUE; list data = [llGetKey(),model,cookie]; if (type == AL_NotifyType_Init) { if (getBool(_gLeased)) { leasedBy= getStr(_gLeasedName); leasedKey= getKey(_gLeaseKey); leasedForMins = (getInt(_gLeaseExpiry) - now) / intervalSecs("i"); leasedForDays = llRound( (float)leasedForMins / 1440.0 ); } else { leasedBy = "VACANT"; leasedKey = NULL_KEY; leasedForMins = 0; leasedForDays = 0; } sendNotify = FALSE;
if (sendNotify) {
if ((prevLeased != getBool(_gLeased)) || (prevLeasedBy != leasedBy))
type = AL_NotifyType_LeaseChange;
data = data + [llGetObjectName(),gLocationName,leasedKey,leasedBy,leasedForDays,
getInt(_gIntervalRate),
getInt(_gPrimLimit),getInt(_gLeaseExpiry),getStr(_gInterval),getInt(_gOptions)];
prevLeased = getBool(_gLeased);
prevLeasedBy = leasedBy;
prevLeasedMins = leasedForMins;
prevLocName = gLocationName;
prevInterval = getStr(_gInterval);
prevOptions = getInt(_gOptions);
} if (sendNotify) {
data = [type]+data;
string message = llDumpList2String(data, "-=-");
data=[];
llMessageLinked(LINK_SET,AutoLeaseStateChangeNum,message,"");
llShout(userChannel, message);
} I'll re-open this, not because I have any further insight, but just because the dup'd issue seems to be specifically about functions that return keys. Neither function returns a key and only the last one even calls a function that returns a key (named getKey). I have a nice repo for the 'register' case above. I'll attempt same for the other case, but if they're different, I'll probably open a separate issue and reference it.
This script will crash with an invalid IL on reset: f1(list args) f2() default } the error received is: [script:.E: Script run-time error at LSL_ea0a0b25_2279_b6d2_1ebb_2dc428c5056e.edefaultstate_entry () [0x00000] Hope that helps. I'm thinking there may be somewhat relation to SVC-809 , it would be nice if both could be fixed.
They both can be fixed, if you spot any other LSL language bugs please let us know.
Simpler repro of the first
integer f(list l) default } Or possibly even simpler: default } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Perhaps the best bet would be if a Linden can contact me during business hours and I'll drop into the beta grid and give you the object. The scripts alone won't execute the offending code - so even having the asset indicated by the LSL_<key> above won't help you on its own.