Chat log from the meeting on 2022-10-04

 [10:59] Andrew Hellershanks: Hello, everyone. [10:59] Ubit Umarov: hi [10:59] Jagga Meredith: waves [11:00] Jamie.Jordan @grid.kitely.com:8002: hey everybody [11:00] Vincent.Sylvester @hg.zetaworlds.com:8002: In this weeks news, Ubit working on dotnet6 support and I'm trying to figure out why physics are broken [11:01] Andrew Hellershanks: Vincent, hold off for now. I was going to wait to see if Selby or some other people are on their way. [11:02] Vincent.Sylvester @hg.zetaworlds.com:8002: I ain't got much, still trying to figure out what exactly broke in the first place since there are like 20 physics related commits to audit [11:02] Selby.Evans @grid.kitely.com:8002: hi everyone [11:02] Andrew Hellershanks: Hello, Selby. [11:03] Andrew Hellershanks: Vincent, sounds like some rounds with git bisect are in your future. [11:03] Ubit Umarov: well physics is not broken elsewhere [11:04] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah it's weird thing that, it happens on certain regions and not others [11:04] Andrew Hellershanks: Vincent, which physics engine is broken at your end? [11:04] Ubit Umarov: so possible sem use case that needs some more debug Vincent is telling is doing [11:04] Ubit Umarov: some.. [11:05] Ubit Umarov: well you may some something diferent in this region air [11:05] Ubit Umarov: also on the text over the bottle to my right [11:06] Ubit Umarov: thing is that this region is running on dotnet 6.0, not mono [11:06] Vincent.Sylvester @hg.zetaworlds.com:8002: rest in peace XEngine [11:07] Ubit Umarov: i did changes so it can compile and then run under dotnet 6.0 [11:07] Ubit Umarov: did commit them to the branch dotnet6 [11:07] Ubit Umarov: so others can test [11:08] Ubit Umarov: as i otld here before, ms made this a big breaking change [11:08] Ubit Umarov: dotnet6 lile core, etc is not a direct upgrade to .net framework 4.8 [11:09] Ubit Umarov: so we already lost some features, like XEngine and a few stats [11:10] Andrew Hellershanks: Which stats were lost? [11:10] Ubit Umarov: thngs that did depend on code no longer present on the framework or jsut windows only [11:10] Ubit Umarov: some that did depend on performance counters [11:10] Ubit Umarov: only a few [11:11] Andrew Hellershanks: The FPS and Script LPS stats still exist? [11:11] Ubit Umarov: yes [11:11] Ubit Umarov: where a few "exotic ones" [11:12] Ubit Umarov: note that i said i made code compile and run in dotnet6.0 in fact, dotnet 60 plus a few support libraries [11:12] Andrew Hellershanks: ok, good. *FPS and Script LPS are the main ones of concern. Some of the other ones aren't of much interest for mostpeople. [11:12] Ubit Umarov: like System.Drawing.Commun [11:12] Ubit Umarov: that where removed on dotnet7.0 [11:13] Ubit Umarov: but at least we have a foot on dotnet [11:13] Ubit Umarov: and dotnet 6.0 has like 3 or 5 years of support still [11:13] Ubit Umarov: while mono is just dead [11:13] Andrew Hellershanks: Sounds good. Minor annoyance if you have to make more changes to handle .net 6 to .net 7 [11:14] Ubit Umarov: that will be a even bigger change [11:14] Vincent.Sylvester @hg.zetaworlds.com:8002: I'm sad to see mono die like this frankly, it had some good things going for it [11:14] Ubit Umarov: to replace al Bitmap code [11:14] Ubit Umarov: ah hon linux, libgdiplus is needed [11:14] Ubit Umarov: the simple way to get it is install mono 6 still :) [11:15] Ubit Umarov: guess it has install packages on several distros, or can be localy compiled, somehow [11:15] Ubit Umarov: something to see in near futute [11:15] Ubit Umarov: not laso that ofc our code is mostly .net 1.0 that jsut happens still run on dotnet 6 :) [11:16] Ubit Umarov: a lot of that code has now diferent ways of doing the same, in many cases faster [11:16] Ubit Umarov: but that is optimization stage.. [11:17] Vincent.Sylvester @hg.zetaworlds.com:8002: First need to get the most vital parts back in working order heh [11:17] Ubit Umarov: well System.drawi replacement will be a pain [11:17] Andrew Hellershanks: Hello, Kayaker. [11:18] Ubit Umarov: also on libopenmetaverse ofc [11:18] Ubit Umarov: all the openjpeg support needed even to lludp textures send, map etc [11:19] Ubit Umarov: and realy draw like on dynamic textures [11:19] Ubit Umarov: that may just mean a major rewrite using another library [11:19] Ubit Umarov: meanwhile.. who knoes maybe ms decides to suport it [11:20] Vincent.Sylvester @hg.zetaworlds.com:8002: Wouldn't hurt maybe we can then finally get drawing on existing textures [11:20] Ubit Umarov: the are also making a new UI thing to replace windows forms etc [11:20] Ubit Umarov: called MAIU [11:20] Ubit Umarov: is fi remembet [11:20] Andrew Hellershanks: Lots of potential for the introduction of bugs during the transition. It will require a lot of testing. [11:20] Ubit Umarov: that will need Some kind of drawing tools [11:21] Ubit Umarov: so.. we may just win by waiting [11:21] Ubit Umarov: the news is that we did gain that time and can replace mono [11:21] Vincent.Sylvester @hg.zetaworlds.com:8002: You said the other day http and logging was broken as well [11:21] Ubit Umarov: or gained some more time [11:22] Ubit Umarov: yeha but to a lesser extent [11:22] Ubit Umarov: we are using things they want us to replace by new ones [11:22] Ubit Umarov: but the ones we have are still on .net7 i think [11:22] Ubit Umarov: so a lesser issue [11:23] Ubit Umarov: looging, ofc hey added own logging now [11:23] Ubit Umarov: they [11:23] Vincent.Sylvester @hg.zetaworlds.com:8002: Does the new stuff have all the features needed, it's MS half expect deprecating old stuff and not providing one to one replacements is kinda their thing [11:24] Ubit Umarov: well they kinda hard killed System.Drawing on 7 [11:24] Ubit Umarov: even did it on 6 [11:24] Ubit Umarov: but still a flag to allow it [11:24] Ubit Umarov: ofc i mean killed for linux.. [11:24] Ubit Umarov: it is there windows only [11:24] Vincent.Sylvester @hg.zetaworlds.com:8002: But MS loves linux (sarcasm) [11:25] Ubit Umarov: well they have a valid reason [11:25] Ubit Umarov: Drawing is mostly a wrapper to windows libgdi++ [11:26] Ubit Umarov: mono used/made? the libdidplus to emulate that windows one [11:26] Ubit Umarov: and that seems to be a very confusing code that depends or other linux libraries like pango and cairo, etc [11:27] Ubit Umarov: so a big rats nest for ms devs to dig into and assume full responsability [11:27] Ubit Umarov: see? [11:27] Ubit Umarov: that is they main "excuse" and makes sense [11:28] Ubit Umarov: their.. [11:28] Vincent.Sylvester @hg.zetaworlds.com:8002: Oh noes, actual work... yeah they get paid to dig through that -.- [11:28] Ubit Umarov: just a big issue for us :) [11:28] Ubit Umarov: ofc in the middle of all the other breaking changes.. just another one [11:28] Andrew Hellershanks nods [11:29] Ubit Umarov: ofc if we could jsut decided to remove XEngine because AppDomains are gone, we can't do the same for openjpeg2k suport etc :) [11:30] Kayaker Magic: I'm fine with removing XEngine! [11:30] Ubit Umarov: and we could do that because YEngine seems fine [11:31] Ubit Umarov: kay this region is running in dotnet6 [11:31] Kayaker Magic: Cool! [11:31] Ubit Umarov: like that fisrt line of test to yr left tells [11:31] Ubit Umarov: of text!! [11:31] Andrew Hellershanks: There will be people who will complain about the disappearance of XEngine. [11:31] Ubit Umarov: ... X64/Unit/Dotnet [11:31] Ubit Umarov: i added x64 also [11:32] Ubit Umarov: bc dotnet6 can see some cpus [11:32] Ubit Umarov: well tell [11:33] Ubit Umarov: well that is mostly all recent code work [11:33] Ubit Umarov: don't remember if did any fix on master [11:34] Ubit Umarov: so to recap,  branch dotnet6  id for dotnet6.0 [11:34] Ubit Umarov: will smoke badly on mono :p [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002: Don't think it even compiles on that anymore [11:34] Ubit Umarov: https://bitbucket.org/opensimulator/opensim/src/dotnet6/BUILDING.md [11:35] Ubit Umarov: i changed prebuild so it creates project files for dotnet [11:35] Ubit Umarov: as i said big deep breaking change [11:35] Ubit Umarov: very bad news.. [11:36] Ubit Umarov: all modules out there will not work etc [11:36] Andrew Hellershanks: Ouch. [11:36] Ubit Umarov: they also need to migrate [11:36] Ubit Umarov: in same cases not that hard [11:37] Ubit Umarov: as you can see on git, nly a few changes where needed [11:37] Ubit Umarov: dotnet 6.0 does rum (most) .net 1.0 code :) [11:37] Ubit Umarov: even runs [11:38] Ubit Umarov: plug modules osgrid uses for example do compile with just warnings [11:38] Ubit Umarov: search and mutes that osgrid uses [11:39] Ubit Umarov: andrew here :) [11:39] Andrew Hellershanks: Good to know. [11:39] Ubit Umarov: think i don't have them here, but lbsa is using them [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002: Needed to redo some of my modules anyways [11:40] Andrew Hellershanks: Is there any guide about migrating to .net 6/7? ] [11:40] Ubit Umarov: lbsa is running this for hmm let me see [11:40] Ubit Umarov: Server has been running since Sunday, 2022-10-02 15:59:40 That is an elapsed time of 1.19:40:45.2235274 [11:40] Ubit Umarov: still alive :) [11:41] Ubit Umarov: i can see that dotnet 6 GC is slower to react [11:41] Ubit Umarov: does let memory usage go higher [11:41] Ubit Umarov: but does seem to release memory a lot better [11:41] Ubit Umarov: in mid to lopng term [11:41] Kayaker Magic: I missed the start of this meeting, did you talk about image support on dotnet? Isn't bitmap not supported on Linux? [11:41] Ubit Umarov: mid to long [11:42] Ubit Umarov: still supported on dotnet 6 + extra libraries [11:42] Ubit Umarov: and we need to install libgdiplau [11:43] Ubit Umarov: and we need to install libgdiplus [11:43] Ubit Umarov: the simpler way is just to still install mono :P [11:43] Ubit Umarov: it is a lot of libs for me to try to add to our distro [11:43] Ubit Umarov: but a possibility [11:44] Ubit Umarov: no idea abotu macs [11:44] Ubit Umarov: lets see if gavin and others can try and give some feedback [11:45] Andrew Hellershanks nods [11:45] Ubit Umarov: i did found some breaking changes like o strings compare, indexof etc [11:45] Ubit Umarov: made a few fixes even for lsl [11:46] Ubit Umarov: posible more will be needed [11:46] Ubit Umarov: well that is a breaking change ms does assume [11:46] Andrew Hellershanks: I will need to lookat how I would update my machine to .net 6. I may have to leave that until I update my installed distro to something more recent. The distro people broke the upgrade system so it pretty much forces a fresh install to upgrade. [11:46] Ubit Umarov: very silly [11:47] Andrew Hellershanks: I'm thinking of switching to a Debian based distro. [11:47] Ubit Umarov: like ..indexof("\0") does return 0, even where there is no char 0 [11:47] Ubit Umarov: used to return the correct -1 [11:48] Kayaker Magic: I updated one of my Ubuntu 18.04 systems to dotnet, need to recall how to do that again... [11:48] Ubit Umarov: nad more cases on special utf8 chars [11:48] Ubit Umarov: its on url i pasted [11:48] Ubit Umarov: https://bitbucket.org/opensimulator/opensim/src/dotnet6/BUILDING.md [11:48] Andrew Hellershanks: That will introduce "bugs" in to lot of programs. [11:49] Ubit Umarov: that is file BUILDIND.md on branch dotnet6 [11:49] Ubit Umarov: https://dotnet.microsoft.com/en-us/download/dotnet/6.0 [11:49] Ubit Umarov: so jsut a few apt comands [11:49] Ubit Umarov: to set the source of the debs [11:49] Ubit Umarov: then get the sdk and runtimes [11:50] Andrew Hellershanks: IIRC, I have built mono in the past. I was hoping it would be a simple download of .net 6/7 packages but I can see what happens if I try and build it on my machine. [11:50] Ubit Umarov: hrere we do have the sdk 6.0.401 i think [11:51] Andrew Hellershanks: I'll need to do that at some point to eliminate the warnings in some addon modules [11:51] Ubit Umarov: and NET Runtime 6.0.9 [11:51] Ubit Umarov: opensim.log now does tell that [11:52] Ubit Umarov: 2022-10-03 22:38:52,448 INFO [STARTUP]: version: OpenSim 0.9.2.2 Yeti Dev

2022-10-03 22:38:52,449 INFO [STARTUP]: Operating system version: Microsoft Windows NT 10.0.22621.0, .NET platform Win32NT, Runtime 6.0.9 2022-10-03 22:38:52,452 INFO [STARTUP]: Processor Architecture: X64(le 64bit) [11:52] Ubit Umarov: on my win :p [11:52] Vincent.Sylvester @hg.zetaworlds.com:8002: I gave up a few days ago trying to get jenkins to play ball with dotnet6 it just didn't want to, have to revisit that at some point get some builds automated for testing [11:53] Vincent.Sylvester @hg.zetaworlds.com:8002: It's almost as if MS is trying to make it difficult to get it to work on linux [11:53] Kayaker Magic: NO! [11:54] Andrew Hellershanks: :) [11:54] Ubit Umarov: 022-10-03 14:45:15,098 INFO [STARTUP]: version: OpenSim 0.9.2.2 Yeti Dev   bf257a9 2022-10-03 14:45:15,099 INFO  [STARTUP]: Operating system version: Unix 4.19.0.21, .NET platform Unix, Runtime 6.0 .9 2022-10-03 14:45:15,099 INFO  [STARTUP]: Processor Architecture: X64(le 64bit) [11:54] Ubit Umarov: here [11:55] Ubit Umarov: ahh all tests are dead :p [11:55] Ubit Umarov: nuit ones [11:55] Ubit Umarov: the script tests will be a pain [11:55] Ubit Umarov: all depend on XEngine [11:55] Ubit Umarov: well and all will be a pain because are for obsolete nunit2.0 [11:56] Vincent.Sylvester @hg.zetaworlds.com:8002: I'm sure Andrew can help us with that [11:56] Ubit Umarov: as you can see this region is using 493MB [11:56] Vincent.Sylvester @hg.zetaworlds.com:8002: hint hint shove shove [11:57] Kayaker Magic: lol [11:57] Ubit Umarov: like 100 more than did on mono during meetings ? [11:57] Andrew Hellershanks: :) [11:57] Andrew Hellershanks: Nice seeing real memory usage stats. [11:57] Ubit Umarov: but gc seems a lot better than mono.. like the windows one [11:58] Ubit Umarov: also does not leak threads as mono was doing [11:58] Ubit Umarov: just lets memory use go higher before acting [11:58] Selby.Evans @grid.kitely.com:8002: Must go -- bye all [11:58] Ubit Umarov: this also means a bit less cpu use [11:58] Ubit Umarov: cya selby.Evans [11:58] Andrew Hellershanks: We are at the top of the hour. Are there any other questions before we wrap up todays meeting? [11:58] Andrew Hellershanks: ok, Selby. Thanks for dropping by. [11:59] Ubit Umarov: like now [11:59] Ubit Umarov: it did not considered that selaby did left and released memory :) [11:59] Ubit Umarov: selby [12:00] Andrew Hellershanks: It dropped now [12:00] Ubit Umarov: but well memory usage still grows in time.. it is GC still [12:01] Vincent.Sylvester @hg.zetaworlds.com:8002: I took a look at groups finally, well I changed all the tables over to a different charset and all [12:01] Andrew Hellershanks: How does memory usage behave when using Warp3D? [12:01] Ubit Umarov: just peaks a bit more [12:01] Vincent.Sylvester @hg.zetaworlds.com:8002: So far nothing has blown up, but it doesn't seem faster either [12:01] Vincent.Sylvester @hg.zetaworlds.com:8002: If I can find the time I'll dig some more [12:02] Ubit Umarov: like 100MB or less here [12:02] Andrew Hellershanks: It used to be known for memory leaks. I was hoping that it is no worse under .net6 than before. [12:02] Ubit Umarov: MEMORY STATISTICS Heap allocated to OpenSim  : 102 MB Heap allocation rate (last/avg): 0.247/-0.125MB/s Process memory:     Physical 495 MB     Paged 0 MB      Virtual 69281 MB Peak process memory: Physical 830 MB     Paged 0 MB      Virtual 78561 MB [12:02] Ubit Umarov: nah hi fixed warp leaks ages ago [12:03] Ubit Umarov: i know no real memory leak on our code [12:03] Ubit Umarov: GC just loses memory [12:03] Andrew Hellershanks: Yes, I do seem to remember that they were fixed at last. Not a major issue if the memory usage peaks a little higher when using Warp3D with .net6 if it settles back down after the tiles have been generated. [12:04] Ubit Umarov: yes it is just because GC is slower to act [12:04] Ubit Umarov: so save cpu [12:04] Ubit Umarov: so to save.. [12:04] Vincent.Sylvester @hg.zetaworlds.com:8002: There is some leakage somewhere in scripts still, but that might be down to bad LSL code too. Have not been able to find the cause of that, just deleted a ton of scripts and then it stopped, not really keen on looking through about 1000 of them [12:04] Vincent.Sylvester @hg.zetaworlds.com:8002: Usually it's list operations and state changes that cause memory to grow [12:04] Vincent.Sylvester @hg.zetaworlds.com:8002: Copy operations mainly [12:04] Ubit Umarov: script memory usage report does nto count [12:05] Ubit Umarov: will nver be exact [12:05] Vincent.Sylvester @hg.zetaworlds.com:8002: Over the course of a day it gained like 10% cpu and 200mb so some script was royally out of whack [12:05] Ubit Umarov: ok [12:06] Vincent.Sylvester @hg.zetaworlds.com:8002: Not really something we can fix anyhow, just bad LSL code in the end [12:06] Vincent.Sylvester @hg.zetaworlds.com:8002: 99% of regions run fine [12:06] Ubit Umarov: well dilemas now is where do keep devel [12:06] Ubit Umarov: some code is now diferent [12:07] Ubit Umarov: because diferent c# version 6 to 10 ? [12:07] Ubit Umarov: or 11 [12:07] Ubit Umarov: and diferent framework [12:07] Ubit Umarov: so the way of programming is diferent in some cases [12:07] Vincent.Sylvester @hg.zetaworlds.com:8002: Maybe get dotnet6 branch working with all the core functionality, then backport what's possible to master, do a final release for 4.8 and then continue with dotnet6 [12:08] Ubit Umarov: yeah [12:08] Andrew Hellershanks: Sounds like a plan. [12:08] Ubit Umarov: ofc next release will be master [12:08] Ubit Umarov: mono etc [12:09] Kayaker Magic: RL is calling me! Good meeting, glad to see dotnet progress! [12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: That way it has a nice closure and we can do breaking changes without everyone losing their minds heh [12:09] Ubit Umarov: not sure how many ppl outthere have machines that do not suport dotnet [12:09] Kayaker Magic: buy all! [12:09] Ubit Umarov: fill my paypar [12:09] Ubit Umarov: :p [12:09] Ubit Umarov: paypal [12:09] Andrew Hellershanks: Bye, Kayaker. See you next time. [12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: We can't support everyone, especially not on platforms so ancient they are out of security updates [12:09] Ubit Umarov: then i may buy something :p [12:10] Ubit Umarov: duhh no 32bit on dotnet :( [12:10] Andrew Hellershanks: I need somethings from Amazon but I'm not going to get all. [12:10] Vincent.Sylvester @hg.zetaworlds.com:8002: Anyone running 32bit these days should have their computers taken away [12:10] Ubit Umarov: duhhh [12:11] Jamie.Jordan @grid.kitely.com:8002: have a great week yall [12:11] Ubit Umarov: opensim runs great and uses less mem on win [12:11] Andrew Hellershanks: ok, Bye Jamie. [12:11] Ubit Umarov: on win64 in 32bit [12:11] Vincent.Sylvester @hg.zetaworlds.com:8002: What's next, support for powerpc and ibm mainframes lol [12:11] Ubit Umarov: as i said many times [12:11] Ubit Umarov: z80 will be a bi thard [12:12] Andrew Hellershanks nods [12:12] Andrew Hellershanks: I'd go for a 6809. ;) [12:12] Ubit Umarov: yeah that was better [12:13] Ubit Umarov: just arrived 2 late and 2 expensive to get a big market share [12:13] Andrew Hellershanks: Similar thing happened with the 68000. [12:13] Ubit Umarov: yeah [12:13] Andrew Hellershanks: All righty. Time to wrap up todays meeting. [12:13] Andrew Hellershanks: Thank you all for coming. See you again next week.