User:Andrew Linden/Office Hours/2008 07 24

From Second Life Wiki
Jump to navigation Jump to search

Transcript of Andrew Linden's office hours:

[17:03] Andrew Linden: Hello everyone
[17:03] Creem Pye: good evening
[17:04] Sindy Tsure: hi hi!
[17:04] Rex Cronon: hello everybody
[17:04] Sindy Tsure: seifert!!
[17:04] Seifert Surface: hi!
[17:04] Sindy Tsure has enjoyed your work.. good stuff!!!
[17:04] Seifert Surface: :)
[17:04] Andrew Linden: So first of all.... it appears that the 1.23-Server update may be ready... again... for try #4
[17:04] Sindy Tsure: 4th try is the charm!
[17:05] Sindy Tsure hopes somebody is in the control room, giving prospero oxygen
[17:05] Andrew Linden: There are currently about 500 regions running it, and someone is keeping an eye on the associated crash rage
[17:05] Andrew Linden: rate
[17:05] Kitto Flora: Was one of the bugs that returned group items went back to the maker, not the owner?
[17:05] Andrew Linden: if they look good overnight then a rollout will proceed tomorrow morning over half the grid, then the other half saturday morning
[17:06] Sindy Tsure: great!! been drooling over a svc physics bug that simon fixed for a while
[17:06] Andrew Linden: Kitto, not that I know of... that group-items-returned-to-maker bug is not one I saw (or had to fix)
[17:06] Kitto Flora: Humm - i WONDER IF IT IS A BUG
[17:06] Andrew Linden: uh... the stuff in 1.23 is pretty old
[17:07] Kitto Flora: Or just a strange caps-lo-by-bill
[17:07] Andrew Linden: there is a chance that the SVC bug fix you're looking for Sindy is there, but maybe it is not yet in 1.23
[17:07] Sindy Tsure: prosper listed it..
[17:07] Sindy Tsure: *prospero
[17:08] Andrew Linden: Oh ok. Yeah Prospero knows what is getting deployed.
[17:08] Sindy Tsure: "SVC-2485: Phantom Objects Collide with Virtual Prims in 1.22.2 "
[17:08] Andrew Linden: ? That is fixed?
[17:08] Andrew Linden: Ok well good.
[17:08] Sindy Tsure has a non-vehicle physical+phantom object that bumps into stuff :(
[17:08] Sindy Tsure is quoting the blog.. hope it's fixed!!
[17:09] Sara Long hugs arawn
[17:09] Andrew Linden: As I mentioned on Tuesday, I'm going to hold a little debbuging session this evening after this meeting
[17:09] Sindy Tsure: hiya folks
[17:09] Kitto Flora had a physical+non-phantom vehicle that did *not* bump into stuff
[17:09] Andrew Linden: for one hour, 18:00 - 19:00, on a region in the ADITI beta grid
[17:09] Kitto Flora: Can we trade?
[17:09] Sindy Tsure: :)
[17:10] Andrew Linden: the region name is 'xyz' -- Siefert volunteered his region, and there is some content there that I'd like to test
[17:10] Andrew Linden: that said... I haven't yet been able to get xyz up...
[17:10] Sara Long: thank you
[17:10] Sindy Tsure: d'oh
[17:10] Andrew Linden: later in this meeting I'll go AFK for a few minutes while I try to figure out what is keeping it down
[17:10] Seifert Surface: i can rez the stuff pretty easily at some other location if necessary
[17:11] Andrew Linden: well... I've yet to get any region up on my new bleeding edge code
[17:11] Andrew Linden: but it is probably a config problem
[17:11] Andrew Linden: just need time to poke around and see what I can find
[17:11] Seifert Surface: ah ok
[17:12] Andrew Linden: lessee... the only other thing I was going to mention is that I really really really want to start fixing some vehicle bugs
[17:12] Sindy Tsure has a few questions that came up in the forums this week, if there's time
[17:12] Andrew Linden: but have not yet been able to get into it
[17:12] Sindy Tsure: svc-22!!
[17:12] Kitto Flora: What vehicle bugs do you propose to fix?
[17:13] Sindy Tsure: ...aside from svc-22
[17:13] Andrew Linden: those bugs require a lot of "mental state"... concentration if you will, and I've been having trouble getting a day without emergency interruptions
[17:13] Andrew Linden: hopefully once 1.23 is finally out I'll get more peace and quiet
[17:14] Andrew Linden: Kitto, some vehicles tend to embed themselves into obstacles, also some vehicles still hit the prim seams harder than others
[17:14] Andrew Linden: Those were the ones I was going to try to focus on
[17:14] Andrew Linden: finally, a bunch of motorcycles are supposedly broken... difficult to turn, or turn wrong
[17:15] Andrew Linden: Alright... the table is open... Sindy, you had some questions?
[17:15] Sindy Tsure: yep! just some random stuff that came up in the forums..
[17:15] Kitto Flora: Humm - sim crossing stuff? Likely to re-write the sim crossing method?
[17:15] Sindy Tsure checks her notes
[17:16] Creem Pye: oh um, I noticed that llGetAccel() always returns ZERO_VECTOR when called in attachments. Is that intentional somehow?
[17:16] Sindy Tsure: sim servers.. do they always run all openspace sims or all full sims or can they mix on a single physical server?
[17:16] Andrew Linden: Not planning on visiting sim boundary crossings, at least not tomorrow or next week
[17:16] Creem Pye: (I don't think so, since llGetVel() returns nonzero values in attachments)
[17:16] Arawn Spitteler: Have you tried the highways of SL? Lag Orbiting is not to be missed.
[17:16] Andrew Linden: Sindy, the sim hosts always run either all openspace, or all full
[17:16] Sindy Tsure: k!
[17:17] Andrew Linden: Creem, what is the expected behavior of llGetAccel() on attachments?
[17:17] Creem Pye: I would expect it to report the acceleration of the avatar
[17:17] Andrew Linden: What happened in Havok1? And what would you expect it to be?
[17:18] Sindy Tsure: again on hosts, Ian Linden (IIRC) mentioned the hardware specs for class 5 when those were just coming out.. is new class 5 hardware the same exact specs? somebody made a statement that LL had probably switched to quad-core instead of twin, dual-core
[17:18] Creem Pye: which would be nonzero if the avatar is sitting on a dynamic object or flying around
[17:18] Andrew Linden: Ok, that wouldn't be too hard to do...
[17:18] Creem Pye: hm, I never tried that on H1
[17:18] Andrew Linden: btw, llGetAccel() was pretty broken in Havok1
[17:18] Creem Pye: ah right, always <0,0,-9.8> right?
[17:18] Andrew Linden: all it did was return "gravity + llConstantForce()"
[17:18] Creem Pye: llGetAccel() works nicely when called in dynamic objects
[17:19] Creem Pye: (e.g. it seems to register acceleration changes when a car turns )
[17:19] Andrew Linden: The way it works now is... we compute the acceleration three different ways, empirically
[17:20] Andrew Linden: and then we use some logic to return what we think is the right one
[17:20] Creem Pye: ah interesting, so it's not just the immediate change in velocity since the previous sim frame?
[17:20] Andrew Linden: the acceleration can be hard to measure in some case... such as an object tumbling along the ground
[17:21] Andrew Linden: correct Creem, the instantaneous acceleration from one frame to the next, using the current and historical values of velocity, can be quite noise, even though the object isn't really moving very far with those accelerations
[17:22] Andrew Linden: since the acceleration is sometimes used for dynamic object interpolation on the client side... using the raw acceleration can cause very jerky motion in some case
[17:22] Andrew Linden: very jerky visible motion
[17:22] Creem Pye: I guess the desirable way would be to measure velocity (or maybe position even) across several frames, then run a derivator filter on that =)
[17:22] Andrew Linden: right, filter the "effective" accelration for the timescales of interest
[17:23] Andrew Linden: that is sorta what we do... (close but not quite)
[17:23] Kitto Flora: The client side display of steadily movng vehicles has certainly be come more jerky in the last several months
[17:23] Andrew Linden: In any case, that is why llGetAccel() now returns more useful info in Havok4 for most cases
[17:24] Andrew Linden: hrm... kitto you have a collection of slow smooth vehicles, so I guess you would notice
[17:24] Kitto Flora: Yes.. I get to see this a lot
[17:25] Andrew Linden: that is good to know, one of these days I'll to look into that bug
[17:25] Creem Pye: yeah, sometimes I notice stuttering. But it's hard to blame the simulator vs packet loss or something, in my experience
[17:25] Andrew Linden looks into his future and tries to guess when he might be able to schedule that in... and fails
[17:25] Creem Pye: mmm I guess I should add the llGetAccel thing to Jira for reference
[17:25] Kitto Flora: Theres even seconds long lag sometimes. Vehicle starts - you hear the sound move away. The body sticks in place! Then after 2 or 3 secs the body sudenly jumps to where it should have moved to
[17:26] Andrew Linden: beyond a week or two my future gets very fuzzy
[17:26] Andrew Linden: hrm... that sounds like an interestlist bug.
[17:26] Kitto Flora: Packet loss certainly affect perceived vehicle motion
[17:26] Kitto Flora: But unless its gotten a whole lot worse, I dont think thats the cause of 'shaky'
[17:27] Andrew Linden: yes, CG Linden was telling me about some interestlist bug that was driving him nuts... I looked into it and couldn't repro... I think it was caused by packet loss, but am not 100% sure
[17:27] Kitto Flora: Packet loss usually causes the 'flying off into the sky' effects
[17:27] Sindy Tsure: where the camera is seems to make a big difference..
[17:28] Andrew Linden: perhaps you guys could discuss some topic of choice while I try to quickly figure out why xyz isn't coming up on ADITI?
[17:28] Andrew Linden: brb... about 3 minutes...
[17:28] Sindy Tsure: if you're on a vehicle with the default camera, it's pretty good.. once you move the camera away, it gets all jerky
[17:28] Rex Cronon: i have one topoic. is there any ETA for llSetPrimitiveParams(PRIM_POSITION, ...) when it doesn't move a physical prim?
[17:28] Rex Cronon: topic*
[17:28] Seifert Surface: doesnt that work already?
[17:29] Sindy Tsure: there a jira for that, rex?
[17:29] Rex Cronon: it works?
[17:29] Arawn Spitteler has flapping wings for that.
[17:29] Seifert Surface: i probably dont know what you mean
[17:29] Rex Cronon: i think somebody else mentioned that last time
[17:29] Seifert Surface: does not move a physical prim?
[17:29] Kitto Flora: Theres that Puppet Player script that appears to use llSetPrimitiveParams(PRIM_POSITION, .. - it works ok
[17:29] Sindy Tsure: the llSetLinkPrimParams for moving a sitting avatar?
[17:30] Sindy Tsure: simon was talking about that a few weeks ago
[17:30] Rex Cronon: no. for moving the root prim
[17:30] Creem Pye: but llSetPos() works then, Rex?
[17:30] Arawn Spitteler: Simon was going to throttle that, somehow, but I haven't tested intersim features.
[17:30] Kitto Flora: I had an apparent problem with llSetPos() not correctly moving a dynamic object....
[17:30] Rex Cronon: i haven't tired setpos
[17:30] Andrew Linden: Ok, I think I figured out the problem -- it was set to the wrong class as the server I had on hand.
[17:30] Creem Pye: oh wiat,
[17:30] Creem Pye: the wiki says that llSetPos() does not work for physical objects
[17:31] Andrew Linden: I need to wait 5 min or so for it to get picked up, then I'll check again.
[17:31] Object: Hello, Avatar!
[17:31] Kitto Flora: The Wiki has been wrong for years
[17:31] Creem Pye: then you'd want something like llMoveToTarget() instead
[17:31] Andrew Linden reads back
[17:31] Sindy Tsure has more forums questions if we're buring a few minutes..
[17:31] Kitto Flora: llSetPos in H1 always worked on dynamics
[17:31] Kitto Flora: And Andrew agreed to keep it working tht way in H4
[17:31] Seifert Surface: ive always flipped back to non dynamic to use setpos
[17:31] Rex Cronon: i think even andrew said that he had no idea that llsetpos doesn't wrok for physicals
[17:32] Sindy Tsure: oops
[17:32] Kitto Flora: Right rex
[17:32] Creem Pye: it would be nice if the wiki was the authority on how stuff is supposed to work =)
[17:32] Andrew Linden: yeah, I haven't yet been able to look into that llSetPos() bug
[17:32] Kitto Flora: But a new item I was working on would not move properly when dynamic. Ok when 'static'
[17:33] Andrew Linden: Is there a Jira for it? If so, someone paste the number or link here.
[17:33] Sindy Tsure: writing instructions is even worse than reading them
[17:33] Andrew Linden: (I often go back and read my office hour transcripts and follow jira links)
[17:33] Kitto Flora: However - Steam trains used llSetPos() when dynamic - and they all appear to be working ok
[17:33] Object: Hello, Avatar!
[17:34] Andrew Linden: Ok, sounds like there is some disagreement as to whether the bug is happening or not.
[17:34] Creem Pye: then would the movement be instantaneous, as though the object were non-physical?
[17:34] Creem Pye: or did it just pick a certain timescale?
[17:34] Kitto Flora: It always was instant, Creeme
[17:34] Arawn Spitteler: Should be just like a T
[17:34] Andrew Linden: In that case... if there is an object that does not work I'd be needing a copy of the particular object.
[17:34] Arawn Spitteler: TP, shouldn't it?
[17:34] Kitto Flora: Yp, like a TP
[17:35] Object: Hello, Avatar!
[17:35] Kitto Flora: Well in the case of the item I noticed - I designed it out. And as no one else had noticed it as a 'bug' I shelved it.
[17:35] Sindy Tsure: hm.. it indeed does not work..
[17:35] Creem Pye wonders what llGetAccel() would return the instant llSetPos() moves a dynamic object :O
[17:36] Kitto Flora: Rex's report sounds similar though
[17:36] Kitto Flora: distance it moved /44mS/44mS ?
[17:37] Andrew Linden: hrm... it seems the sim host I'm using on ADITI doesn't have a simulator running... wonder why that is
[17:37] Rex Cronon: ok i just tried it
[17:37] Rex Cronon: it doesn't work
[17:37] Kitto Flora: What doent?
[17:37] Rex Cronon: llSetPrimitiveParams([PRIM_POSITION, llGetPos()+<0,0,1>]);
[17:37] Rex Cronon: put that in touch_start
[17:38] Rex Cronon: set prim to physical, and it doesn't move
[17:38] Object: Hello, Avatar!
[17:38] Rex Cronon: set it to non physical and it moves
[17:38] Object: Hello, Avatar!
[17:38] Sindy Tsure: same with llSetPos - i just tried that
[17:38] Kitto Flora: Try ,1,0,0> move
[17:38] Seifert Surface: thats what its supposed to do isnt it?
[17:38] Kitto Flora: z could be fishy
[17:39] Rex Cronon: is supposed to go up 1m
[17:39] Kitto Flora: yeah but u=its phys
[17:39] Kitto Flora: you work against gravity
[17:39] Kitto Flora: whereas an x move is only friction
[17:39] Seifert Surface: no on x either
[17:39] Rex Cronon: i can bet it won't move on x either
[17:39] Rex Cronon: nor on y
[17:39] Object: Hello, Avatar!
[17:40] Object: Hello, Avatar!
[17:40] Seifert Surface: setpos etc arent supposed to work with physical objects though?
[17:40] Sindy Tsure: that's what the wiki says - they don't work on physical objects
[17:40] Object: Hello, Avatar!
[17:41] Creem Pye tests llGetRot() on a dynamic object
[17:41] Object: Hello, Avatar!
[17:41] Rex Cronon: actually i kind of thought the same way until i heard people last time that it should
[17:41] Andrew Linden: I'm vague on the details of the design around llSetPos()... but I seem to recall that llSetScale() does not work on dyanmic objects
[17:41] Sindy Tsure: can't you do god mode and take over waterhead if xyz is having problems, andrew?
[17:41] Kitto Flora: Houston, we got a problem....
[17:41] Seifert Surface: setscale would change the mass iirc
[17:42] Andrew Linden: the main reason was that it was very very easy to kill a havok1 region using llSetScale() on a properly complex, properly located object in Havok1
[17:42] Creem Pye: llSetRot() doesn't work on dyanmic objects either
[17:42] Kitto Flora: I wonder why all my vehicles have not proken
[17:42] Kitto Flora: Could it be that its only new-compiles that fail?
[17:42] Creem Pye: yeah I remember us talking about llSetScale() not working for that reason,
[17:43] Kitto Flora: Definitely broken
[17:44] Andrew Linden makes a note... look into making llSetScale() work for dynamic objects
[17:44] Andrew Linden: that will probalby break some content... sigh
[17:44] Rex Cronon: and llsetpos too?
[17:44] Kitto Flora: Er llSetPos() and
[17:44] Seifert Surface: why bother?
[17:44] Seifert Surface: just set non dynamic, make the changes, set dynamic
[17:44] Kitto Flora: The PrimitiveParams() version of it
[17:44] Seifert Surface: i guess that would be inefficient if someone wanted to do it a lot
[17:44] Sindy Tsure: if it doesn't work now, would it break content?
[17:45] Kitto Flora: Why - because theres masses of existing content that depends on it
[17:45] Creem Pye: I can change the PRIM_TYPE parameter on a dynamic prim to make it another shape
[17:45] Creem Pye: which could potentially cause penetration
[17:45] Kitto Flora: I dont know hy it hasnt broken content -
[17:45] Seifert Surface: kitto: that can't be recompiled because it wouldnt work? is that the theory?
[17:45] Kitto Flora: Yes
[17:45] Andrew Linden: the special casing for llSetScale() on dynamic objects is a sad consession to the crashability of Havok1
[17:45] Creem Pye: though admittedly it would be a lot less likely than a llSetScale() call
[17:45] Seifert Surface: have you tried recompiling that content kitto?
[17:46] Sindy Tsure is surprised a recompile would break that..
[17:46] Kitto Flora: Not sure when I last recompiled Steam Train
[17:46] Kitto Flora: may be weeks back
[17:47] Andrew Linden: ahah, I think I know why xyz won't start... bad symbolic link
[17:47] Kitto Flora: I noticed the problem .. maybe 2 weeks back
[17:47] Andrew Linden: although I thought I changed the link... perhaps I didn't notice that it failed
[17:49] Kitto Flora: July 5th maybe - last steam train recompile
[17:49] Andrew Linden: ok, trying again... must wait 5 min
[17:49] Sindy Tsure has a question about openspace sim scheduling
[17:49] Arawn Spitteler: Steam Train uses llSetPos on a dynamic?
[17:49] Kitto Flora: Yes
[17:49] Andrew Linden: Go ahead and ask Sindy.
[17:49] Kitto Flora: USed to dunamically correct psition
[17:50] Sindy Tsure: somebody did some pretty involved tests and reports that scripts on an empty openspace run faster than on an empty full sim..
[17:50] Andrew Linden: xyz is starting on ADITI
[17:50] Kitto Flora: ... but where are there any empty sims?
[17:50] Sindy Tsure: does that make sense or is the grid noise just big enough were it can look like that?
[17:50] Seifert Surface: andrew: login using the mono beta client?
[17:50] Sindy Tsure: ack! need the mono client?
[17:51] Andrew Linden: Uh... that does not make sense Sindy
[17:51] Arawn Spitteler: Any idea what was on the other sims, of those servers?
[17:51] Creem Pye: well its' possible that the full sim had some background processes going
[17:51] Andrew Linden: but there is hidden noise in the performance of a region
[17:51] Creem Pye: like a backup
[17:51] Sindy Tsure thinks they were isloated sims - no neighbors - and were restarted several times to get a variety of hosts
[17:51] Kitto Flora: Ahhh - the script that uses SetPos() want compiled since April
[17:52] Andrew Linden: it is possible for an openspace region to get an entire host to itself, while an empty full region migh be sharing the host with 3 busy regions
[17:52] Sindy Tsure: oh.. good point
[17:52] Andrew Linden: turns out, although a CPU is dedicated to each full region, each one does impact the performance on the entire host... disk access and other stuff are shared
[17:53] Andrew Linden: and... that hidden state of the host would be very hard for a normal resident to determine
[17:53] Sindy Tsure nods.. simon was also talking about them running at 45fps, even when nobody was there
[17:53] Sindy Tsure: ok..
[17:53] Sindy Tsure: so.. no weird scheduling on openspaces?
[17:53] Creem Pye: in general a "full" sim should be faster, probably
[17:54] Kitto Flora: When they have stuff in them?
[17:54] Sindy Tsure would think two empty sims would be the same
[17:54] Andrew Linden: grr... xyz can't come up... can't find simstate
[17:54] Andrew Linden: yes no weird scheduling in openspace regions that would cause scripts to run faster
[17:54] Sindy Tsure: empty = no prims, no attachments, nothing..
[17:54] Kitto Flora: xyzzy. That does nothing there?
[17:54] Seifert Surface: what are you doing to my poor sim?!
[17:54] Sindy Tsure: ty
[17:55] Rex Cronon: mabe it doesn't like the name. try "abc":)
[17:56] Andrew Linden: just curious... how many people here are planning on attending the hands-on session in xyz?
[17:57] Sindy Tsure was thinking about it!
[17:57] Seifert Surface: i would...
[17:57] Sindy Tsure: do i need the mono client
[17:57] Sindy Tsure: ?
[17:57] Creem Pye has nothing broken that needs to be demonstrated
[17:57] Rex Cronon: i might come for a while, as i also intended to go there
[17:57] Arawn Spitteler has a class to teach, at 6:30
[17:58] Andrew Linden: Arawn, what topic do you teach?
[17:58] Seifert Surface: yeah, i have to go reasonably soon as well
[17:58] Arawn Spitteler: Basic Scripting - Bones of the Script
[17:59] Sindy Tsure wonders if everybody has seen Seifert's work above the Black Swan region? it's really cool! :)
[17:59] Andrew Linden: Sindy, you should be able to connect with your current client... but you have to tell it to connect to the ADITI grid
[17:59] Arawn Spitteler: Set Text and "Don't touch me "+llDetectedName(0)
[17:59] Sindy Tsure: ok
[17:59] Andrew Linden: does everyone know how to do that?
[17:59] Seifert Surface: dont think i do
[18:00] Creem Pye: speaking of Mono, will the 1.23 series get Mono, or will that be reserved for 1.24? :)
[18:00] Rex Cronon: ctrl+shift+g
[18:00] Sindy Tsure: 1.24, creem
[18:00] Rex Cronon: on the login
[18:00] Kitto Flora: I would go Aditi and try stuff
[18:00] Andrew Linden: I think you can type... something like CTRL+G or SHIFT+G to get a little menu option before they (Connect)
[18:00] Creem Pye: thanks sindy
[18:00] Andrew Linden: er... not a menu, but a "combo box"
[18:00] Andrew Linden: where the grid can be selected
[18:00] Seifert Surface: cool
[18:00] Andrew Linden: Yes, the MONO client, if you have it installed, should work
[18:00] Sindy Tsure: or grab the Beta viewer from http://secondlife.com/support/downloads.php
[18:00] Andrew Linden: Alternatively, some of the older Havok4 beta clients will still work
[18:01] Kitto Flora: Is xyz up, Andrew?
[18:01] Rex Cronon: or on the command line --grid aditi
[18:01] Andrew Linden: ok... xyz appears to be up finally
[18:01] Andrew Linden: just in time
[18:01] Sindy Tsure w00ts
[18:01] Seifert Surface: cool, will see people there
[18:01] Andrew Linden: however... it might not be visible on the map
[18:02] Rex Cronon: i am going there,
[18:02] Andrew Linden: you may nee to specify -url //xyz/128/128 before you connect
[18:02] Rex Cronon: bye
[18:02] Andrew Linden: in the preferences
[18:02] Sindy Tsure goes poof
[18:03] Arawn Spitteler heads to class.
[18:03] Andrew Linden saves the transcript
[18:03] Kitto Flora attempts to connect