User:Babbage Linden/Office Hours/2008 09 10

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Transcript of Babbage Linden's office hours:

[8:03] Babbage Linden: hi everyone

[8:03] Fake Fitzgerald: hi

[8:03] Psi Merlin: Hello

[8:03] Tomoneko Mayo: hi

[8:03] Babbage Linden: yay

[8:03] Babbage Linden: fake is sitting on the phoenix cog :-)

[8:03] Babbage Linden: feel free to stay there and get munged :-)

[8:04] Nock Forager: lol

[8:04] Babbage Linden: hmm, some of the cogs have slowed down

[8:04] Babbage Linden: weird

[8:05] Hidenori Glushenko: lol

[8:05] Fake Fitzgerald: nice suicide

[8:05] Nock Forager: yay, everyone fall at there :)

[8:05] Babbage Linden: that's better :-)

[8:06] Psi Merlin: Motion lag doesn't help :)

[8:07] Nock Forager: I heard 1.24.5 depoying in soon.

[8:07] Babbage Linden: let's wait a couple of minutes then i'll give an overview of where we are

[8:09] Babbage Linden: right, ok

[8:09] Babbage Linden: looks like we're not getting anyone else

[8:09] Babbage Linden: we're currently finishing off some fixes for 1.24.5

[8:10] Babbage Linden: which will have it's last QA pass later today

[8:10] Babbage Linden: and then we'll start a pilot deploy late this evening pacific time

[8:10] Babbage Linden: as with 1.24.4 we've prioritised crash fixes

[8:10] Babbage Linden: and fixes for issues that affect LSL

[8:11] Babbage Linden: we're still working on SVC-2973: MONO - timer() event triggers before on_rez()

[8:11] Babbage Linden: which is proving to be a tricky one

[8:11] Babbage Linden: but have fixes for

[8:12] Babbage Linden: SVC-2925: Instant Messages of certain lengths

[8:12] Babbage Linden: SVC-1571: Rezzing a coalesced objects with 1024 scripte

[8:12] Babbage Linden: SVC-2751: Mono Beta - LSL attach() event survives reset

[8:12] Babbage Linden: plus 2 other internal crash bugs

[8:12] Babbage Linden: and a security issue that could have allowed DOS

[8:13] Babbage Linden: we've made significant progress on SVC-2908: C# error messages with Mono Compiled scripts

[8:13] Babbage Linden: which is actually a meta issue

[8:14] Babbage Linden: we've significantly hardened the code

[8:15] Babbage Linden: so we'll see fewer crashes

[8:15] Babbage Linden: and better reporting

[8:15] Babbage Linden: also, objects should only report initial errors

[8:15] Babbage Linden: and then act dumb

[8:15] Babbage Linden: like LSL scripts with runtime faults

[8:15] Babbage Linden: but, there may still be more work to be done there

[8:15] Creem Pye: any idea what types of operations were triggering the C# errors seen in SVC-2908? was the culprit a certain class of functions, or were the errors random?

[8:16] Babbage Linden: from what we've seen the errors revolve around using llDie to kill scripts

[8:17] Creem Pye: ok, but no reports of llSetScriptState() to disable a script causing problems?

[8:17] Babbage Linden: that would also potentially cause problems

[8:17] Babbage Linden: what we're seeing are problems with migrating stopped scripts to a new application domain

[8:18] Babbage Linden: so, if you stop scripts

[8:18] Babbage Linden: then rez and kill lots of other mono scripts to cause the application domain to unload

[8:18] Babbage Linden: the migration of stopped scripts could cause problems

[8:18] Creem Pye: ah I see

[8:18] Babbage Linden: our plan is to fix migration of stopped scripts

[8:18] Babbage Linden: and then look at why application domain unload is happening too often

[8:19] Babbage Linden: which will cause time dilation spikes

[8:19] Babbage Linden: but not crashes

[8:19] Babbage Linden: this is why the reports were often from busy regions

[8:19] Babbage Linden: or where lots of region crossing with mono scripts was happening

[8:19] Creem Pye: yeah, people have told me about these issues when sim load gets high

[8:19] Babbage Linden: the problems are triggered by lots of cycling of mono scripts

[8:20] Babbage Linden: rezzing and killing scripts cause the problems

[8:20] Babbage Linden: so, we're making progress on it now

[8:20] Creem Pye nods

[8:20] Babbage Linden: it's lower priority than SVC-2973 as it only affects mono scripts

[8:21] Babbage Linden: so, we're concentrating on SVC-2973

[8:21] Babbage Linden: then will look further at DEV-19712

[8:21] Babbage Linden: sorry, SVC-2908

[8:22] Babbage Linden: so, that's where we are now

[8:22] Babbage Linden: 1.24.5 should start being deployed later today

[8:22] Babbage Linden: and will hopefully fix everything that isn't mono

[8:22] Creem Pye: uh and I guess SVC-2908 would affect sim crossing of mono scripts as well

[8:22] Babbage Linden: yes

[8:22] Babbage Linden: a sim crossing is a rez in one region

[8:23] Babbage Linden: and a collection in the other

[8:23] Babbage Linden: any questions or comments?

[8:24] Creem Pye: nope, I'm set =)

[8:24] Babbage Linden: 1.24.5 is deployed on aditi now if you'd like to test it there

[8:25] Babbage Linden: but we hope to include a couple more fixes in it before we deploy it to agni

[8:26] Babbage Linden: are there any other issues that we should be looking at?

[8:26] Fake Fitzgerald: SVC-2365 will not be fixed in 1.24.5?

[8:26] Babbage Linden: i see a few more new issues in http://jira.secondlife.com/browse/SVC-1276

[8:26] Babbage Linden: but they seem to all be affecting Mono scripts

[8:26] Creem Pye: http://wiki.secondlife.com/wiki/Release_Notes/Second_Life_Beta_Server/1.24 looks like only 2 Jira issues for the time being, Fake

[8:27] Babbage Linden: which we'll get to once the crash bugs and LSL bugs are done

[8:27] Fake Fitzgerald: thanks Creem

[8:27] Creem Pye: oh Babbage, I have a general Mono question about something you said a week or two ago

[8:28] Babbage Linden: sure

[8:28] Creem Pye: you recommended copying identical scripts after compiling them, instead of placing them in an object before batch-recompiling

[8:28] Babbage Linden: yes

[8:28] Creem Pye: there's a performance increase,

[8:28] Creem Pye: but is that only in terms of having a lighter footprint, or is there other optimization?

[8:28] Babbage Linden: it's just a smaller footprint

[8:28] Creem Pye: because I'm wondering how much it might help in an object with 2 identical scripts

[8:28] Creem Pye: ok

[8:29] Creem Pye: so maybe saving 64KB

[8:29] Babbage Linden: the copied scripts share bytecode memory

[8:29] Babbage Linden: (at the moment the savings are not given back to the scripts, but it saves the simulator memory)

[8:30] Creem Pye: I guess it would'be worth having identical scripts load different configuration data from the prim description, then =)

[8:30] Babbage Linden: or a notecard, yes

[8:31] Babbage Linden: any more questions?

[8:32] Ricken Flow: Hello Everyone

[8:32] Creem Pye: howdy

[8:32] Object: Hello, Avatar!

[8:32] Babbage Linden: hi ricken

[8:32] Nock Forager: Hi Ricken

[8:32] Fake Fitzgerald: hi

[8:33] Nock Forager: Is there any way to find out which bytecode being used for each script?

[8:33] Babbage Linden: nock, only by rezzing the object and examining it

[8:33] Babbage Linden: we don't store whether a script is mono in the database

[8:34] Babbage Linden: so you can't tell just by looking at it in your inventory, unfortunately

[8:35] Nock Forager: So if same script compiled one by one, no one can tell they are sharing bytecode or not.

[8:36] Nock Forager: (Sorry my english is bit broken, not my 1st language ;( )

[8:36] Babbage Linden: so, in the case of bytecode s

[8:36] Babbage Linden: sorry

[8:36] Babbage Linden: the best way to do it is to contact someone who looks after the canonical copy

[8:37] Babbage Linden: so, someone gives or makes available the canonical xytext or whatever

[8:37] Babbage Linden: and changes the name or description as appropriate if it's updated

[8:37] Babbage Linden: right clicking and copying the asset id would be a great way to do it, but that's no longer supported

[8:38] Babbage Linden: in general the description of the script is unique enough#

[8:38] Babbage Linden: to determine sharing

[8:38] Nock Forager: I see.

[8:39] Nock Forager:

[8:40] Nock Forager: ah it's just my curiousity, but some voodo magics in scripting is work on Mono too?

[8:41] Nock Forager: Such as better way to writing script, optimize code.

[8:41] Babbage Linden: i hope not

[8:41] Babbage Linden: :-)

[8:41] Nock Forager: ;)

[8:41] Babbage Linden: with luck mono will reduce the need for voodoo

[8:42] Babbage Linden: supporting the current voodoo people do with lsl has been challenging :-)

[8:42] Creem Pye: does logic evaluate from left-> right in mono now?

[8:42] Babbage Linden: no, it can't

[8:42] Babbage Linden: as that would break scripts

[8:42] Ricken Flow: If someone wants to learn scripting/programming where is a good place to start. Since Mono looks like the way to go I want to start learning LSL /Mono?

[8:42] Creem Pye: er, so is it right->left?

[8:42] Babbage Linden: yes

[8:42] Babbage Linden: as with the original scripting engine

[8:43] Creem Pye: but mono can terminate early, I guess

[8:43] Babbage Linden: relying on the order of evaluation is bad in general

[8:43] Babbage Linden: but people were doing that with lsl

[8:43] Babbage Linden: so we've had to support it

[8:43] Creem Pye: if(a==b || c==d) if the first one evaluates to TRUE, I guess it can skip the 2nd

[8:43] Babbage Linden: again, no

[8:44] Babbage Linden: lsl would evaluate both terms

[8:44] Babbage Linden: so that's what we need to do to avoid breaking scripts

[8:44] Creem Pye: oh damn

[8:44] Babbage Linden: we have tried to copy the behaviour of lsl on the original scripting engine as closely as possible

[8:45] Babbage Linden: hopefully we will get to languages that operate more rationally in the future

[8:45] Babbage Linden: but with this release we want to make it as easy as possible to convert a script to run on mono

[8:45] Babbage Linden: without changing its behaviour

[8:46] Fay Tal: if mono is patched, do you need to recompile?

[8:46] Creem Pye: well, I hope we can get a more optimized profile in the future =)

[8:47] Babbage Linden: it depends where the fix is

[8:47] Babbage Linden: if the problem requires a compiler fix

[8:47] Babbage Linden: recompiling the script will be needed

[8:47] Babbage Linden: if the problem is a simulator fix, no changes are needed

[8:47] Babbage Linden: once the simulator restarts the problem will go away

[8:48] Babbage Linden: we haven't needed to make any compiler changes since the mono deploy

[8:48] Babbage Linden: if we do, we'll let people know

[8:50] Babbage Linden: anything else?

[8:51] Babbage Linden: any other questions?

[8:51] Babbage Linden: if not, i'll get back to fixing bugs

[8:51] Fay Tal: may i have your bear :)

[8:51] Nock Forager: :)

[8:52] Babbage Linden: sure

[8:52] Babbage Linden: i'll leave it here to autoreturn in 15 minutes

[8:52] Babbage Linden: ok, i'm going to head off

[8:52] Babbage Linden: thanks for coming everyone

[8:52] Creem Pye: thanks for your time

[8:53] Nock Forager: Thanks for the meeting.

[8:53] Babbage Linden: and thanks for your help with bug reports

[8:53] Ricken Flow: If I want to learn scripting where would be the best place to start.. I want to learn in mono at the same time if thats possible?

[8:53] Babbage Linden: if you see anything amiss, please put it in jira

[8:53] Babbage Linden: ricken, if you learn lsl you will be able to use mono

[8:53] Babbage Linden: the language doesn't change

[8:53] Babbage Linden: your scripts just go faster

[8:53] Psi Merlin: Thanks Babbage.

[8:53] Fake Fitzgerald: thanks Babbage, see you next week

[8:53] Creem Pye: I"d recommend getting freebie scripted objects, and tweaking the scripts to suit your taste

[8:53] Babbage Linden: see you all next time

[8:54] Creem Pye: and rely on the wiki for documentation

[8:54] Creem Pye: see you

[8:54] Ricken Flow: thanks Crree,

[8:54] Tomoneko Mayo: thanks Babbage

[8:54] Fay Tal: tc babble :)

[8:54] Ricken Flow: Creem

[8:54] Creem Pye: sure thing

[8:55] No room to sit here, try another spot.

[8:55] Fake Fitzgerald: bye all

[8:56] Nock Forager: cya