• 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-1347
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Critical Critical
Assignee: Scouse Linden
Reporter: Leffard Lassard
Votes: 4
Watchers: 2
Operations

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

Mono Beta: Scripts stop running silently after sim border crossing

Created: 30/Jan/08 06:56 AM   Updated: 16/Sep/08 01:51 PM
Return to search
Component/s: Scripts
Affects Version/s: Mono Beta
Fix Version/s: None

Environment:
Opensuse 10.3, SecondLife_i686_1_18_6_77968_Mono_ADITI

Mono Server 1.18.6.77968
Issue Links:
Duplicate
Relates

Linden Lab Issue ID: DEV-11032
Linden Lab Internal Branch: mono-based-on-release-87286


 Description  « Hide
I have seen that some mono compiled scripts in an attachment silently stop running after a sim border crossing.
Both sims involved in the region crossing were mono enabled.
The "runing" checkbox is ticked before and unticked after the crossing.

An example is a menu engine that can be found here:
http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryGeneralMenuEngine
But I have also seen this on other scripts also.

I occasionally observed "script run-time errors" during sim border crossing of a mono script.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Darien Caldwell added a comment - 30/Jan/08 01:29 PM
This may relate to an issue i'm seeing. I haven't reported it yet because I can't find the root cause yet. But If i take an item I have created with 22 scripts into inventory, and then re-rez it, around half the scripts are set to not running after the rez. It's always the same scripts, and removing some code from the scripts seems to cause the issue to go away, so I suspect it's related to the heap size. But thats just a working theory.

Creem Pye added a comment - 04/Feb/08 06:23 AM
I'm having the same problem; as far as I can tell, all the Mono-compiled scripts in my object get disabled on region crossing; the same thing happens when the object is rezzed. I suppose the rez and region crossing problems are interrelated - the former is probably more dangerous because the on_rez event is skipped.

Periapse Linden added a comment - 06/Mar/08 03:51 PM
This has passed QA

Francis Chung added a comment - 19/May/08 02:40 PM - edited
This issue is still a problem, but it's intermittent.

I had to cross a sim border over 20 times to get it to fail.

The following is some code I was running in an attachment:
integer count = 0;

timeloop() {
integer i;
llResetTime();
for ( i=0; i<10000; i++ );
llSetText( (string) count++ + ": " + (string) llGetTime() + " \n \n \n \n \n \n \n \n", <1,0,0>, 1 );
}

default {
state_entry() { llSetText( "test", <1,0,0>, 1 ); timeloop(); llSetTimerEvent( 0.1 ); }
timer() { timeloop(); }
}

It is important to note that I see this behaviour in scripts not in attachments.

A more complex case is the Dominus Shadow (a car I made). It's a vehicle that is not attached.

Crossing the sim border caused it to fail with very many error messages (Can't repro at the moment):
[14:16] Object [script:Hydraulic Script Rot.Front]: Script run-time error
[14:16] Object [script:Hydraulic Script Rot.Front]: System.Runtime.Serialization.SerializationException: serializationStream supports seeking, but its length is 0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] object_data) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] class_data, System.Byte[] object_data) [0x00000]

[There are many similar error messages]

I would be glad to provide a copy of the Dominus Shadow for testing - I haven't been able to get a simpler case to fail in the same manner.


Scouse Linden added a comment - 20/May/08 02:23 PM
The call stack provides an excellent clue: the problem is in the serialization code.
I should hopefully be able to create a simpler repro from this.
Thanks.

of oz added a comment - 24/May/08 08:45 AM
Me too.
Kills a major product , working for two years on maingrid, stone dead

of oz added a comment - 24/May/08 09:04 AM
Come on - this must be graded critical. Attachments and HUDs dead after almost every border crossing ? And teleport, incidentally.

Periapse Linden added a comment - 28/May/08 09:59 AM
passed QA

Cheshyr Pontchartrain added a comment - 31/Aug/08 07:42 AM - edited
Re-opened as that bug is back. Last night I recompiled emDash for MONO and shipped. There was no change to the portal script, yet one of my users reported this bug after crossing a region:

[7:18] emDash [script:-Portals-]: Script run-time error
[7:18] emDash [script:-Portals-]: System.Runtime.Serialization.SerializationException: serializationStream supports seeking, but its length is 0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] object_data) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] class_data, System.Byte[] object_data) [0x00000]


Periapse Linden added a comment - 15/Sep/08 03:55 PM
This is one of the errors described in SVC-2908. I'm going to resolve this earlier issue in favor of the more annotated one.