Chat log from the meeting on 2022-11-29

From OpenSimulator

Jump to: navigation, search
[11:00] Andrew Hellershanks: Hello, Ubit and Vincent.
[11:01] Andrew Hellershanks: Hello, Michael
[11:01] Selby.Evans hi everyone
[11:01] MichaelOmega ChristopherGeode whispers: Hello!
[11:01] Andrew Hellershanks: Hello, Orbert
[11:01] Orbert.Tatham Hello, folks
[11:02] Orbert.Tatham Hey, Andrew
[11:02] MichaelOmega ChristopherGeode: Love the greeting, wife and I just re-watched Lucy last night :))
[11:02] Andrew Hellershanks: Good movie.
[11:02] Andrew Hellershanks: Hey, Kayaker
[11:02] Kayaker Magic: Hello all!
[11:03] Ubit Umarov: hi
[11:03] MichaelOmega ChristopherGeode: How's everyone been? been so buried for so long i've missed a lot
[11:03] MichaelOmega ChristopherGeode: hey Ubit!
[11:04] Andrew Hellershanks: np, Michael. We still meet her on Tuesdays so just drop by when you can.
[11:05] MichaelOmega ChristopherGeode: need to get my phone attendance capacity back up & running so I dont have to make it back here
[11:05] Andrew Hellershanks: If Christmas, New Years day, or the day befare those days happens to be a Tuesday we may skip meeting then.
[11:06] MichaelOmega ChristopherGeode: I didn't even get time to prepare a presentation this year :(
[11:06] Andrew Hellershanks: Michael, um... ok. I don't understand what you just said.
[11:07] Andrew Hellershanks: You have been presenter at the OSCC in past years?
[11:07] MichaelOmega ChristopherGeode: yes
[11:07] Andrew Hellershanks nods
[11:07] MichaelOmega ChristopherGeode: under Michael Christopher
[11:07] Andrew Hellershanks: That's coming up soon. It is the weekend after this one coming up.
[11:07] MichaelOmega ChristopherGeode: im the one that presented from inside the tornado zone last year lol
[11:08] Andrew Hellershanks: That's dedication to your commitments.
[11:08] MichaelOmega ChristopherGeode: my word is gold ;)
[11:09] Ubit Umarov: well about last week code changes..
[11:09] Ubit Umarov: hmm none it seems :)
[11:10] Ubit Umarov: onl some more work on the dotnet6 branch
[11:10] Ubit Umarov: i also did create a dotnet6 branch on out fork of libopenmetaverse
[11:11] Ubit Umarov: and did update it with the changes i made to it so far
[11:11] Andrew Hellershanks: Good idea.
[11:11] Ubit Umarov: it is still a bit "hard" to comple
[11:11] Ubit Umarov: complie
[11:12] Ubit Umarov: parts of with with only compile for windows now
[11:12] Ubit Umarov: because dotnet does not include parts it needs like win forms
[11:13] Ubit Umarov: for other OS other then windows
[11:13] Ubit Umarov: theis means the project files need some hand tunning to set the target platform to windows
[11:14] Ubit Umarov: once that is done, all should compile (on vs on windows )
[11:15] Ubit Umarov: the 4 files needed for opensim shoudl compile as is, even if there is a ton of errors relative to the other files..
[11:15] Ubit Umarov: their are at my repo and at bitbucke
[11:15] Ubit Umarov:
[11:16] Ubit Umarov: namely
[11:16] Vincent.Sylvester Only compile on Windows, but Microsoft loves linux /s
[11:16] Ubit Umarov:
[11:16] Andrew Hellershanks: :)
[11:16] Ubit Umarov: there is no forms  for linux i thing
[11:17] Ubit Umarov: ms is making a new GUI code fro all pratforms calles MUI or something
[11:17] Ubit Umarov:
[11:17] Kayaker Magic: pratfall on the platform
[11:18] Ubit Umarov: is some very compacted changes on it
[11:18] Orbert.Tatham MAUI is a bit of vaporware so far
[11:18] Andrew Hellershanks: Forms always makes me think of something GUI related. Where does it factor in to the backend?
[11:18] Ubit Umarov: like play witgh some SIMD (sse) code on UUIDs.
[11:19] Ubit Umarov: things like
[11:19] Ubit Umarov: Vector128<byte> input = Unsafe.As<char, Vector128<byte>>(ref Unsafe.AsRef<char>(val));
+                            Vector128<byte> upper = Ssse3.Shuffle(input, Vector128.Create(0, 4, 8, 12, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff));
+                            Vector128<byte> lower = Ssse3.Shuffle(input, Vector128.Create(2, 6, 10, 14, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff));
[11:19] Ubit Umarov: :)
[11:20] Andrew Hellershanks: That certainly feels unsafe.
[11:20] Ubit Umarov: a uuid parse with that is done in abotu 12.5ns versus to abotu 35ns with previus code
[11:20] Ubit Umarov: and also around 35ns with ms Guid..
[11:20] Ubit Umarov: but a Guid IS not a UUID
[11:20] Ubit Umarov: well overdetails :)
[11:21] Ubit Umarov: not mushc gain .. as you see,,  but well gain is gain
[11:21] Ubit Umarov: uuid to string also uses simd now
[11:21] Ubit Umarov: simlilar preformance gain
[11:22] Ubit Umarov: and performance
[11:23] Ubit Umarov: well at least the need changes for libomv to work under dotnet6 are stored also outside my disks :)
[11:24] Ubit Umarov: ( you can applause now ... )
[11:24] Ubit Umarov: ;)
[11:25] Ubit Umarov: danng.. :)
[11:25] Andrew Hellershanks: I don't think I have any applause gestures in this grid.
[11:25] Ubit Umarov: :)
[11:25] MichaelOmega ChristopherGeode whispers: :))
[11:25] Andrew Hellershanks: /app2
[11:25] Andrew Hellershanks: (¯`v´¯)                                                                            (¯`v´¯)
[11:25] Andrew Hellershanks: `*.¸.*´                                                                              `*.¸.*´
[11:25] Andrew Hellershanks: ¸.•´¸.•*¨) ¸.•*¨) (`'·.¸(`'·.¸  A P P L A U S E¸.·'´) ¸.·'´)  (¨*•.¸ (¨*•.¸`•.¸
[11:25] Andrew Hellershanks: (¸.•´ (¸.•´ .•´ ¸¸.•¨¯`•                                    •`¯¨• ¸¸ `•. `•.¸) `•.¸)
[11:25] Andrew Hellershanks: ok, I do. :)
[11:26] Ubit Umarov: thy thy :)
[11:26] Andrew Hellershanks: yw :)
[11:26] Andrew Hellershanks: Thank you for the progress report.
[11:26] Andrew Hellershanks: Hello, Selby
[11:27] Andrew Hellershanks: I would have greeted you earlier but your chair was behind my chat window.
[11:27] Vincent.Sylvester I really have to get stuck in and get those tests back working on dotnet, though I seemingly can't even fix them up properly on mono at the moment
[11:27] Vincent.Sylvester Talking to Andrew last couple days trying to make sense of a strange test failure, am still no further with that, things keep popping up so I have little time
[11:27] Vincent.Sylvester It's like trying to herd cats
[11:27] Ubit Umarov: you did took dependency i xengine already?
[11:28] Ubit Umarov: ..on...
[11:28] Vincent.Sylvester It's a test that uses the mock script engine
[11:29] Ubit Umarov: well as i sa said on previus meetings tests are not on my priority list currently
[11:29] Ubit Umarov: i fact i have no machine where to run them
[11:29] Ubit Umarov: possible could use github actions
[11:29] Vincent.Sylvester Before we can even attempt to run them first have to figure out the prebuild so they don't mess up the build order and fail to build
[11:30] Ubit Umarov: but those do have cpu time limit on free accounts
[11:30] Vincent.Sylvester Then it's changing them up for the new nunit3 or 4 or whatever
[11:30] Ubit Umarov: i did set them only do compile on master
[11:30] Ubit Umarov: also no tests
[11:31] Vincent.Sylvester I am still fixing up things in mono just to have a baseline to work with
[11:31] Ubit Umarov: yabn not even sur ei can mk github accept nunit2.x tests
[11:31] Ubit Umarov: ( for master )
[11:31] Ubit Umarov: don't thing dotnet will accept nunit2 either
[11:32] Vincent.Sylvester Well I don't yet know how I will make jenkins run nunit4 either
[11:32] Vincent.Sylvester So a work in progress, but I value tests, they have had uses in the past
[11:32] Vincent.Sylvester If only for minor regression testing
[11:32] Vincent.Sylvester All in time, first need to get this damn notecard test to stop being a princess
[11:33] Ubit Umarov: on ocasion tests did spot my typos :)
[11:33] Ubit Umarov: so some are useful
[11:33] Vincent.Sylvester Or missing files or casts, the codebase is complex, can't always find all the cases
[11:34] Ubit Umarov: well compiler spots most of those
[11:34] Vincent.Sylvester Last thing tests caught was a problem with serializations being dependent on system locale, causing issues with decimals
[11:35] Vincent.Sylvester Though that only shows up on tests, runtime works fine
[11:35] Ubit Umarov: possible a bug on tests ;)
[11:36] Vincent.Sylvester Bit like visual studio complaining about naming schema and so on, minor things in terms of code quality
[11:36] Vincent.Sylvester I just always like to pay attention to that, less warnings make it easier to spot the really bad ones
[11:36] Andrew Hellershanks: Hello, Cuga
[11:36] MichaelOmega ChristopherGeode: hi cuga
[11:37] Vincent.Sylvester Not seeing the forest for all the trees kinda thing
[11:37] Cuga.Rajal Hello, sorry late. Nothing new here, just wanted to sit in.
[11:37] Andrew Hellershanks: Vincent, have you put in debug messages at the start and end of the subroutines to see if that helps narrow down where it is hanging up?
[11:37] Andrew Hellershanks: np, Cuga.
[11:38] Vincent.Sylvester That's my next step, I been reading other tests today so see if anything looks vastly different that might explain what is going on
[11:38] Ubit Umarov: oh i also did commit cuga dlls for M1
[11:38] Cuga.Rajal ahh ok
[11:38] Vincent.Sylvester I also tried to combine the test that is stuck with the one that runs before it, hoping it just a cleanup issue, but no dice
[11:38] Vincent.Sylvester Poking at it until it throws another error
[11:38] Ubit Umarov: ofc it they work or not is another story ;)
[11:39] Andrew Hellershanks: Vincent, ok. I only noticed one difference in the set up for the NC test that I mentioned the other day but it may not have anything to do with the issues you are experiencing.
[11:39] Ubit Umarov: that was part for my dllmap support code
[11:40] Ubit Umarov: think i told about it last week?
[11:40] Vincent.Sylvester Unfortunately from reading the documentation I have not found a way to make the test timeout and just repeat if it does, timeout seems a hard fail
[11:41] Andrew Hellershanks: I will mention that Vincent said the tests only seem to fail on occasion when run by Jenkins.
[11:41] Vincent.Sylvester I make a code change they run three times or so then fail, just getting stuck until build timeout
[11:42] Vincent.Sylvester Bewildering
[11:42] Ubit Umarov: in our box several tests also fail just because mysql timeouts
[11:42] Ubit Umarov: when the box is overloaded
[11:42] Ubit Umarov: i had to extend some fixed wait times on several to the rudce chance of that
[11:42] Vincent.Sylvester I added a bunch of asserts to the test to make sure the setup has worked and those pass, so I guess that part is fine, leaving the subroutines
[11:43] Vincent.Sylvester On mono branch at least I got the script engine tests back in, for both engines and the general independent tests, performance tests, up to spawning thousands of NPCs and 200000 objects
[11:44] Vincent.Sylvester Minor changes to get that stuff working, thankfully visual studio still has a working test adapter
[11:44] Ubit Umarov: well on mono branch they where there
[11:44] Ubit Umarov: well ok except the ones i just killed :P
[11:45] Vincent.Sylvester I think it was somewhere around 300 tests, I have managed to get over 500 working now
[11:45] Vincent.Sylvester Well apart from that particular one heh
[11:45] Vincent.Sylvester If I restart jenkins after each build it's fine, but course that's not exactly ideal lol
[11:46] Ubit Umarov: well sadly a few are just plain wrong, or useless
[11:46] Ubit Umarov: as i said, tests should not me made by same coder
[11:47] Ubit Umarov: but by other using higher level abstration on how something must be
[11:47] Ubit Umarov: most our tests just test how that code did this or that..
[11:47] Ubit Umarov: that coder..
[11:48] Ubit Umarov: and on several cases that was.. well not correct
[11:48] Ubit Umarov: wle rome also took sometime to build..
[11:48] Andrew Hellershanks: :)
[11:49] Vincent.Sylvester Some of the more abstract things are a piece of work to understand
[11:49] Vincent.Sylvester Only new test I managed to write thus far was running a LSL spec test script and recording the results
[11:49] Vincent.Sylvester Course that's crude in basically setting up an entire scene to do so
[11:50] Vincent.Sylvester Think that mock script engine basically only exists for tests
[11:52] Andrew Hellershanks: Just under 10 minutes left in the hour. Is there anyone here with some other topic or question(s)?
[11:52] MichaelOmega ChristopherGeode: none from me
[11:53] Andrew Hellershanks: I see Kayaker typing then Vincent.
[11:53] Vincent.Sylvester Uh oh, we should add a tag for dotnet6 to mantis at some point
[11:53] Kayaker Magic: I am looking for suggestions to fix another problem, every time I do a 'generate map' I loose a chunk of memory.
[11:53] Andrew Hellershanks: Kayaker, are you using Warp3D?
[11:54] Kayaker Magic: Yeah.
[11:54] Andrew Hellershanks: That's why.
[11:54] Kayaker Magic: Strange thing is, it was not doing it on one server, moved to a new server and this problem started.
[11:54] Andrew Hellershanks: AFAIK, it might leak a bit of memory. I thought I had read that was fixed but it might not be depending on which version of code you are building.
[11:55] Ubit Umarov: mono/dotnet never releases all memory back
[11:55] Andrew Hellershanks: Kayaker, Same version of mono?
[11:55] Ubit Umarov: it just leaks things
[11:55] Kayaker Magic: I think mono went up a vew decimal points....
[11:55] Vincent.Sylvester Cached memory is not lost memory, if you see free report less free memory doesn't mean you have less available, it remains cached and recycled when needed
[11:55] Andrew Hellershanks: ok. That is not that likely to cause a change in behaviour.
[11:56] Vincent.Sylvester You can force clear the caches, but in rare cases it makes mono unhappy, normally is safe though
[11:56] Vincent.Sylvester Make sure you have the most recent version of libgdiplus
[11:56] Andrew Hellershanks: If it just cached memory then running it a second time should not use any more memory.
[11:56] Vincent.Sylvester You can test if that leaks with dynamic textures also
[11:57] Kayaker Magic: How do I do that? is there an opensim console command to force a cache clear?
[11:57] Vincent.Sylvester free is a linux command for showing memory distribution, if that shows a lot of memory in cached buffered then you can clear it
[11:58] Vincent.Sylvester Somewhere in sys proc there is a drop_caches, just echo a 1 into that and it will start clearing it up
[11:59] Vincent.Sylvester Course if you have a region going ham on memory you might just pull the rug under it, though that is rare
[11:59] Vincent.Sylvester Normally it will just fetch what memory it needs from the cached pool as well
[12:00] Vincent.Sylvester If you have a leak regarding the texture generation for the maptile itself that will show with dynamic textures as well
[12:00] Vincent.Sylvester I recall an issue with libgdiplus a while back that leaked a lot of memory
[12:00] Vincent.Sylvester Was eventually fixed
[12:00] Kayaker Magic: I've got a slideshow that uses cynamic textures, I'll give that a try.
[12:01] Kayaker Magic: *dynamic
[12:01] Vincent.Sylvester libgdiplus | 6.0.5 or 6.0.4 should be fixed, anything below that might cause trouble
[12:02] Vincent.Sylvester You can check available versions with apt-cache on debian systems and apt will give you a return on what's installed
[12:02] Kayaker Magic: Ubuntu should hve that
[12:04] Jamie.Jordan I think most distros do
[12:04] Vincent.Sylvester Some use yum... *shudder*
[12:04] Andrew Hellershanks: :)
[12:05] Andrew Hellershanks: I used to use a system that used RPM based package management.
[12:05] Kayaker Magic: Just checked libgdiplus, V 6.0.5
[12:06] Andrew Hellershanks: Any other questions, Kayaker?
[12:07] Kayaker Magic: No, I'll just keep plugging away at this system...
[12:07] MichaelOmega ChristopherGeode: :)
[12:08] Vincent.Sylvester Or throw household objects on IRC until someone helps heh
[12:08] Andrew Hellershanks: ok, good luck with it. Next week you can let us know what you learned.
[12:08] Andrew Hellershanks: hehe
[12:08] Kayaker Magic: I used to run 12 mapgens on 12 regions at once on the old system, on the new hardware the memory dissapers and regions start crashing.
[12:08] Andrew Hellershanks: Vincent, Good luck with your test issue.
[12:09] Andrew Hellershanks: We are a little past the hour. If there are no other last moment questions or comments I will wrap up the meeting.
[12:09] Andrew Hellershanks: Thank you all for coming. See you again next week.
[12:10] MichaelOmega ChristopherGeode whispers: sounds good - Have a great week everyone!
Personal tools
About This Wiki