[11:02] Kayaker Magic: Here he comes!
[11:03] Andrew Hellershanks: Hello, everyone.
[11:03] Kayaker Magic: I have an issue today: Anybody know what can cause this error message on the opensim console?
[11:03] Kayaker Magic: 10:54:41 - [WATCHDOG]: Timeout detected for thread "Heartbeat-(Test_Bed_3x3)". ThreadState=Running. Last tick was 21253ms ago.
[11:04] Kayaker Magic: I have a script that can llock up a region and cause that message a minute or so later. EVERY TIME
[11:04] Ubit Umarov: the bed is very good and heartbeat fallen asleep
[11:05] Kayaker Magic: But I try to make a smaller version of the script, and the error doesn't happen. At least not yet...
[11:05] Ubit Umarov: well scripts can do that, hard to tell
[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002: You just answered your own question
[11:05] Vincent.Sylvester @hg.zetaworlds.com:8002: Usually script load or poorly written ones consuming a ton of memory
[11:06] Kayaker Magic: The script worked perfectly on older versions of OpenSim. The error started with recent versions.
[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002: It does recover though
[11:06] Kayaker Magic: No, this script is not a bad one. Worked fine for years.
[11:06] Vincent.Sylvester @hg.zetaworlds.com:8002: Hints at potential scene update queue failure in the long term
[11:07] Kayaker Magic: Testing is difficult, every test usually requires restarting or waiting 2 minutes for the region to recover.
[11:08] Andrew Hellershanks: Yes, you take things out of a script until the errors stop. The last thing removed was the cause of the error.
[11:08] Andrew Hellershanks: :)
[11:08] Ubit Umarov: selby, are you stuck?
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002: It doesn't need to be a single script, overall load is also a factor and the type of operations done by those scripts
[11:09] Andrew Hellershanks: Kayaker, Does the script use a timer? If so, is it doing too much in the timer handler?
[11:09] Kayaker Magic: Unless it is a race condition, then removing something unrelated changes the timing enough to change the result.
[11:09] Kayaker Magic: The script is completely event driven, has a timer that runs at 0.5 seconds.
[11:10] Kayaker Magic: Actually there are two scripts, a rezzer and the thing it rezzes. I'm considering a race condition about how the two of them communicate, but can't verify that yet.
[11:10] Selby.Evans @grid.kitely.com:8002: I guess so, but fixed
[11:11] Ubit Umarov: ok
[11:11] Andrew Hellershanks: Kayaker, is it your own rezzer or one of the readily available ones?
[11:11] Ubit Umarov: kayker we can't guess those things
[11:11] Andrew Hellershanks: I have used Builder's Buddy and not had a problem with it.
[11:12] Ubit Umarov: only looking to script code, finding potencial relatuons and testing
[11:12] Ubit Umarov: ofc to rez a prim is a heavy operation..
[11:12] Ubit Umarov: 1000 od them a bit worse..
[11:12] Ubit Umarov: :p
[11:13] Kayaker Magic: My own rezzer.
[11:13] Ubit Umarov: and rez is not a multithread operation
[11:13] Andrew Hellershanks: Kayaker, have you checked the regions stats when the region is outputting the error to see if it shows a high LPS number or low FPS numbers?
[11:13] Kayaker Magic: I'm only hoping for suggestions on what can cause the lockup now when it didnt happen in the last Yeti I build
[11:13] Andrew Hellershanks: Hello, Michael.
[11:13] Michael.Christopher @cc.opensimulator.org:8002: hello
[11:13] Ubit Umarov: it will stop other threads while changing shared data
[11:14] Ubit Umarov: but, as i said, we can only guess
[11:15] Ubit Umarov: wel abotu code changes last week
[11:16] Ubit Umarov: i did made ubode use own copies of the unmanaged libraries
[11:16] Andrew Hellershanks: I saw mostly code cleanup type changes but there were two commits referencing mantis reports.
[11:16] Ubit Umarov: so old ode module can stay unchanged
[11:16] Kayaker Magic: Yeah, I will keep trying to find a simple way to repeat the problem. But be warned: There is a way to crash Yeti that was not there before. I cannot use recent versions on my regions any more for fear that other things will trigger this.
[11:16] Ubit Umarov: so now ubode uses ubode.dll and old ode uses ode.dll
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah that were some fun little bugs that slipped by, all resolved now, but given the changes to physics might see one or two more as more people test things
[11:17] Ubit Umarov: that on windows, similar for other operating systems
[11:18] Ubit Umarov: then updated ubode with code i had here getting dust for years now
[11:18] Andrew Hellershanks: brb
[11:18] Ubit Umarov: well and some i made also recently
[11:18] Ubit Umarov: mostly same thing, try to save cpu here and there
[11:18] Ubit Umarov: in fact ODE is pretty bad code
[11:19] Ubit Umarov: like it is a collection of diferent libraries, all glued somehow
[11:19] Ubit Umarov: so the typical issue.. each one has own idea of what a rotation his
[11:20] Ubit Umarov: and tons of code converting and copieng between thsoe diference flavours
[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002: It's not all quaternions?
[11:20] Ubit Umarov: ofc not
[11:20] Ubit Umarov: quaternions are actually bad
[11:20] Michael.Christopher @cc.opensimulator.org:8002: oh?
[11:21] Ubit Umarov: all use matrices for rotations
[11:21] Michael.Christopher @cc.opensimulator.org:8002: that caught my attention lol. what's the better way?
[11:21] Ubit Umarov: you can understand that if i tell you that to make a rotation with a quaternion you always need to get the respective matrice
[11:22] Ubit Umarov: so everyone really uses matrices on low level engines
[11:23] Ubit Umarov: quaternium only has the space advantage.. like 4 floats versus 9 of similar matrice
[11:23] Ubit Umarov: quaternion
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002: Difference in processing required for them?
[11:24] Ubit Umarov: also does not fit on SIMD instrutions moder
[11:24] Ubit Umarov: using SIMD on them may actually be a lot slower
[11:24] Ubit Umarov: well SIMD was made with matrices operations in mind
[11:25] Ubit Umarov: well most at least
[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002: Conversion floating point values and applying some operations to fit 9 into 4 also doesn't sound efficient at all
[11:26] Ubit Umarov: well you can see the code on libomv for example
[11:26] Ubit Umarov: as i said to multiply a vector by a quat, code is basicly getting the matrice then doing the matrice multiplication
[11:27] Ubit Umarov: on matrx you can also extract more information direct
[11:27] Ubit Umarov: like the axis associated with the rotation.. balba
[11:27] Ubit Umarov: also a rotation can also be a scale operation
[11:28] Ubit Umarov: so only a few not that fast code uses quaternion as rotation representation
[11:28] Ubit Umarov: or as long term unchanged storage, ofc
[11:29] Andrew Hellershanks: I'm back.
[11:29] Ubit Umarov: with a quaternion a rotation is even just 3 floats
[11:29] Michael.Christopher @cc.opensimulator.org:8002: wb
[11:29] Ubit Umarov: because a quat must be normalized.. that meand the 4th float is 1 - Sum of squares of the others
[11:29] Ubit Umarov: LLUDP uses that
[11:30] Ubit Umarov: lindens used to be clever coders in tose days
[11:30] Ubit Umarov: not that very low performance code mess they do today
[11:30] Ubit Umarov: well by that is other story
[11:31] Ubit Umarov: i actually did refuse to suport another cap viewer use
[11:31] Ubit Umarov: rye or beq did mentioned it
[11:32] Ubit Umarov: happens it is just moving from very compact and fast lludp to slow http using xml like encoding
[11:32] Ubit Umarov: that tuns 10 bytes of information in like 200
[11:32] Ubit Umarov: ( in that case a lot more )
[11:33] Ubit Umarov: so.. code changes...
[11:33] Ubit Umarov: it is possible ubode now has new issues, ofc
[11:33] Ubit Umarov: nad very hard to debug
[11:33] Ubit Umarov: usually we only get BUMMMMM region died
[11:33] Ubit Umarov: kind of reports :P
[11:34] Ubit Umarov: in windows case a BSOD is also possible :)
[11:34] Michael.Christopher @cc.opensimulator.org:8002: :))
[11:34] Ubit Umarov: the last one i got was testing ode.dll changes
[11:34] Ubit Umarov: :)
[11:34] Michael.Christopher @cc.opensimulator.org:8002: ouch
[11:35] Ubit Umarov: another changes where a few recent bug fixes
[11:35] Ubit Umarov: changed some user por uuid parse by tryparse
[11:35] Ubit Umarov: because parse now does stop with a error, like guid does.
[11:36] Ubit Umarov: in past it did not, just did return uuid.zero, like tryparse does
[11:36] Ubit Umarov: same on int, vector3 and bool parse
[11:37] Ubit Umarov: ofc made a silly bug on that, found by vicent and now also fixed
[11:37] Ubit Umarov: the avatars new jump code also had a small issue
[11:37] Ubit Umarov: jumps on top of a mesh prim where a lot shorter than on top of a normal prim or terrain
[11:38] Ubit Umarov: added some work aroudn on that.. they look similar again
[11:38] Ubit Umarov: issue is how collision is detected...
[11:39] Ubit Umarov: on a simulation look, a avatar collsion with any prim returns at most 2 collisions
[11:39] Ubit Umarov: with a mesh can returrn like 80...
[11:40] Ubit Umarov: hte overall IsColliding basicly counts collisions
[11:40] Ubit Umarov: so.. well bad :)
[11:40] Ubit Umarov: should be better now
[11:40] Ubit Umarov: but other area of code tha tneeds revision
[11:41] Ubit Umarov: still old ode code structure..
[11:41] Ubit Umarov: sadly not the best.. but still there
[11:41] Ubit Umarov: i had also broken sits :p
[11:42] Ubit Umarov: in same cases, depending on timing, the sit rotation could be lost due to a delayed update sent by viewers
[11:42] Ubit Umarov: still with a standing rotation...
[11:43] Ubit Umarov: that delayed one is again ignored...
[11:44] Ubit Umarov: hope you all see others sitting right here now :)
[11:44] Selby.Evans @grid.kitely.com:8002: I do
[11:45] Ubit Umarov: wel was a bit random, but we coudl see wrong rotations as i told
[11:46] Ubit Umarov: typical opensim... 1 improvement 2 new bugs
[11:46] Ubit Umarov: oops :p
[11:46] Michael.Christopher @cc.opensimulator.org:8002: lol
[11:46] Ubit Umarov: ( still looking for the second bug on that :P )
[11:47] Ubit Umarov: about ubode unmaged code, i can only compile for win32, 64 and linux64
[11:47] Ubit Umarov: not mac or linux32
[11:48] Ubit Umarov: good news is that gavin told he will complie for mac in next few days
[11:48] Ubit Umarov: as i did many times in past
[11:48] Ubit Umarov: i mean as HE did..
[11:48] Ubit Umarov: :)
[11:48] Michael.Christopher @cc.opensimulator.org:8002: ok good lol i was trying to think of a way to safely offer to use ours :))
[11:49] Ubit Umarov: so mac users will also get the happy BSODs
[11:49] Ubit Umarov: ( not sure if also blue on mac )
[11:51] Ubit Umarov: so what news do you have?
[11:52] Michael.Christopher @cc.opensimulator.org:8002: done with the patent filing and supposed to have a database specialist on the way over to try ti figure out where we should start
[11:52] Andrew Hellershanks: Hearing that Gavin is still working on the code is good news.
[11:52] Andrew Hellershanks: Michael, what patent filing?
[11:53] Michael.Christopher @cc.opensimulator.org:8002: reality integration layer
[11:53] Ubit Umarov: Well and speaking of Gavin, there is a new pre-release Firestorm
[11:53] Ubit Umarov: oops lol :)
[11:53] Andrew Hellershanks: :)
[11:53] Ubit Umarov: that includes now LL code with inventory validation
[11:54] Ubit Umarov: seems some people is getting errors on that and can't use the viewer
[11:54] Ubit Umarov: i have no idea still
[11:54] Ubit Umarov: but that "validation" is ofc acording to current lindens idea of what a inventory should be
[11:54] Ubit Umarov: would not be suprised if the also had fails at SL
[11:55] Ubit Umarov: but sadly many to be expected here, with the old inventories some ppl have
[11:55] Kayaker Magic: The new FS beta solves a problem with Vivox that Kitely was having with HG TPs.
[11:55] Ubit Umarov: ahh the loop thing?
[11:56] Kayaker Magic: I hear Vivox was hanging up on an HG TP
[11:56] Ubit Umarov: seem a commi tby Beq fixing that
[11:56] Ubit Umarov: seems the viewer was placed on a never ending loop :)
[11:57] Kayaker Magic: Right. That has been fixed!
[11:57] Michael.Christopher @cc.opensimulator.org:8002: Opensim was the original inspiration, but "the same solution" should be usable in most to all virtual environments. It's a question of use case for each company how they would best use it (end users should benefit from our platform but not have to pay for it)
[11:57] Ubit Umarov: well the rebakes 2 seconds or so afatasr arrival on a region also now gone
[11:58] Ubit Umarov: i did spoke about that fix on another meeting
[11:58] Ubit Umarov: me rye and beq
[11:59] Selby.Evans @grid.kitely.com:8002: must go -- bye all
[11:59] Ubit Umarov: and the bad extra "!"
[11:59] Michael.Christopher @cc.opensimulator.org:8002: bye selby!
[12:00] Andrew Hellershanks: Bye, Selby
[12:00] Andrew Hellershanks: Another hour has gone by. Any last minute items for today?
[12:00] Michael.Christopher @cc.opensimulator.org:8002: not here
[12:01] Kayaker Magic: Not from me!
[12:01] Andrew Hellershanks: ok. I don't see anyone else typing so I will take that as a no from the others.
[12:01] Andrew Hellershanks: Thank you all for coming. See you again next week.
[12:01] Michael.Christopher @cc.opensimulator.org:8002: have a great week everyone!