Chat log from the meeting on 2013-02-12

[11:02] Justin Clark-Casey: hello folks [11:03] dan banner: hi everyone [11:03] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Hello [11:03] dan banner: hey justin [11:03] Andrew Hellershanks: Someone changed the stairs. [11:03] Sarah Kline: hi Dan, Justin [11:03] dan banner: hi sarah [11:04] logger sewell: Hey all [11:04] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Hi [11:05] Tiffany Magic: Hello everyone [11:05] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Hello [11:05] Justin Clark-Casey wonders why Andrew is doing the duck walk [11:05] Andrew Hellershanks: I need to go back to an older (or at least different) viewer. Singularity doesn't work well in Linux [11:06] Andrew Hellershanks: It is this viewer. The walk animation sucks. [11:06] Andrew Hellershanks: I may just go back to Imprudence until I can find a decent viewer for Linux. [11:07] Justin Clark-Casey: ok, since neb isn't around today, is there anything that anybody wants to talk about in particular? [11:08] Justin Clark-Casey: ok, I guess not! [11:08] Justin Clark-Casey grins [11:08] Jak Daniels: Great to see the new release out, thanks Justin and everyone for the hard work [11:08] Andrew Hellershanks: Does someone want to say anything about the release of 075? [11:09] Justin Clark-Casey: I think 075 should be a pretty good release - or at least no major issues so far :) [11:09] Justin Clark-Casey: and I think some people ran the release candidates this time, which is nice [11:10] Andrew Hellershanks: 074 was supposed to be good but I had to downgrade to 073 due to issues. :-) [11:10] Justin Clark-Casey: well, they're all suppoed to be good :) [11:10] Andrew Hellershanks: Only just set up for testing 075 but not done much testing yet. [11:10] Justin Clark-Casey: but you know, complex alpha software and all that [11:10] dan banner: justin: even though there are significantly less "false" ghosted avatars, trying to remove them with or without using --force causes the sim to hang and it hangs so even kill -3 cant create a dump [11:10] Andrew Hellershanks: yup. [11:11] Justin Clark-Casey: dan: yes - I think soon I will ask you to try the co-op script termination flag [11:11] Justin Clark-Casey: I'm fairly sure it is stable now but I will probably still wait a couple of weeks to be sure [11:11] dan banner: ok [11:12] Justin Clark-Casey: it's not actually an issue to go back - if it's enabled you can switch if off again [11:12] Andrew Hellershanks: Are there any ini changes in 075? [11:12] Justin Clark-Casey: but switching on does requires a manual recompiling of scripts (by either using the DeleteScriptsonStartup switch forf a single time or by clearing the scriptengines dir) [11:12] Justin Clark-Casey: andrew: I don't know [11:13] dan banner: currently there is only 1 user that seems to occasionally have a bad teleport resulting in a ghosted avatar, and when they try to relog the sim cannot remove the ghost on its own so there is no way for them to enter until the sim is restarted [11:13] Justin Clark-Casey: I'm sure there must be additions [11:13] Andrew Hellershanks: k, np. I'll run a diff on the default/sample ini files [11:13] Teravus Ousley is online. [11:14] dan banner: i see "trying to remove presence" errors and that never happens [11:14] Justin Clark-Casey: do you know if the avatar in question has a lot of scripted attachments? [11:15] dan banner: they do, but not anything unusual or any more excessive than other users [11:15] dan banner: they do use wifi [11:15] Justin Clark-Casey: ok. I would want to try co-op script termination first before considering other issues [11:15] Mic Bowman is online. [11:15] dan banner: which i suspect is probably the reason they have trouble [11:16] Justin Clark-Casey: yes, but nothing should be able to hang the simulator [11:16] dan banner: correct [11:16] dan banner: which is whats happening [11:16] BlueWall.Slade @gateway.bluewallvirtual.net:8002: is it something about them being in the UserManagementModule? [11:16] Teravus Ousley: capital punishment.. simulator hangings [11:16] dan banner: lol [11:16] Justin Clark-Casey: what makes you say that? [11:16] Andrew Hellershanks: hehe [11:17] dan banner: normally logging in to the same sim again will successfully remove the first login [11:17] Fearghus McMahon: hi everybody [11:17] Vivian Klees:. [11:18] dan banner: but that doesnt happen if they are ghosted [11:18] BlueWall.Slade @gateway.bluewallvirtual.net:8002: - [11:18] Justin Clark-Casey: well, on the last analysis the thread dump contained no locks [11:18] BlueWall.Slade @gateway.bluewallvirtual.net:8002: have you looked at the Presence table for them? [11:19] Justin Clark-Casey: this isn't the issue really [11:19] dan banner: blue: they still remain in presence [11:19] BlueWall.Slade @gateway.bluewallvirtual.net:8002: taking them from there doesn't help? [11:19] Justin Clark-Casey: the immediate issue is that the force kick fails with behaviour that suggests vm instability [11:19] dan banner: it hangs even without --force [11:19] dan banner: if they are ghosted [11:20] BlueWall.Slade @gateway.bluewallvirtual.net:8002: do you see their avatar? [11:20] dan banner: yes [11:20] BlueWall.Slade @gateway.bluewallvirtual.net:8002: and they're in show users? [11:21] dan banner: yes [11:21] dan banner: and on the console [11:21] dan banner: and it hangs in a way that it hangs kill -3 [11:22] dan banner: so the dump never finishes [11:22] BlueWall.Slade @gateway.bluewallvirtual.net:8002: any idea what hangs their TP? [11:22] dan banner: i really dont know but i see it happen mostly with one particular avatar [11:23] BlueWall.Slade @gateway.bluewallvirtual.net:8002: there is an option to add some extra debugging info to the teleports [11:23] Justin Clark-Casey: this isn't about that [11:23] BlueWall.Slade @gateway.bluewallvirtual.net:8002: I know what your're saying jcc [11:24] BlueWall.Slade @gateway.bluewallvirtual.net:8002: it should recover w/o crashing [11:24] BlueWall.Slade @gateway.bluewallvirtual.net:8002: but, I'm thinking about where the object is hung [11:24] Justin Clark-Casey: the object is hung? [11:24] BlueWall.Slade @gateway.bluewallvirtual.net:8002: and at what point it becomes detached [11:24] BlueWall.Slade @gateway.bluewallvirtual.net:8002: object as in instance of the ScenePresence [11:25] Justin Clark-Casey: what do you mean by detached? [11:25] BlueWall.Slade @gateway.bluewallvirtual.net:8002: the point that it fails [11:25] Justin Clark-Casey: The initial point of failure is probably on a teleport out when script threads are aborted [11:25] BlueWall.Slade @gateway.bluewallvirtual.net:8002: where the sim looses the user [11:25] Justin Clark-Casey: one of these aborts leaves the vm unstable such that the old SP does not get removed [11:26] dan banner: im not really sure blue, but either way the sim and or admin should be able to remove the ghosted avatar [11:26] Justin Clark-Casey: when a kick is attempted the simulator hangs because of threads waiting on locks which no other thread holds [11:26] Justin Clark-Casey: I have found these issues to be caused by thread aborting, hence the co-op script terminatio nwork [11:26] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ok [11:26] BlueWall.Slade @gateway.bluewallvirtual.net:8002: so, they are outbound? [11:26] Justin Clark-Casey: what are outbound? [11:26] BlueWall.Slade @gateway.bluewallvirtual.net:8002: the failed teleports [11:26] Justin Clark-Casey: the user? [11:27] dan banner: no blue [11:27] Justin Clark-Casey: no, they are inbound but that is not the point of failure [11:27] Justin Clark-Casey: or at least, not the primary failure [11:27] dan banner: they teleport in, baked texture (usually) gets sent, everyone sees them and then they crash [11:27] dan banner: but the avatar remains [11:28] dan banner: and 'show connections' has them in the list [11:28] dan banner: only it shows "false" [11:28] dan banner: under active [11:28] dan banner: and from that point there is no way to remove the avatar [11:28] dan banner: unless you restart the sim [11:28] Sarah Kline: I've seen that grey ghost in sky [11:29] Vivian Klees: some times a search will reveal they might be in another part of the grid [11:29] UUID Speaker: Alex Kokopipis: d1f27920-8df8-4b07-90fd-226ffb268d8a [11:29] dan banner: even if the user attempts to relog, they cannot get in because the sim cant remove existing presence [11:29] Sarah Kline: ah ok not same thing k [11:29] dan banner: yes they can relog elsewhere [11:30] dan banner: but not to the sim with the ghost [11:30] logger sewell: Hi Robert [11:30] dan banner: so 30 people make it and one gets ghosted, the one with the ghost is SOL until the sim is restarted [11:31] Robert Adams: hi all [11:31] Justin Clark-Casey: hi robert [11:31] BlueWall.Slade @gateway.bluewallvirtual.net:8002: hello [11:31] dan banner: the sim cant remove them, kick user (with or without --force) cant [11:32] Vivian Klees: the real fix is if they relog back into the same region as the ghost? [11:32] dan banner: the latter hanging the sim [11:32] dan banner: well the console i should say [11:32] Justin Clark-Casey: the real fix is to try co-op script termination [11:32] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ++ [11:32] dan banner: no more region# prompt [11:32] Teravus Ousley suspects that the failure might cause stuck child agents [11:32] Justin Clark-Casey: you can't relog to the ghost region if the simulator has reached this state where locks are unavailable despite no thread holding them [11:32] Tiffany Magic: dan.... are you having this issue with 7.5 running? [11:33] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Yes, are they listed as child or root agents? [11:33] Teravus Ousley: .. crash in a region.. then relog to a nearby region and the original sim is invisible [11:33] dan banner: no tiff i am only using dev builds [11:33] Tiffany Magic: Ok, thanks, dan. [11:34] dan banner: root bluewall [11:34] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ok [11:34] Justin Clark-Casey: dan: did you also try increasing the existing thread abort timeout? [11:35] dan banner: i can [11:35] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Justin, how do you enable co-op script termination [11:35] dan banner: good question [11:35] Justin Clark-Casey: BlueWall: set ScriptStopStrategy = co-op in [XEngine] [11:35] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ok, thanks [11:35] Dahlia Trimble is online. [11:36] Justin Clark-Casey: then you have to restart the region with either DeleteScriptsOnStartup = true for one restart or you wipe the bin/ScriptEngines/<region-id./*.dll* manually [11:36] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ok [11:36] Justin Clark-Casey: dan: alternatively, you could try setting WaitForEventCompletionOnScriptStop = 5000 instead of the default 1000 [11:36] Justin Clark-Casey: and see if that has an impact, though it might not [11:37] Justin Clark-Casey: of course, this is assuming I'm right about the cause. If not, the that's bad because it's some other failure [11:37] dan banner: okay i'll change that [11:37] Justin Clark-Casey: from the evidence I've seen so far, this is no a straightforward (!) deadlock issue [11:37] Dahlia Trimble: hi [11:37] BlueWall.Slade @gateway.bluewallvirtual.net:8002: Hi Dahlia [11:37] Justin Clark-Casey: hello dahlia [11:37] Teravus Ousley: Hello Dahlia [11:37] logger sewell: Hi Dahlia [11:38] Dahlia Trimble: who broke the stairs? [11:38] Teravus Ousley ran through the tests in resharper and a bunch of them failed... [11:38] Teravus Ousley is noting that he ran though all of the tests..... [11:38] Andrew Hellershanks: Dahlia, I was wondering the same thing [11:38] Teravus Ousley: seem to work, or be ignored on the ci [11:38] Justin Clark-Casey: teravus: can't say that terribly surprises me [11:39] Justin Clark-Casey: you mean you ran the regressio ntests? [11:39] Robert Adams: that would be me... stairs are different in BulletSim [11:39] Teravus Ousley nods [11:39] BlueWall.Slade @gateway.bluewallvirtual.net:8002: we're on Bulletsim ? [11:39] Justin Clark-Casey: teravus: what kind of thing failed? [11:39] Robert Adams: I believe so [11:39] BlueWall.Slade @gateway.bluewallvirtual.net:8002: nice [11:40] Teravus Ousley has to run them again to pull up which ones failed. [11:40] Robert Adams: Wright plaza has been running BulletSim for about a week [11:40] Justin Clark-Casey: I must admit, I'm surprised since they are logic tests [11:41] Sarah Kline: I have noticed an increase in speed as i fly around...it feels better [11:41] Tiffany Magic: May I ask how Bullet treats stairs differently, Robert? [11:42] BlueWall.Slade @gateway.bluewallvirtual.net:8002: afk for a few [11:42] Dahlia Trimble: ya flying is a bit faster [11:42] Andrew Hellershanks: Robert, if treads are no more than 0.25m apart in vertical spacing they should still work. [11:42] Robert Adams: ODE relies on the curve of the avatar capsule to allow the avatar to push up onto steps [11:42] Vivian Klees: no it's ODE the way to tell is using the viewer recorder [11:43] Robert Adams: BUlletSim tries to sense that the avatar is hitting something near its feet and moves the avatar up to get over the obstacle [11:44] Robert Adams: steps of more than .25m are not supposed to work? [11:44] Dahlia Trimble files a complaint with OSHA about unsafe stairs... [11:44] Andrew Hellershanks: With ODE I have found that 0.25m works well with stairs. Much more than that and you can't climb them. [11:45] Fearghus McMahon: ? i got to steps of 0.4 with bulletsim [11:45] Robert Adams was never sure what the real specs are for stairs [11:45] Andrew Hellershanks: Not without an invisible ramp. [11:45] Fearghus McMahon: which i was quite happy about actually [11:45] Teravus Ousley is running them now [11:45] Teravus Ousley: So far.. TestStopOninfiniteJumpLoop failed [11:46] Teravus Ousley: TestStopOnLongCompoundStatementDoWhileLoop failed [11:46] Teravus Ousley: TestStopOnLongCompoundStatementForLoop failed [11:46] Teravus Ousley: (message: script did not co-operatively stop) [11:46] Robert Adams: the steps here are meshes... it's a single prim... those are probably different [11:47] Dahlia Trimble: is it a trimesh collider? [11:47] Justin Clark-Casey: teravus: that's on windows I presume? [11:47] Teravus Ousley: TestStopOnLongCompoundStatementWhileLoop failed... [11:47] Sarah Kline: those steps have a prim ramp [11:47] Teravus Ousley: yes, on windows [11:47] Justin Clark-Casey: have you treid running them outside of resharper on win? [11:47] Robert Adams: yes, Dahlia [11:47] paulie Flomar: the rails on the stairs seem to be phantom here. I ran off the side of the stairs. heh. [11:47] Teravus Ousley: not yet :) [11:48] Dahlia Trimble: Ya I fell off twice [11:48] Justin Clark-Casey: ok, I need to try - I have to admit I have not yet so maybe there's som faiulre where the pass on mono but not .net [11:48] Justin Clark-Casey: they [11:48] Teravus Ousley: The singles pass [11:48] Justin Clark-Casey: huuuh. [11:48] Teravus Ousley: the infinite jump and the log fail [11:48] Andrew Hellershanks: Dahlia, I fell off once. I was more careful the second time around when I got to the landing half way up [11:48] Teravus Ousley: .. log/long [11:49] Justin Clark-Casey: that's really odd - the only difference between single and compound is the generation of the c# script text [11:49] Dahlia Trimble has poor vision [11:50] Justin Clark-Casey: there is a small timing window in those tests due to the nature of the script engine, but if that is being hit (which I judge very unlikely) it should affect every test in that suite [11:50] Teravus Ousley: Setting up test scene My Test

> In Test Method : TestStopOnLongSingleStatementWhileLoop <
Got chat [Thin Lizzy] Script started with message [Thin Lizzy] [11:50] Justin Clark-Casey: all those tests are for co-operative script termination so they do some jiggery pokery with the script engine to detect the stop [11:50] Justin Clark-Casey: yes, that's what I expect from some debug I hadn't taken out [11:50] Teravus Ousley: System.ArgumentOutOfRangeException Number must be either non-negative and less than or equal to Int32.MaxValue or -1. Parameter name: millisecondsTimeout [11:50] Justin Clark-Casey: what about a compound loop? [11:50] Justin Clark-Casey: oooh [11:51] Justin Clark-Casey: could you pastebin the entire failure? [11:51] Andrew Hellershanks: Thin Lizzy? Great 70's band. :-) [11:52] Justin Clark-Casey: first thing that popped into my head for some reason [11:52] Teravus Ousley: http://pastebin.com/4FjBxaYU [11:52] Simulator Version v0.5 shouts: OpenSim 0.7.6 Dev         6f3dcf5: 2013-02-10 20:00:39 +0000 (Unix/Mono) [11:54] Justin Clark-Casey: teravus: look like win doesn't like TimeSpan.MaxValue going to WaitAll [11:55] Justin Clark-Casey: SmartThreadPool is casting (int)TimeSpan.MaxValue.TotalMilliseconds [11:56] Teravus Ousley: 0.o [11:56] Justin Clark-Casey: mmm, looks like we are casting an int64 down to int32 [11:56] Andrew Hellershanks: Casting it to int? [11:56] Andrew Hellershanks: Doesn't sound good [11:56] Justin Clark-Casey: so technically this is a bug in SmartThreadPool, but really we can eaisly get around it by using int.MaxValue totalMilliseconds instead [11:56] Dahlia Trimble: maybe it should declare the parameter an int? [11:57] Justin Clark-Casey: yes, but that would stop one being able to useTimeSpan [11:57] Dahlia Trimble: no, they would have to cast it themselves? [11:57] Justin Clark-Casey: I guess [11:58] Andrew Hellershanks: I'm going to head out. See you next week. [11:58] Dahlia Trimble: bye [11:58] Teravus Ousley: Take care ANdrew [11:58] Andrew Hellershanks waves [11:58] Andrew Hellershanks is offline. [12:00] Justin Clark-Casey: teravus: basically, I would predict this fails outside of resharper as well, though curious it doesn't on windows. Possible solution will be to substitute a very large TimeSpan in ScriptInstance.Stop instead of TimeSpan.MaxValue [12:00] Justin Clark-Casey: siorry, curious it doesn't fail on mono I mean [12:00] Mic Bowman is offline. [12:00] Teravus Ousley nods [12:01] Dahlia Trimble: like int.MaxValue [12:02] Justin Clark-Casey: maybe constructing a timespan which equates to those total milliseconds [12:02] Justin Clark-Casey: I wiould really want to avoid more custom patches on SmartThreadPool to make it accept ints instead [12:04] Justin Clark-Casey: ahhh, although actually maybe this is really up in our code [12:04] Justin Clark-Casey: ah ha yes, STP does take ints but we're not exposing them through IScriptWorkItem [12:04] Justin Clark-Casey: so probably would be better to extend our shim classes to feed an int through to STP [12:05] Justin Clark-Casey: an overloaded Wait method [12:05] Teravus Ousley: IScriptWorkItem is riding dirty. [12:05] Justin Clark-Casey: if that's in place could probably just use -1 instead for an infinite timeout [12:06] Justin Clark-Casey: thanks Teravus [12:06] Teravus Ousley: Unit tests for the win [12:06] Teravus Ousley: (pun unintended.. for the win-dows) [12:06] Justin Clark-Casey: yes :) [12:07] Justin Clark-Casey: teravus: I'll probablyi make that change later on today [12:07] Teravus Ousley: Thanks for your hard work on this [12:08] BlueWall.Slade @gateway.bluewallvirtual.net:8002: ++ [12:08] dan banner: yes +10 here too [12:08] Justin Clark-Casey: thanks guys [12:09] Fearghus McMahon: Thanks to all of you developers for the hard work even [12:10] dan banner: ttfn [12:10] Teravus Ousley: have a good day dan [12:10] Justin Clark-Casey: yes, I need to get going as well. Thanks for the meeting, folks [12:10] Justin Clark-Casey: bye dan [12:10] logger sewell: ok I need to get to work ya'll have a good rest of the day [12:10] Fearghus McMahon: take care Justin [12:10] Sarah Kline: bye [12:10] Tiffany Magic: Bye everyone [12:10] Justin Clark-Casey waves [12:10] Teravus Ousley: ttyl justin :) [12:10] BlueWall.Slade @gateway.bluewallvirtual.net:8002: g'bye - I'm taking off too. Thanks for the meeting