Chat log from the meeting on 2022-05-03

From OpenSimulator

Jump to: navigation, search
[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 You just answered your own question
[11:05] Vincent.Sylvester 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 It does recover though
[11:06] Kayaker Magic: No, this script is not a bad one. Worked fine for years.
[11:06] Vincent.Sylvester 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 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 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 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 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 It's not all quaternions?
[11:20] Ubit Umarov: ofc not
[11:20] Ubit Umarov: quaternions are actually bad
[11:20] Michael.Christopher oh?
[11:21] Ubit Umarov: all use matrices for rotations
[11:21] Michael.Christopher 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 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 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 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 :))
[11:34] Ubit Umarov: the last one i got was testing ode.dll changes
[11:34] Ubit Umarov: :)
[11:34] Michael.Christopher 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, 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 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 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 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 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 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 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 must go -- bye all
[11:59] Ubit Umarov: and the bad extra "!"
[11:59] Michael.Christopher 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 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 have a great week everyone!
Personal tools
About This Wiki