Simulator User Group/Transcripts/2012.06.15

Simulator_User_Group
Prev 2012.06.12	Next 2012.06.19
== List of Speakers ==
Andrew Linden 	Ardy Lay
Baker Linden 	Draconis Neurocam
Fenix Eldritch 	MartinRJ Fayray
MartinRJ Undercroft	Nalates Urriah
Rex Cronon 	Simon Linden
== Transcript ==
[16:00] Meeter: Welcome to the Server User Group
[16:01] Fenix Eldritch: Hullo everyone
[16:01] Andrew Linden: Hello
[16:01] MartinRJ Undercroft: hi
[16:01] Simon Linden: Hello
[16:01] Ardy Lay: Hello
[16:02] Rex Cronon: hello everybody
[16:02] Fenix Eldritch: yo
[16:03] Rex Cronon: hi fenix
[16:04] Andrew Linden: Ok let's start...
[16:04] Andrew Linden: Baker will probably join us in a bit
[16:05] Andrew Linden: I've been working on an overhaul on how the viewer and simulator allow you to edit objects that are part of the navmesh
[16:05] Andrew Linden: for the pathfinding project
[16:05] Andrew Linden: and I'm happy to say that the server part of that is done
[16:05] Andrew Linden: so I'm going to be trying to just fix pathfinding bugs for the next week or two
[16:06] Andrew Linden: I was helping Baker fix some permissions bugs...
[16:06] Rex Cronon: now comes the "easy" part. making a nice gui:)
[16:06] Andrew Linden: we managed to fix VWR-28921
[16:06] JIRA-helper: http://jira.secondlife.com/browse/VWR-28921
[#VWR-28921] "Permissions" button in contents tab incorrectly uses slammed perms
[16:07] Andrew Linden: but temporarily gave up on SVC-4444
[16:07] JIRA-helper: http://jira.secondlife.com/browse/SVC-4444
[#SVC-4444] Objects become fully permissive when rezzed under certain conditions. - with Repro
[16:07] Andrew Linden: I might take a swing at 4444 myself on the side, if I can find the time
[16:07] Rex Cronon: what r "slammed perms"?
[16:08] Andrew Linden: Otherwise... I didn't get anything done on making LSL syntax file a server download, but it is still on my list of side projects that I'd like to get to
[16:08] Fenix Eldritch: Hi Baker! I saw you joined not too long ago. Belated welcome to SL
[16:09] Baker Linden: thank you
[16:09] Andrew Linden: slammed perms are when you take an object to inventory, and then change the NextOwner perms while it is an inventory item.
[16:09] Rex Cronon: oh. ok. tank u
[16:09] Rex Cronon: thank*
[16:09] Andrew Linden: When the object is subsequently rezzed the final perms of the whole thing will be "slammed"
[16:10] Andrew Linden: to not be more permissive than what was set in the NextOwner field.
[16:10] Andrew Linden: At least, that is how I understand it.
[16:10] Ardy Lay: Slam failure results in freebies.
[16:10] Andrew Linden: I think that is all the news I've got.
[16:11] Simon Linden: FWIW I fixed VWR-27853 and VWR-28604 this week. I've been dabbling in viewer bugs recently
[16:11] JIRA-helper: http://jira.secondlife.com/browse/VWR-27853
[#VWR-27853] Unable to change parcel restrictions for a scripts-disabled parcel in a damage-enabled region
[16:11] JIRA-helper: http://jira.secondlife.com/browse/VWR-28604
[#VWR-28604] Object by multiple creators shows creator as "(unknown)" in Inventory
[16:12] Andrew Linden: Simon, what did you do for 28604?
[16:12] Simon Linden: 28604 isn't fully fixed, but the "unknown" is now "unknown / multiple". I
[16:12] Andrew Linden: ah
[16:12] Simon Linden: It's just a string change ... actually extracting data or getting better info isn't easy at that stage
[16:12] Rex Cronon: maybe u could make it return a list?
[16:13] Rex Cronon: or a coma delimited list?
[16:13] Andrew Linden: That would be hard.
[16:13] Simon Linden: well, that would mean a change in the message, poking into the DB, and displaying the list -- I donn't think it's worth the effort
[16:14] Andrew Linden: actually... it is very hard to change the inventory database schema at this stage
[16:14] Andrew Linden: possible to do... but would require coordination across all teams and lots of work
[16:15] Simon Linden: Plus figuring out how to update the system over multiple databases all without stopping the grid
[16:15] Rex Cronon: that is more like a whole year of work
[16:16] Nalates Urriah: Probably easier to stop time
[16:16] Ardy Lay: Do that for your next virtual world.
[16:16] Baker Linden: I started working on SVC-4968. I figured the next logical step from understanding permissions is to deal with management of large groups. Joking aside, I'm not sure if I'll be able to fix it, but I'm working with Andrew and Kelly on exploring options on how best to approach the issue.
[16:16] JIRA-helper: http://jira.secondlife.com/browse/SVC-4968
[#SVC-4968] Group won't load - too many members
[16:17] Rex Cronon: load pages/tabs of max 100 users at a time?
[16:17] Ardy Lay: Heh, service tries to send the data. I get 20+ Mb/s bursts of packets.
[16:18] Ardy Lay: When they arrive the viewer spews received out of order and missing header messages.
[16:18] Andrew Linden: Yeah, the service is failing on the server-side, before it even gets to the viewer.
[16:18] Baker Linden: I thought about that, Rex, but that isn't a relevant solution for the problem. It'd be nice to have that feature though, simply for having management of large groups be easier
[16:18] Andrew Linden: Ardy, are you perhaps on a 1.23-based viewer?
[16:18] Ardy Lay: Could it send at a reasonable rate?
[16:19] Ardy Lay: Second Life 3.3.4 (0) Jun 14 2012 18:22:08 (LindenDeveloper)
[16:19] Andrew Linden: Hrm...
[16:19] Rex Cronon: couldn't u redirect user to web page?
[16:20] Andrew Linden: I thought it was routing through an HTTP channel
[16:20] Andrew Linden: based on what Baker was showing me today
[16:20] Andrew Linden: but Ardy's symptoms sound like a UDP stream.
[16:20] Ardy Lay: Looks to me like more data than fits in a network path from there to here was sent. I only get part of it.
[16:20] Ardy Lay: Some setting I messed up maybe?
[16:21] Andrew Linden: No, maybe I don't properly understand the true return path of the data.
[16:22] Andrew Linden: In any case, yeah it should be moved to an HTTP service.
[16:22] Andrew Linden: If it is not already.
[16:22] Andrew Linden: It looked like that service was going through our "backbone" server, which speaks HTTP.
[16:23] Andrew Linden: We're still digging around.
[16:24] Andrew Linden: Table is open.
[16:25] Andrew Linden: Well, maybe we'll have a very short meeting today.
[16:25] Andrew Linden: It's been a while since we quit early.
[16:25] Rex Cronon: i have one question
[16:26] Rex Cronon: would it be possible for an object to hear itself?
[16:26] Andrew Linden: via llSay() and llListen() ?
[16:26] Rex Cronon: yes
[16:26] Nalates Urriah: Why would it need to?
[16:26] Fenix Eldritch: I don't think scripts can hear themselves.. possibly anobject wih 2 different scripts?
[16:26] Rex Cronon: to make sure that others hear it
[16:26] Simon Linden: I think it's designed that way now to make coding easier so you don't have to avoid your own chat
[16:27] Rex Cronon: sometimes i don't want to avoid it
[16:27] Nalates Urriah: Even if it hears itself there is no gurantee others will hear it...
[16:28] Rex Cronon: in theory if it hears itself, so should others if r close enough
[16:28] Andrew Linden: Not possible right now. I believe the simulator is hardcoded to skip listen events on chat from the object itself
[16:28] Rex Cronon: ok
[16:28] Ardy Lay: Use link messages
[16:29] Andrew Linden: I could see how it would be useful.
[16:29] Andrew Linden: Some scripts have a chat API
[16:29] Rex Cronon: i know how use them, but i want to use listen and say
[16:29] Andrew Linden: so for modular design you could put one listening script on an object, and another script that speaks to that API.
[16:30] Ardy Lay: I use link messages for that.
[16:30] Rex Cronon: sometimes if sim is laggy what a script says takes minutes to show in chat
[16:30] Andrew Linden: really, we should have created an internal chat channel, sorta like 127.0.0.1 is used for localhost
[16:30] Meeter: Timecheck : User Group is half over
[16:31] Ardy Lay: WOuld link message be sbjected to the same processing delays as chat?
[16:31] Andrew Linden: no, I'd expect link messages to be much less overhead
[16:32] Draconis Neurocam: don't they currently have more?
[16:32] Andrew Linden: I don't know those two systems very well, actually.
[16:33] Andrew Linden: so I'm not sure
[16:33] Ardy Lay: I suspect the number one source of performance degradation in Second Life regions is "sim performance meters" implemented as scripted objects.
[16:33] Ardy Lay: Or maybe "combat HUDs"
[16:33] Rex Cronon: no way
[16:33] Ardy Lay: Yeah
[16:33] Andrew Linden: but based on what I do know, the link messages shouldn't be as much work as transmitting a chat
[16:33] Rex Cronon: u forgot hair , shoes...
[16:34] Draconis Neurocam: they have a hard event throttle limit though, that chat doesn't
[16:34] Andrew Linden: ah
[16:34] Draconis Neurocam: 64 link_message events can queue, past that, they are silently dropped! Don't do too much in the event if they might be coming in fast.
[16:34] Ardy Lay: I had one of these big white strip chart things on my land and support said it was the cause of my problems. Not quite true but it was the item in the region at the top of whatever list they were looking at.
[16:35] Simon Linden: That was probably script times
[16:35] Simon Linden: Unless it was spewing a lot of physical objects
[16:35] Ardy Lay: I removed it and told them to look again. They restarted the region.
[16:36] Ardy Lay: I think it just moves two particle emitters around
[16:36] Ardy Lay: Not sure what's going on inside though.
[16:37] Andrew Linden: That and some "tight" loops that measure simulator stats.
[16:37] Ardy Lay: Imagine that using chat ....
[16:37] Andrew Linden: I'm guessing that Moon Metty would refute claims that this chart is a heavy duty script hog.
[16:37] Simon Linden: Right, I don't think there's a lot of moving parts
[16:38] Rex Cronon: if u make it get data every 0.001 of a sec:)
[16:39] Ardy Lay: Just about everything supports says gets refuted by somebody, but that's not your problem.
[16:39] Simon Linden: hmm, the top scripts seems to be broken for me
[16:40] Rex Cronon: if u as a linden have problem with it, it might be killing sim owners?
[16:41] Ardy Lay: Maybe I clogged a pipe trying to look at 14,000 group members.
[16:41] Simon Linden: lol - it's ok now
[16:41] Rex Cronon: your pipes were overflowing:)
[16:42] Ardy Lay: Members overflowing everywhere!.... Ugh, sounds like a public sandbox.
[16:42] Simon Linden: That dilation graph is in the top 10, but not bad
[16:43] Ardy Lay: Hmm.... I have something in inventory I made for Babbage some time ago.
[16:44] Andrew Linden: I've got this feeling that the code that filters chat for the script listen() events could be cleaned up for some performance improvements
[16:44] Ardy Lay: I am pretty sure the problem it illustrated is fixed now.
[16:44] Andrew Linden: but I haven't actually measured how much time is spent there
[16:44] Andrew Linden: it is just a hunch right now
[16:44] Draconis Neurocam: im pretty sure everyone would be happy if it was andrew, with how used it is
[16:45] Andrew Linden: mostly because the code there is rather old and uses some old C++ containters that are not very good
[16:46] Andrew Linden: there are certain legacy C++ templates that I try to rip out when I find them
[16:46] Andrew Linden: and as I recall there are a few of them in that code
[16:48] Simon Linden: Folks, it's a really quiet day today, so I'm going to head out a little early and try and wrap up a few things before the weekend
[16:49] Rex Cronon: tc simon
[16:49] Simon Linden: Thanks for coming, and I hope the silence means we fixed everything :P
[16:49] Ardy Lay: I know I wouldn't mind the elimination of whatever causes the multi-second delays in chat.
[16:49] Ardy Lay: I kinda doubt that's a little thing though. Feels like resource contention.
[16:49] Andrew Linden: well, the chat lag happens for the viewer too, not just scripts, right?
[16:50] Ardy Lay: Yes
[16:50] Andrew Linden: Yeah, that feels like a network bandwidth throttling problem
[16:50] Andrew Linden: or some other bottleneck in communicating the chat events to the viewer
[16:51] Andrew Linden: Does anyone here know how to reproduce the viewer chat lag?
[16:51] Ardy Lay: It's kinda had to tell from this side of the client-server pair.
[16:52] Rex Cronon: u should try the following: make a script that repeats what is said on ch 0, put it in 2 objects, say something, and enjoy the lag:0
[16:52] Andrew Linden: ok, so lots of scripted chats can do it?
[16:52] Ardy Lay: Sometimes it just happens for no apparent reason, as far is residents can tell.
[16:52] Nalates Urriah: Reproduce... try talking in the Phoenix Support ot Mesh Creators groups...
[16:52] Rex Cronon: u need only 2 objects:)
[16:52] Ardy Lay: Group chat has issues too, yes.
[16:53] Ardy Lay: I am talking about local chat.
[16:53] Andrew Linden: Nalates, you're talking about group IM right, which is distinct from chatting in general
[16:53] Rex Cronon: but be warned. it will spam u and everybody around u 2 death
[16:53] Andrew Linden: that is, the messages are definitely routed in different ways
[16:53] Ardy Lay: Just 20 people standing around chatting and suddenly they all seem to stop. 20 seconds later half of them are complaining about chat lag and out of order messages.
[16:53] Nalates Urriah: Are they that dissimilar?
[16:54] Andrew Linden: Yes Nalates, when it comes to delivering the messages they are different.
[16:54] Andrew Linden: Printing them out in the viewer UI is probably pretty similar.
[16:54] Nalates Urriah: ok, thx
[16:54] Andrew Linden: Tell you what...
[16:55] Andrew Linden: The next time someone here experiences a significant unexplained chat lag event, send me an IM with the time and region name
[16:55] Andrew Linden: but only if it happens over this weekend
[16:55] Meeter: Timecheck : User Group is almost over
[16:56] Andrew Linden: (I don't want to leave the reporting window open for too long)
[16:56] Ardy Lay: OKay Andrew
[16:56] Rex Cronon: if havok hickups than chat suffers too
[16:56] Andrew Linden: I probably need three or four events to look at
[16:56] Andrew Linden: to look for clues or a pattern
[16:57] Andrew Linden: well yea, if the simulator blocks for a few seconds I could see a chat backup happening
[16:57] Andrew Linden: such blocking events can be hard to notice if you're just standing around
[16:57] Andrew Linden: but if you have a chart like Moon's you can see them
[16:57] Andrew Linden: and perhaps correlate with chat lag
[16:58] Ardy Lay: I have a clock that ticks once a second and checks host time. If there is a discrepancy more than 3 seconds it says something about it.
[16:59] Andrew Linden: hrm... I wonder if one person were to suffer significant packet loss... if that could cause a general chat backup to happen
[16:59] Rex Cronon: to everybody around that person?
[16:59] Andrew Linden: that is, if the simulator is keeping some old chats around until it manages to deliver them
[16:59] Andrew Linden: thereby bloating the list
[16:59] Ardy Lay: Hmm....
[16:59] Andrew Linden: and slowing things down for everyone else
[16:59] Andrew Linden: dunno... just an idea to look into
[16:59] Ardy Lay: I know many people that are on crappy links
[17:00] Ardy Lay: I didn't know that could affect the experience of others.
[17:00] Rex Cronon: sometimes when i come here, there is like a 10-30 seconds of silence and than i get like 5-10 messages at one time
[17:00] Andrew Linden: I think the viewer has a "fake packet loss" debug setting somewhere that I could use to test that theory
[17:00] Ardy Lay: "drop packet"
[17:00] Andrew Linden: yeah
[17:00] Meeter: Thank you for coming to the Server User Group
[17:01] Ardy Lay: Control Alt L
[17:01] Ardy Lay: Heh, show physics shapes crashed viewer
[17:02] Andrew Linden: Alright, well IM me a timestamp and region name if you see a chat lag event this weekend.
[17:02] Ardy Lay: THanks, Andrew. I'll try
[17:02] Andrew Linden: Thanks for coming everyone.
[17:02] MartinRJ Fayray: Goodbye Andrew!
[17:02] Rex Cronon: tc andrew
[17:02] Nalates Urriah: Bye all and thx
[17:02] Rex Cronon: tc everybody
[17:02] Ardy Lay: Thanks for putting up with us. ;-)
[17:02] Rex Cronon: and have nice day:)
[17:03] Baker Linden: Thanks everyone, have a great weekend!
Simulator_User_Group
Prev 2012.06.12	Next 2012.06.19