[11:01 AM PT] Andrew Hellershanks: Hello, everyone.
[11:03 AM PT] Joe Magarac: Hello all.
[11:03 AM PT] Orbert.Tatham @hg.zetaworlds.com: Hey, Joe
[11:04 AM PT] Lyr Lobo: Hello *smiles*
[11:04 AM PT] Cuga.Rajal @rajal.org:9000: Hi everyone :)
[11:04 AM PT] Cuga.Rajal @rajal.org:9000: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: Meanwhile I have some positive things to report
[11:11 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @login.digiworldz.com:8002: Hihi Andrew... sorry for my lateness...
[11:13 AM PT] Motoko.Karu @login.digiworldz.com:8002: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: On mono I was able to fix up some disabled tests so over 500 are being run
[11:15 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Including performance tests and so on
[11:15 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Added back some tests for script engine as well
[11:15 AM PT] Andrew Hellershanks: Sounds good.
[11:16 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @login.digiworldz.com:8002: hihi lyra
[11:16 AM PT] Motoko.Karu @login.digiworldz.com:8002: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @rajal.org:9000: 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 @rajal.org:9000: (is that summary correct?)
[11:24 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Hence the push to get automated tests back into dotnet6 branch
[11:24 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: The new material stuff doesn't backport easily, requires also backporting libomv to work
[11:29 AM PT] Cuga.Rajal @rajal.org:9000: 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 0.9.2.2 so, mono.. but outadted
[11:30 AM PT] Ubit Umarov: and that is still a test..
[11:31 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: [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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 0.9.2.2
[11:54 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Sadly don't know if it was upper or lower bound either
[11:54 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: After reboot was fine again
[11:57 AM PT] Ubit Umarov: see just a glitch in the matrix
[11:57 AM PT] Orbert.Tatham @hg.zetaworlds.com: Meow
[11:57 AM PT] Andrew Hellershanks: Cosmic rays
[11:58 AM PT] Vincent.Sylvester @hg.zetaworlds.com: Has not come up again since then, but keeping an eye on it
[11:58 AM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @rajal.org:9000: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @rajal.org:9000: good point
[12:01 PM PT] Cuga.Rajal @rajal.org:9000: can always re-friend
[12:01 PM PT] Orbert.Tatham @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @hg.zetaworlds.com: 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 @rajal.org:9000: l8r Ubit
[12:02 PM PT] Orbert.Tatham @hg.zetaworlds.com: 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 @hg.zetaworlds.com: Peace, Ubit
[12:03 PM PT] Motoko.Karu @login.digiworldz.com:8002: cya ubit
[12:03 PM PT] Ubit Umarov: think we do mark bad urls..
[12:03 PM PT] Vincent.Sylvester @hg.zetaworlds.com: 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 @hg.zetaworlds.com: It's not the only hg related problem of garbage getting collected
[12:04 PM PT] Vincent.Sylvester @hg.zetaworlds.com: Creator data of assets being polled and not returning is even more annoying to clean up
[12:05 PM PT] Cuga.Rajal @rajal.org:9000: 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 @login.digiworldz.com:8002: 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 @rajal.org:9000: I guess you could use a web browser and see which grids return the hippo message
[12:07 PM PT] Cuga.Rajal @rajal.org:9000: or don;t respond
[12:07 PM PT] Vincent.Sylvester @hg.zetaworlds.com: I keep a list that checks regularly: https://zetaworlds.com/knowngrids
[12:08 PM PT] Cuga.Rajal @rajal.org:9000: 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.