Chat log from the meeting on 2023-08-29

From OpenSimulator

Jump to: navigation, search
[11:01 AM PT]  Andrew Hellershanks: Hello, everyone.
[11:03 AM PT]  Joe Magarac: Hello all.
[11:03 AM PT]  Orbert.Tatham Hey, Joe
[11:04 AM PT]  Lyr Lobo: Hello *smiles*
[11:04 AM PT]  Cuga.Rajal Hi everyone :)
[11:04 AM PT]  Cuga.Rajal Hi Lyr
[11:04 AM PT]  Andrew Hellershanks: Hi, Cuga.
[11:06 AM PT]  Lyr Lobo: Hello *grins*
[11:06 AM PT]  Lyr Lobo: Great to see you
[11:07 AM PT]  Andrew Hellershanks: Here comes Ubit.
[11:07 AM PT]  Ubit Umarov: (hi)
[11:07 AM PT]  Andrew Hellershanks: Hey, Ubit.
[11:09 AM PT]  Andrew Hellershanks: I was part way through typing something when the cat jumped on may table and hit something on my keyboard in the process and wiped out what I had typed.
[11:10 AM PT]  Andrew Hellershanks: There isn't much to report regarding code changes this past week. They were mostly minor changes. One change that stands out is an update for the universal dylib for macs.
[11:10 AM PT]  Vincent.Sylvester Commits since last week, cuga provided a new ubode lib for arm64 mac. Also doing some tests with changes coming down the pipeline though so far that's a bit of a crapshoot
[11:11 AM PT]  Vincent.Sylvester Meanwhile I have some positive things to report
[11:11 AM PT]  Vincent.Sylvester After a lot of fiddling around I did manage to get Xunit tests to not just compile, but also to run through dotnet test
[11:12 AM PT]  Vincent.Sylvester This means that as system for doing automated testing it can actually work
[11:12 AM PT]  Joe Magarac: NIce.
[11:12 AM PT]  Vincent.Sylvester The issue that remains is figuring out why visual studio stubbornly refuses to find those tests on its own
[11:12 AM PT]  Andrew Hellershanks: Good start. The next part is checking that the tests check something useful.
[11:13 AM PT]  Andrew Hellershanks: Hello, Motoko
[11:13 AM PT]  Ubit Umarov: you mean like current do? ;)
[11:13 AM PT]  Motoko.Karu Hihi Andrew... sorry for my lateness...
[11:13 AM PT]  Motoko.Karu Hello everyone
[11:13 AM PT]  Andrew Hellershanks: Motoko, np
[11:13 AM PT]  Andrew Hellershanks: Ubit, :)
[11:14 AM PT]  Andrew Hellershanks: :)
[11:14 AM PT]  Lyr Lobo: Hi Motoko!
[11:14 AM PT]  Vincent.Sylvester Of course also big question still how well the testing framework integrates with it
[11:14 AM PT]  Andrew Hellershanks: Hm... chat got stuck for a bit.
[11:14 AM PT]  Vincent.Sylvester Documenting tests gonna be quite the task I am not looking forward to, but has to be done
[11:15 AM PT]  Andrew Hellershanks: How many tests are currently being run?
[11:15 AM PT]  Vincent.Sylvester On mono I was able to fix up some disabled tests so over 500 are being run
[11:15 AM PT]  Vincent.Sylvester Including performance tests and so on
[11:15 AM PT]  Vincent.Sylvester Added back some tests for script engine as well
[11:15 AM PT]  Andrew Hellershanks: Sounds good.
[11:16 AM PT]  Vincent.Sylvester Not being able to run xunit in visual studio is going to make writing new tests harder so I still plan to figure out how to make it happy
[11:16 AM PT]  Motoko.Karu hihi lyra
[11:16 AM PT]  Motoko.Karu lyr = lyra
[11:16 AM PT]  Andrew Hellershanks: Hello, Kayaker\
[11:17 AM PT]  Kayaker Magic: Hello all! Did I miss much?
[11:17 AM PT]  Andrew Hellershanks: Vincent report that he has automated testing working.
[11:17 AM PT]  Kayaker Magic: Great!
[11:19 AM PT]  Lyr Lobo: Great
[11:19 AM PT]  Andrew Hellershanks: Vincent, did the tests show up any errors in the current code base?
[11:20 AM PT]  Vincent.Sylvester The ones I backported to mono for the most part work. There is one that I couldn't get working and another that keeps getting stuck for no reason I can find. Over the last year or two they have once or twice hinted at potential issues
[11:20 AM PT]  Vincent.Sylvester Most value with them is probably making sure changes don't break most basic functions like logins, inventory and region functions
[11:21 AM PT]  Andrew Hellershanks nods
[11:21 AM PT]  Vincent.Sylvester That's my plan where to start anyhow, since some tests are doing things like test npc behavior which isn't as critical as region crossings
[11:23 AM PT]  Andrew Hellershanks: That's a good place to start.
[11:23 AM PT]  Cuga.Rajal It's unfortunate you need to backport to Mono, when the result of finishing the test units is that we push dotnet6 branch to master and don;t need backporting anymore.
[11:24 AM PT]  Cuga.Rajal (is that summary correct?)
[11:24 AM PT]  Vincent.Sylvester Hence the push to get automated tests back into dotnet6 branch
[11:24 AM PT]  Vincent.Sylvester Once that has some basic testing I feel a bit better about rolling that out to hundreds of users
[11:25 AM PT]  Vincent.Sylvester The new material stuff doesn't backport easily, requires also backporting libomv to work
[11:29 AM PT]  Cuga.Rajal not seeing anything in chat since 11:25, is that lag?
[11:30 AM PT]  Joe Magarac: I have something in low-level networking. Events have an "id", which is a serial number. Those advance by 1 for each event. Except sometimes a number is skipped. OS only, does not happen on SL.
[11:30 AM PT]  Ubit Umarov: well the new test thing is now mostly only doen on dotnet6
[11:30 AM PT]  Ubit Umarov: some was already on  so, mono.. but outadted
[11:30 AM PT]  Ubit Umarov: and that is still a test..
[11:31 AM PT]  Vincent.Sylvester Joe, you don't happen to know which event that would have been if it wasn't skipped? It is true that OpenSim does not send all the things SL would, some terse updates and such are not implemented, we send full updates instead
[11:32 AM PT]  Ubit Umarov: there are still no  viewers for opensim source code (in a lang i can try to read ;) )
[11:32 AM PT]  Andrew Hellershanks: I'm hoping that eventually l will be able to get dotdevelop compiled and running so that it will be easier for me to do some development related to C#.
[11:32 AM PT]  Joe Magarac: This is the TCP event poller, not the UDP messages.
[11:32 AM PT]  Ubit Umarov: firestorm did release a alpha with some coe on git.. but that code is outdated, their dev is still private
[11:33 AM PT]  Vincent.Sylvester Andrew, there are people on the dotnet discord that have issues with that too, seems to be problematic if your system isn't exactly setup like that thing expects it to be
[11:33 AM PT]  Ubit Umarov: joe other viewers igone that id, i think
[11:34 AM PT]  Joe Magarac: Yes. I don't, because I'm trying to catch errors.
[11:34 AM PT]  Andrew Hellershanks: Vincent, yea, I'm thinking it is something like that. I have 57 errors.
[11:34 AM PT]  Ubit Umarov: we kinda keep on...  but starts at random value not 0
[11:34 AM PT]  Joe Magarac: Is there some good reason to not start at 1, which is what SL does?
[11:34 AM PT]  Ubit Umarov: kepe one running i mean
[11:34 AM PT]  Ubit Umarov: think you tols that sl starts at 0 ?
[11:34 AM PT]  Ubit Umarov: told...
[11:35 AM PT]  Ubit Umarov: and that is not a id of a message, but the id of that event pack...
[11:35 AM PT]  Vincent.Sylvester Something must be keeping track of that id and increment it so if one is skipped it must be happening after that id is incremented. So just would need to find that and check references verify what it sends, what's left must be the one that is skipped
[11:35 AM PT]  Ubit Umarov: we do inc it
[11:36 AM PT]  Ubit Umarov: can't tell if same rules as sl..  because no one did ever cared abotu it ;)
[11:36 AM PT]  Joe Magarac: ID of the event pack?
[11:36 AM PT]  Ubit Umarov: yeap
[11:37 AM PT]  Joe Magarac: Right. I'm trying to nail down low level problems, because some high level problems, such as region crossing fails, may derive from them.
[11:37 AM PT]  Joe Magarac: Over on the SL side, Monty LInden is trying to do something similar.
[11:38 AM PT]  Andrew Hellershanks: Joe, get Vincent to write some tests to look for some of those low level issues.
[11:38 AM PT]  Andrew Hellershanks: :)
[11:38 AM PT]  Ubit Umarov: the ID is per event answer, that can include several messages..
[11:38 AM PT]  Ubit Umarov: so.. yeahh useless on http context
[11:39 AM PT]  Ubit Umarov: guess someone was thinking lludp while doing that
[11:40 AM PT]  Joe Magarac: Hm. Id is per Event answer, one LLSD block. Correct?
[11:40 AM PT]  Ubit Umarov: yes
[11:40 AM PT]  Ubit Umarov: that can have several messages
[11:40 AM PT]  Joe Magarac: OK. Some types of event contain an array of items, but they're all the same type.
[11:41 AM PT]  Joe Magarac: Let me collect more data and send in a proper bug report.
[11:41 AM PT]  Ubit Umarov: it is a full http answer
[11:41 AM PT]  Ubit Umarov: you get a array of messages
[11:41 AM PT]  Joe Magarac: Right. And those can have multiple events with different IDs.
[11:42 AM PT]  Joe Magarac: Let me check this some more. I may be doing something wrong.
[11:42 AM PT]  Joe Magarac: This is an all new-implementation in Rust on my side, after all.
[11:42 AM PT]  Ubit Umarov: NO
[11:42 AM PT]  Ubit Umarov: only on ID per answer
[11:42 AM PT]  Joe Magarac: ?
[11:42 AM PT]  Ubit Umarov: one..
[11:43 AM PT]  Ubit Umarov: let me get a example from the other side.. if i can :p
[11:43 AM PT]  Andrew Hellershanks: :)
[11:44 AM PT]  Joe Magarac: Ubit is right. Each reply is an LLSD block with an ID. Inside that block is an array of "Events". I'm looking at my code now.
[11:44 AM PT]  Ubit Umarov: well not sure the tool i use does the full pack
[11:44 AM PT]  Ubit Umarov: ahh you see it? cool
[11:45 AM PT]  Joe Magarac: I will collect some messages and talk later. Thanks.
[11:45 AM PT]  Andrew Hellershanks: ok, Joe. ty
[11:46 AM PT]  Andrew Hellershanks: 15 minutes left in the hour. Does anyone have questions for today?
[11:46 AM PT]  Ubit Umarov: yeah my tool ignores the ID, only shows the included messages
[11:50 AM PT]  Vincent.Sylvester Oh reminds me I had something odd happen the other day. Unfortunately no debug logs. A region still running was completely unresponsive after the initial teleport request, it got all that data and handled the incoming agent and then never sent updates.
[11:50 AM PT]  Vincent.Sylvester [EVENT MANAGER]: Delegate for TriggerOnNewClient failed - continuing.  Index was out of range. Must be non-negative and less than the size of the collection.
[11:51 AM PT]  Vincent.Sylvester Failed somewhere in the cache get_Item from the list in the Friends module
[11:51 AM PT]  Ubit Umarov: on net4/mono ?
[11:51 AM PT]  Vincent.Sylvester Yes
[11:52 AM PT]  Ubit Umarov: no idea :(
[11:52 AM PT]  Ubit Umarov: a glitch on the matrix
[11:52 AM PT]  Andrew Hellershanks: Index out of range? That is something that shouldn't happen.
[11:52 AM PT]  Vincent.Sylvester I been looking through code and there are no bound checks, cause normally out of bound is implausible for that stuff, wondering if too many friend entries could break that cache in some way
[11:53 AM PT]  Ubit Umarov: that error is from a bonds check :P
[11:54 AM PT]  Ubit Umarov: wel don0t remember seenin g that even on
[11:54 AM PT]  Vincent.Sylvester Sadly don't know if it was upper or lower bound either
[11:54 AM PT]  Vincent.Sylvester Restart and it was back to normal
[11:54 AM PT]  Ubit Umarov: can get a repo method?
[11:55 AM PT]  Andrew Hellershanks: It would be more useful a message if it indicated what the value of the index was at the time.
[11:55 AM PT]  Vincent.Sylvester Hoping it happens again set region to debug runmode to get some more info, still need to review logs to see if I can find when this started
[11:55 AM PT]  Ubit Umarov: it is the damm automatic bounds check
[11:55 AM PT]  Vincent.Sylvester Have a feeling it might be a user with some broken data attached to them that caused the thing to just break itself
[11:56 AM PT]  Ubit Umarov: happened only once?
[11:56 AM PT]  Vincent.Sylvester It came up each time someone tried logging into the region or teleporting there
[11:57 AM PT]  Ubit Umarov: and did it again after reboot?
[11:57 AM PT]  Vincent.Sylvester After reboot was fine again
[11:57 AM PT]  Ubit Umarov: see just a glitch in the matrix
[11:57 AM PT]  Orbert.Tatham Meow
[11:57 AM PT]  Andrew Hellershanks: Cosmic rays
[11:58 AM PT]  Vincent.Sylvester Has not come up again since then, but keeping an eye on it
[11:58 AM PT]  Vincent.Sylvester Concerning friends you get a few issues here and there when someone decides to have thousands of friends half of which from dead grids, messes with all sorts of things
[11:58 AM PT]  Vincent.Sylvester Random bitflip is possible too
[11:59 AM PT]  Ubit Umarov: yeah friends on dead grids are not nice
[11:59 AM PT]  Orbert.Tatham Is there any way to store "dead grids" and only poll them once a week or something so solve that?
[11:59 AM PT]  Ubit Umarov: tcp timeout takes ages
[11:59 AM PT]  Cuga.Rajal can friends from dead grids be removed from database tables safely?
[12:00 PM PT]  Ubit Umarov: dead grids may just be temporay down also
[12:00 PM PT]  Vincent.Sylvester Yes you can remove them on your end if the grid is really gone entirely
[12:00 PM PT]  Ubit Umarov: ocasiona standalones, etc
[12:00 PM PT]  Ubit Umarov: i keep cleaning my friends list
[12:00 PM PT]  Joe Magarac: Have to go, next meeting. Thaks all.
[12:00 PM PT]  Vincent.Sylvester If only temporary offline would leave them be, let timeout take care of it. Unless there are way too many
[12:01 PM PT]  Vincent.Sylvester We have no way of, in code, knowing whether something is dead or not, so we have to keep polling
[12:01 PM PT]  Cuga.Rajal good point
[12:01 PM PT]  Cuga.Rajal can always re-friend
[12:01 PM PT]  Orbert.Tatham I was thinking of something like a backoff, where after a timeour, it waits longer before the nest try
[12:01 PM PT]  Vincent.Sylvester There is some blacklisting in the http system to stop it constantly asking dead ends, but that takes a lot longer to trigger
[12:02 PM PT]  Vincent.Sylvester If you increase delays all it does is clog up the queue longer, consuming more memory and then the user goes away and you are still doing requests for them
[12:02 PM PT]  Ubit Umarov: ok also need go rl
[12:02 PM PT]  Ubit Umarov: cya later
[12:02 PM PT]  Cuga.Rajal l8r Ubit
[12:02 PM PT]  Orbert.Tatham Can't just drop the requests on the floor if it is in that timeout loop?
[12:03 PM PT]  Kayaker Magic: Bye Ubit!
[12:03 PM PT]  Orbert.Tatham Peace, Ubit
[12:03 PM PT]  Motoko.Karu cya ubit
[12:03 PM PT]  Ubit Umarov: think we do mark bad urls..
[12:03 PM PT]  Vincent.Sylvester It's a bit on the users to exercise some restraint and watching after it. Of course once the other point is dead you can't remove the friends unless you do so via database
[12:03 PM PT]  Ubit Umarov: but need to retry later
[12:03 PM PT]  Ubit Umarov: ok going :)
[12:04 PM PT]  Vincent.Sylvester It's not the only hg related problem of garbage getting collected
[12:04 PM PT]  Vincent.Sylvester Creator data of assets being polled and not returning is even more annoying to clean up
[12:05 PM PT]  Cuga.Rajal for some that can be huge
[12:05 PM PT]  Lyr Lobo: Thank you!
[12:05 PM PT]  NPC 2014 Jeep Wrangler - Driveable - Beach Version v6: :: is tuned for ubODE
[12:05 PM PT]  Andrew Hellershanks nods
[12:06 PM PT]  NPC 2014 Jeep Wrangler - Driveable - Beach Version v6: :: is tuned for ubODE
[12:06 PM PT]  Motoko.Karu what the
[12:06 PM PT]  Andrew Hellershanks: I know I have some HG friends in my Friends list. No idea when I last was in touch with them or whether the grids are still active or long gone.
[12:07 PM PT]  Cuga.Rajal I guess you could use a web browser and see which grids return the hippo message
[12:07 PM PT]  Cuga.Rajal or don;t respond
[12:07 PM PT]  Vincent.Sylvester I keep a list that checks regularly:
[12:08 PM PT]  Cuga.Rajal oh! good to know :)
[12:08 PM PT]  Andrew Hellershanks: Some of the people are in the Calling Cards inventory folder. I can use Properties to check the dates on those entries.
[12:09 PM PT]  Andrew Hellershanks: I often add a note to the persons profile when I get a new friend to remind me why they were added to my friends list. Access to notes in this grid is currently not working.
[12:11 PM PT]  Andrew Hellershanks: We are just past the hour. Any last minute comments or questions for today?
[12:12 PM PT]  Andrew Hellershanks: That will do it for today. Thank you all for coming. See you again next week.
Personal tools
About This Wiki