Chat log from the meeting on 2026-03-10

From OpenSimulator

Revision as of 12:04, 10 March 2026 by Tampa (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
[11:03 AM] Andrew Hellershanks: Hello, everyone.
[11:03 AM] Cuga.Rajal @rajal.org:9000: Hi all
[11:04 AM] Andrew Hellershanks: Glad to see that the time change didn't throw anyone off.
[11:05 AM] Andrew Hellershanks: Still ongoing talks whether to stop the twice yearly changes.
[11:05 AM] Vincent.Sylvester @hg.zetaworlds.com: It'd be a start to just sync the damn date for now, a minor victory
[11:06 AM] Andrew Hellershanks: Yes.
[11:07 AM] Andrew Hellershanks: It has been a quiet week. Only one change this past week.
[11:07 AM] Vincent.Sylvester @hg.zetaworlds.com: Small change potentially big impact on memory though
[11:08 AM] Ubit Umarov: yeah planing to try another way
[11:08 AM] Cuga.Rajal @rajal.org:9000: big impact good or bad?
[11:08 AM] Ubit Umarov: damm dotnet "details"
[11:09 AM] Ubit Umarov: well thing is more or less like this
[11:09 AM] Ubit Umarov: by default http read allocates a buffer large enough to get all possible data
[11:10 AM] Ubit Umarov: then it does copy the receivec amout of data to another array, and returns that
[11:10 AM] Ubit Umarov: the temporaty ont stays unteil GC sees it is not needed
[11:10 AM] Ubit Umarov: ..one... until...
[11:11 AM] Ubit Umarov: by default that tmp array is 2GBytes
[11:11 AM] Cuga.Rajal @rajal.org:9000: :o
[11:11 AM] Ubit Umarov: great with several open requests...
[11:12 AM] Ubit Umarov: for that default i did limit that to 256MB
[11:12 AM] Ubit Umarov: still big..
[11:13 AM] Ubit Umarov: ms seen that.. then added a option to only read http headers, then giveing the stream for other use
[11:13 AM] Ubit Umarov: things like xml decode can read from that stream in packs of like 16Kb
[11:14 AM] Ubit Umarov: so only basic tcp buffers are allocated.. not that big 'fit all'one
[11:14 AM] Ubit Umarov: i had change to that some time ago...
[11:15 AM] Ubit Umarov: now turns out that contrary to expected... there is NO timeout on that stream
[11:16 AM] Ubit Umarov: somewhere on the crap changes to async ( used even on sync calls) ms killed the NetworkStream timeout
[11:16 AM] Vincent.Sylvester @hg.zetaworlds.com: "No need for a timeout, heat death of the universe will catch it" - Microslop
[11:17 AM] Ubit Umarov: so we got one case where a server never did send data... blocking a thread for ever...
[11:17 AM] Ubit Umarov: grrrr
[11:17 AM] Ubit Umarov: that server does send a header telling it has a body of data to send.. and then.. never sends it
[11:18 AM] Ubit Umarov: anyway code does need to timeout there somehow
[11:18 AM] Ubit Umarov: just tehre is no good way of doing it
[11:19 AM] Lyr.Lobo @cc.opensimulator.org:8002: /me smiles and waves
[11:19 AM] Ubit Umarov: ( by the wway that stuck thing was a HG profile picture asset fecth happening at lbsa every few days only )
[11:19 AM] Vincent.Sylvester @hg.zetaworlds.com: Spin each request into its own thread and then just crash it forcing an out of index error, surely that is up to ms standards /s
[11:20 AM] Ubit Umarov: well stupid workaround is to add a timer to kill the stream
[11:20 AM] Ubit Umarov: will try that
[11:20 AM] Ubit Umarov: timer hiddne inside a cancelToken
[11:21 AM] Ubit Umarov: in fact those streams have a option to have a cancel token like that..
[11:21 AM] Ubit Umarov: i did add some code doing that
[11:21 AM] Ubit Umarov: turns out they ignore that timeout also
[11:22 AM] Vincent.Sylvester @hg.zetaworlds.com: I could never get those things to work properly on warp3d either, once it is stuck outside of the checkpoints no amount of invalidating the token would do anything
[11:22 AM] Ubit Umarov: so like a few did i will try to make that timout expire close the stream
[11:23 AM] Ubit Umarov: so a waste of memory, another timer.. etc
[11:23 AM] Ubit Umarov: but even less that a 256MB buffger
[11:24 AM] Ubit Umarov: yeah in fact cancelation tokens are not mandatory
[11:24 AM] Ubit Umarov: code needs to actively check them
[11:24 AM] Vincent.Sylvester @hg.zetaworlds.com: They behave like white(run) or if (cancel) break; it seems
[11:25 AM] Ubit Umarov: for that we jsut use a simple bool in many places.. like m_running
[11:25 AM] Ubit Umarov: not need for stupid tokens that also need a creationtoken crap
[11:25 AM] Andrew Hellershanks: Hello, Cuga
[11:25 AM] Ubit Umarov: well microslop things
[11:25 AM] Cuga.Rajal @rajal.org:9000: Thx, lost network for a moment
[11:26 AM] Vincent.Sylvester @hg.zetaworlds.com: Moment something depends on externally loaded things all bets are off anyways, because that stuff can get stuck in ways you cannot get out of
[11:26 AM] Ubit Umarov: ohh found it on your pocket?
[11:26 AM] Ubit Umarov: ( nm silly local joke )
[11:26 AM] Vincent.Sylvester @hg.zetaworlds.com: Sometimes even thread.abort would not work on that, but at least it worked most times
[11:26 AM] Cuga.Rajal @rajal.org:9000: dropped it on the floor
[11:26 AM] Ubit Umarov: well thread abort is gone
[11:26 AM] Vincent.Sylvester @hg.zetaworlds.com: Sadly
[11:27 AM] Vincent.Sylvester @hg.zetaworlds.com: Wasn't perfect, but it worked
[11:27 AM] Vincent.Sylvester @hg.zetaworlds.com: ms just hates things that work lately
[11:27 AM] Ubit Umarov: remember how ppl used to keep a pencil on a ear?
[11:27 AM] Ubit Umarov: while working..
[11:28 AM] Andrew Hellershanks: Only in old movies and TV programs
[11:28 AM] Ubit Umarov: wel i did that also
[11:28 AM] Ubit Umarov: then,,, spent minutes looking for the pencil all around :)
[11:29 AM] Ubit Umarov: after a little time you dont feel the pencil there.. :)
[11:29 AM] Andrew Hellershanks: A similar thing happens to people who put glasses on their heads then wonder where there glasses went.
[11:29 AM] Vincent.Sylvester @hg.zetaworlds.com: ms has the same problems with their crayons stuck up their nose and bum it seems
[11:29 AM] Ubit Umarov: was abotu to say that also :)
[11:29 AM] Andrew Hellershanks: :)
[11:30 AM] Cuga.Rajal @rajal.org:9000: lol
[11:30 AM] Ubit Umarov: ( i mean the glasses thing )
[11:30 AM] Vincent.Sylvester @hg.zetaworlds.com: Speaking of nonsensical things. I spent some hours debugging search module and server side
[11:31 AM] Vincent.Sylvester @hg.zetaworlds.com: Apparently the "show on map" buttons cause the viewer to send a map item request, which contains basically no data
[11:31 AM] Vincent.Sylvester @hg.zetaworlds.com: So it just returns the first 100 results with no search terms
[11:31 AM] Vincent.Sylvester @hg.zetaworlds.com: Effectively useless data that has no bearing on what they are doing
[11:31 AM] Ubit Umarov: think we do handle that on core
[11:31 AM] Ubit Umarov: well or something :)
[11:32 AM] Vincent.Sylvester @hg.zetaworlds.com: I can't even see if the viewer really uses that for anything, it works through the response, but the data may not even be for the region it is looking at or is on
[11:32 AM] Vincent.Sylvester @hg.zetaworlds.com: It makes no sense
[11:32 AM] Ubit Umarov: well it is a bit twisted things
[11:32 AM] Vincent.Sylvester @hg.zetaworlds.com: Rest of the module is cleaned up as best as I could make it
[11:32 AM] Ubit Umarov: viewer does send a flag with what it wants
[11:32 AM] Ubit Umarov: err a bitfield
[11:33 AM] Vincent.Sylvester @hg.zetaworlds.com: Which contains the request type and maturity, not much else
[11:33 AM] Vincent.Sylvester @hg.zetaworlds.com: It can send a regionhandle, but doesn't
[11:33 AM] Ubit Umarov: ohh a bit more
[11:33 AM] Ubit Umarov: well we do handle that on core
[11:33 AM] Ubit Umarov: for viewer map
[11:33 AM] Ubit Umarov: ( i think )
[11:33 AM] Vincent.Sylvester @hg.zetaworlds.com: Most of the incoming yes, it's what the module ultimately hooks into
[11:34 AM] Ubit Umarov: no ida why module hooks on that
[11:34 AM] Vincent.Sylvester @hg.zetaworlds.com: The classified situation is weird. Found there is no struct for the reply data and the implementations have parameters for all the individual parts of the request
[11:35 AM] Vincent.Sylvester @hg.zetaworlds.com: All the other stuff just sticks that into a struct and pushes that along
[11:35 AM] Vincent.Sylvester @hg.zetaworlds.com: I changed that to the datablock of the packet, but that requires core changes to function as the interface needs changing
[11:35 AM] Ubit Umarov: ohh we do have a map search module
[11:35 AM] Ubit Umarov: well i did mess it a lot .. lol
[11:36 AM] Vincent.Sylvester @hg.zetaworlds.com: I have to pull that particular change out there and maybe make a proper struct for it
[11:36 AM] Ubit Umarov: to start the names bs
[11:36 AM] Vincent.Sylvester @hg.zetaworlds.com: Server side some query optimizing, switching to single parcel table and so on is making decent progress
[11:37 AM] Vincent.Sylvester @hg.zetaworlds.com: It could technically all sit inside core as well. The server side isn't that complex and in a way it's simpler and less prone to errors to handle xmlrpc in c# than php
[11:38 AM] Ubit Umarov: case (int)GridItemType.Telehub: // Service 1 (MAP_ITEM_TELEHUB)
[11:38 AM] Ubit Umarov: case (int)GridItemType.AdultLandForSale: case (int)GridItemType.LandForSale:
[11:39 AM] Ubit Umarov: yeah things like that
[11:39 AM] Ubit Umarov: closing the source.. i do not want to look to that now >p
[11:39 AM] Vincent.Sylvester @hg.zetaworlds.com: I looked at the mapitem request itself, it only handles 4 instances, which all contain no more flags than the ones it needs to figure out the request type and maturity
[11:39 AM] Vincent.Sylvester @hg.zetaworlds.com: Returning nothing on there doesn't seem to break anything from what I can tell
[11:40 AM] Ubit Umarov: case (uint)GridItemType.PgEvent: case (uint)GridItemType.MatureEvent: case (uint)GridItemType.AdultEvent: case (uint)GridItemType.Classified: case (uint)GridItemType.Popular: // TODO // just dont not cry about them break;
[11:40 AM] Vincent.Sylvester @hg.zetaworlds.com: Tempted to just do that rather than do actual queries
[11:40 AM] Ubit Umarov: coff coff coff
[11:41 AM] Vincent.Sylvester @hg.zetaworlds.com: I have yet to test pagination, suspect that's buggered in some way as well as it's not consistent as to whether it wants 100 or 101 entries
[11:42 AM] Vincent.Sylvester @hg.zetaworlds.com: Something to do with enabling the buttons in the viewer from what I can tell
[11:44 AM] Vincent.Sylvester @hg.zetaworlds.com: The data collector isn't really scalable either with the fixed amount and times it checks. Should really do this some other way or scale the numbers with how much stuff there is
[11:44 AM] Vincent.Sylvester @hg.zetaworlds.com: It still parses the objects as well, even though I cannot find how it would search for them
[11:44 AM] Andrew Hellershanks: I looked at some of those things when I worked on a couple of add-on modules.
[11:44 AM] Vincent.Sylvester @hg.zetaworlds.com: I don't think object search exists anymore
[11:45 AM] Vincent.Sylvester @hg.zetaworlds.com: Opening the world map also sends a parcel request out, without any information so it just fetches the first 100 results, whichever they may be
[11:46 AM] Vincent.Sylvester @hg.zetaworlds.com: I can only assume why it does that
[11:46 AM] Ubit Umarov: meanwhile we got a patch to try to improve webrtc
[11:46 AM] Ubit Umarov: but sadly seems based on older core code, bc several of the things it has i already did :(
[11:47 AM] Vincent.Sylvester @hg.zetaworlds.com: I finally got that working on a region earlier
[11:47 AM] Ubit Umarov: we got on mantis i mean
[11:47 AM] Ubit Umarov: 9235
[11:48 AM] Cuga.Rajal @rajal.org:9000: Does it have anythign new that is useful?
[11:49 AM] Ubit Umarov: guess so but would need to look line by line
[11:49 AM] Ubit Umarov: i only seen it today
[11:50 AM] Ubit Umarov: seems work made in parallel to what i did :(
[11:50 AM] Ubit Umarov: but does seem to address issue we do have
[11:51 AM] Ubit Umarov: as is, it is pretty bad
[11:51 AM] Ubit Umarov: almost no resilence to lag etc
[11:51 AM] Cuga.Rajal @rajal.org:9000: Great.. looking forward to the updates
[11:51 AM] Ubit Umarov: loses track of sessions/rooms/participants
[11:52 AM] Ubit Umarov: saddly some of that may need the datachannel
[11:52 AM] Cuga.Rajal @rajal.org:9000: I don't know how it can be done without
[11:52 AM] Ubit Umarov: fear viewers may just leave rooms telling only to janus via that datachannel
[11:52 AM] Andrew Hellershanks: We are near the top of the hour. If someone has a topic they want to raise before we wrap up, raise your hand.
[11:53 AM] Andrew Hellershanks: ok. Not seeing any hands (or messages saying someone raised their hand).
[11:54 AM] Ubit Umarov: raise hands with dino around??? no way!
[11:54 AM] Andrew Hellershanks: hehe
[11:54 AM] Cuga.Rajal @rajal.org:9000: Hold out a cracker
[11:54 AM] Ubit Umarov: ohh we lsot dino ?
[11:54 AM] Cuga.Rajal @rajal.org:9000: I saw him
[11:54 AM] Vincent.Sylvester @hg.zetaworlds.com: It's over there
[11:55 AM] Ubit Umarov: ohh ok
[11:55 AM] Cuga.Rajal @rajal.org:9000: I need to go... Thanks for the updates
[11:55 AM] Andrew Hellershanks: ok, Cuga. Thanks for dropping by.
[11:56 AM] Cuga.Rajal @rajal.org:9000: /me smiles, waves and poofs
[11:56 AM] Vincent.Sylvester @hg.zetaworlds.com: I nuked a couple ten thousand notecards the other day, courtesy of a script by IMA
[11:57 AM] Vincent.Sylvester @hg.zetaworlds.com: Accounting for 500mb of data
[11:57 AM] Andrew Hellershanks: Ouch.
[11:57 AM] Vincent.Sylvester @hg.zetaworlds.com: Been running some metadata on assets
[11:57 AM] Vincent.Sylvester @hg.zetaworlds.com: Trying to find ways to compress it more
[11:57 AM] Vincent.Sylvester @hg.zetaworlds.com: Deduplication apparently only saved me 16% of space
[11:58 AM] Ubit Umarov: mv ... /dev/null is not compression!!
[11:58 AM] Ubit Umarov: :p
[11:58 AM] Vincent.Sylvester @hg.zetaworlds.com: I looked at lrz vs gz and found 1% improvement
[11:58 AM] Andrew Hellershanks: :D
[11:58 AM] Vincent.Sylvester @hg.zetaworlds.com: Not really worth recompressing everything
[11:58 AM] Ubit Umarov: there that xy thing??
[11:59 AM] Ubit Umarov: assuming they did close the open door
[11:59 AM] Ubit Umarov: possible has no maintainer now ?
[12:00 PM] Vincent.Sylvester @hg.zetaworlds.com: You mean xz?
[12:00 PM] Vincent.Sylvester @hg.zetaworlds.com: Yeah that's fixed in most... most cases
[12:00 PM] Ubit Umarov: or that :)
[12:00 PM] Vincent.Sylvester @hg.zetaworlds.com: Well possible that at least one very important machine is still vulnerable...
[12:01 PM] Lyr.Lobo @cc.opensimulator.org:8002: /me smiles and nods
[12:01 PM] Ubit Umarov: anyway part of that issue was that it had only on mantainer
[12:01 PM] Ubit Umarov: close to burnout..
[12:02 PM] Ubit Umarov: if not well past burnout
[12:02 PM] Vincent.Sylvester @hg.zetaworlds.com: A situation that surely is unique and does not apply to any other project
[12:02 PM] Ubit Umarov: ohh yeah... ofc not
[12:03 PM] Ubit Umarov: anyway... rl calls
[12:03 PM] Lyr.Lobo @cc.opensimulator.org:8002: Thank you for a great meeting!
[12:03 PM] Lyr.Lobo @cc.opensimulator.org:8002: Have a great week!
[12:03 PM] Ubit Umarov: see you all next week
[12:03 PM] Andrew Hellershanks: I should back to RL too. Another project due on a short deadline.
[12:03 PM] Lyr.Lobo @cc.opensimulator.org:8002: Thank you, Andrew
[12:03 PM] Andrew Hellershanks: Thank you all for coming. See you next week.
Personal tools
General
About This Wiki