Chat log from the meeting on 2023-02-28

From OpenSimulator

Jump to: navigation, search
[12:09 PM PT]  Ubit Umarov: ok welcome to this week meeting
[12:09 PM PT]  Ubit Umarov: andrew may show up soon :)
[12:10 PM PT]  Lyr Lobo smiles in greeting
[12:10 PM PT]  Cuga.Rajal @rajal.org:9000: at some point it would be nice to know OS runs on a more recent version of dotnet
[12:10 PM PT]  Cuga.Rajal @rajal.org:9000: but dotnet 6 has a long life still :)
[12:10 PM PT]  Ubit Umarov: in fact similar to 7
[12:11 PM PT]  Ubit Umarov: since 7 has a shorter life
[12:11 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Let's first get 6 working and the kinks worked out before jumping again
[12:11 PM PT]  Ubit Umarov: ok lets see.. last week code changes..
[12:11 PM PT]  Cuga.Rajal @rajal.org:9000: I usually wait to upgrade until they are half way through the life cycle :) so they fix the bugs
[12:12 PM PT]  Ubit Umarov: the commits can be easy seen at https://bitbucket.org/opensimulator/opensim/commits/
[12:12 PM PT]  Gavin.Hird @grid.xmir.org:8002: but dotnet 6 means Linux is out?
[12:12 PM PT]  Ubit Umarov: as on the usual places..  jsut looks nicer there
[12:12 PM PT]  Lyr Lobo: busy week *Grins*
[12:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: We had some reports on mantis that brought some fixes and changes
[12:12 PM PT]  Ubit Umarov: so...  early to day i did rename a function i did add back in september (?)
[12:14 PM PT]  Ubit Umarov: somehow back then i used a wrong name, called it llObjectGetLink  instead of llGetObjectLink
[12:14 PM PT]  Ubit Umarov: no idea how :)
[12:15 PM PT]  Ubit Umarov: also applied a fix to get object details as provide by Jeff Kelley
[12:15 PM PT]  Lyr Lobo: Good that you caught it
[12:15 PM PT]  Ubit Umarov: extending it to object mass
[12:15 PM PT]  Cuga.Rajal @rajal.org:9000: never heard if that function, doesn;t come up on google??
[12:15 PM PT]  Lyr Lobo: i said the same thing, Cuga
[12:16 PM PT]  Ubit Umarov: the right name does list on google
[12:16 PM PT]  Cuga.Rajal @rajal.org:9000: the pother doesnt come up either
[12:16 PM PT]  Lyr Lobo: https://learn.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/getobject-function
[12:16 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: llObjectGetLinkKey
[12:16 PM PT]  Cuga.Rajal @rajal.org:9000: ohhh ok thx
[12:16 PM PT]  Lyr Lobo: oops, sorry, eyes crossed
[12:16 PM PT]  Ubit Umarov: that was the wrong name :)
[12:17 PM PT]  Lyr Lobo: so true *grins*
[12:17 PM PT]  Cuga.Rajal @rajal.org:9000: yeah, they seem to always put Get or Set first
[12:17 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Also something about restricting media on prim in there based on some parcel option?
[12:18 PM PT]  Ubit Umarov: other changes where again c#6 to c#10 and similar things
[12:18 PM PT]  Ubit Umarov: ahh yes..   i also made the new parcel option" restrict MOAP to parcel" work
[12:18 PM PT]  Ubit Umarov: thanks
[12:19 PM PT]  Ubit Umarov: on that i did reuse the storage of older options now obsolete
[12:20 PM PT]  Ubit Umarov: ObscureMusic is now that MOAP restriction option storage
[12:21 PM PT]  Ubit Umarov: Oops no that is unused..
[12:21 PM PT]  Ubit Umarov: ObscureMedia is hte one reused
[12:21 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Also fiddled some more with that integer parsing that has some undocumented behavior
[12:21 PM PT]  Andrew Hellershanks: Hello, everyone.
[12:21 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Hey, Andrew
[12:21 PM PT]  Lyr Lobo: Hello Andrew
[12:21 PM PT]  Cuga.Rajal @rajal.org:9000: Hi Andrew, we thought you might be snowed in
[12:22 PM PT]  Gavin.Hird @grid.xmir.org:8002: H
[12:22 PM PT]  Andrew Hellershanks: My apologies for being late. It was quarter to so I went and did something for a few minutes and lost track of time.
[12:22 PM PT]  Ubit Umarov: i«yes i changed lsl parsing of integer
[12:22 PM PT]  Ubit Umarov: on dotnet6
[12:22 PM PT]  Ubit Umarov: also some changes on parsing of float...  may change that a bit more
[12:23 PM PT]  Andrew Hellershanks: Cuga, naw. The snow wasn't that bad.
[12:23 PM PT]  Ubit Umarov: but will not add hex support to it
[12:23 PM PT]  Ubit Umarov: i thing
[12:23 PM PT]  Ubit Umarov: think..
[12:23 PM PT]  Ubit Umarov: at SL the parse to float does support c99 hext float format
[12:23 PM PT]  Ubit Umarov: since that is native to the c   support libraries
[12:24 PM PT]  Ubit Umarov: c# does not support it
[12:24 PM PT]  Ubit Umarov: i did add some partial support,  but may jsut remove it
[12:24 PM PT]  Ubit Umarov: see no point to even use hex on floats
[12:24 PM PT]  Ubit Umarov: a bit far from human thing :)
[12:24 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: I mention it because two days ago I was handed a script that used that strange hex parsing for listen channels and it wasn't working on mono version, which we had determined was working fine
[12:25 PM PT]  Ubit Umarov: some intermediate changes i made on that did broke some odd scripts
[12:26 PM PT]  Ubit Umarov: thing is that normal parsers only accept a integer string to end with a white space, or nothing
[12:26 PM PT]  Ubit Umarov: giving error on other cases
[12:26 PM PT]  Cuga.Rajal @rajal.org:9000: I've seen scripts that use hex parsing to create random listener channels.. Seems unnecessary but fairly common
[12:26 PM PT]  Ubit Umarov: so i did that, using direct .net parser
[12:27 PM PT]  Ubit Umarov: turns out that SL parser accepts anything afater a number.. just cuts the string at that point
[12:27 PM PT]  Ubit Umarov: like it accepts  123hjjd  as 123
[12:27 PM PT]  Gavin.Hird @grid.xmir.org:8002: :-)
[12:28 PM PT]  Andrew Hellershanks: Ubit, does the parsing handle . vs , based on locale?
[12:28 PM PT]  Ubit Umarov: o si had to redo the parser, this time doing it all, skipping the .net parsert
[12:28 PM PT]  Ubit Umarov: integers do not have .
[12:28 PM PT]  Ubit Umarov: na don floats opensim norm is decimal '.'
[12:28 PM PT]  Andrew Hellershanks: True, unless someone tried to write one thousand as 1,000
[12:29 PM PT]  Ubit Umarov: thatr is not lsl spec
[12:29 PM PT]  Ubit Umarov: lsl with just read 1
[12:29 PM PT]  Ubit Umarov: wel or whatever :)
[12:29 PM PT]  Andrew Hellershanks nods
[12:29 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: The whole idea is that you have listeners bound to a user so that their hud doesn't change other peoples things, which makes sense, but then parsing parts of the uuid isn't a guarantee of a unique channel either
[12:30 PM PT]  Cuga.Rajal @rajal.org:9000: true, but in a region with 40 avatars is prolly safe
[12:30 PM PT]  Ubit Umarov: in world format is culture invariant
[12:30 PM PT]  Ubit Umarov: ie similar to en-us
[12:31 PM PT]  Ubit Umarov: hmm ok gavin did a dotnet6 question that i wanted to answer but forgot lol
[12:31 PM PT]  Ubit Umarov: ahh yes.. dotnet6 i windoes and linux
[12:31 PM PT]  Ubit Umarov: also runs on apple silicon
[12:32 PM PT]  Gavin.Hird @grid.xmir.org:8002: does dotnet6 run on linux?
[12:32 PM PT]  Cuga.Rajal @rajal.org:9000: thats what Ive been using for all my apple silicon work with OS
[12:32 PM PT]  Ubit Umarov: gavin this regions are on linux..
[12:32 PM PT]  Cuga.Rajal @rajal.org:9000: I installeds it on Ubuntu and runs fine too
[12:32 PM PT]  Gavin.Hird @grid.xmir.org:8002: ok
[12:33 PM PT]  Ubit Umarov: so yes.. as i said  windows, linux and apple silicon, thanks to cuga native libraries
[12:33 PM PT]  Gavin.Hird @grid.xmir.org:8002: but on macOS you have to install VS and also log in to a MS account to use it. Can the runtime be packed with opensim to aviod this?
[12:33 PM PT]  Cuga.Rajal @rajal.org:9000: but need to install libgdiplus separately
[12:33 PM PT]  Ubit Umarov: like mono.. better install from ms sites
[12:33 PM PT]  Ubit Umarov: per distro installs may be jsut bad
[12:33 PM PT]  Cuga.Rajal @rajal.org:9000: You don't need to Gavin on macOS
[12:34 PM PT]  Cuga.Rajal @rajal.org:9000: just download dotnet6, for arm64, doesnt require MS lofin oe VS
[12:34 PM PT]  Gavin.Hird @grid.xmir.org:8002: so the compiled verion just runs without VS - is that what you say?
[12:34 PM PT]  Cuga.Rajal @rajal.org:9000: let me check which download I used.. one moment
[12:34 PM PT]  Gavin.Hird @grid.xmir.org:8002: thx
[12:35 PM PT]  Ubit Umarov: yeap need to get libggdiplus ( or have mono 6 also there )
[12:35 PM PT]  Cuga.Rajal @rajal.org:9000: https://dotnet.microsoft.com/en-us/download/dotnet/6.0
[12:35 PM PT]  Cuga.Rajal @rajal.org:9000: the arm64 SDK, top left of the page
[12:35 PM PT]  Ubit Umarov: hmm you are talking for apple silicon?
[12:35 PM PT]  Cuga.Rajal @rajal.org:9000: on Ubuntu I used the Synaptic Package manager
[12:35 PM PT]  Gavin.Hird @grid.xmir.org:8002: bookmarked - will check that
[12:36 PM PT]  Cuga.Rajal @rajal.org:9000: ubit yes, just answering Gavin
[12:36 PM PT]  Ubit Umarov: guga has a github with things for that
[12:36 PM PT]  Ubit Umarov: cuga :)
[12:36 PM PT]  Gavin.Hird @grid.xmir.org:8002: Cuga installed libgdiplus vi homebrew, and I installed it using macports
[12:36 PM PT]  Gavin.Hird @grid.xmir.org:8002: so that seems to work fine too
[12:36 PM PT]  Cuga.Rajal @rajal.org:9000: I've been carptuing all my steps on my Gothub page for apple silicon
[12:37 PM PT]  Cuga.Rajal @rajal.org:9000: Github*  https://github.com/cuga-rajal/opensim_apple_arm64
[12:37 PM PT]  Gavin.Hird @grid.xmir.org:8002: I have tested it on macOS on Intel in addition
[12:37 PM PT]  Gavin.Hird @grid.xmir.org:8002: both M1 and M2   Intel processors
[12:37 PM PT]  Cuga.Rajal @rajal.org:9000: My production box is still Intel macOS and I've been using that to test my Universal binaries for unmanaged libs
[12:38 PM PT]  Cuga.Rajal @rajal.org:9000: which I build on apple silicon
[12:38 PM PT]  Gavin.Hird @grid.xmir.org:8002: nice
[12:38 PM PT]  Gavin.Hird @grid.xmir.org:8002: I build the Intel viewer on Apple Silicon
[12:38 PM PT]  Cuga.Rajal @rajal.org:9000: Intel viewer?
[12:39 PM PT]  Cuga.Rajal @rajal.org:9000: a new OS client? :)
[12:39 PM PT]  Gavin.Hird @grid.xmir.org:8002: my viewer is just Intel so it runs on Rosetta2 on AS
[12:39 PM PT]  Gavin.Hird @grid.xmir.org:8002: the windows version is of course Intel
[12:39 PM PT]  Cuga.Rajal @rajal.org:9000: whoever manages to make a native silicon viewer could make a mint
[12:40 PM PT]  Gavin.Hird @grid.xmir.org:8002: that is a huge undertaking
[12:40 PM PT]  Cuga.Rajal @rajal.org:9000: but is prolly 2 people-years of work
[12:40 PM PT]  Gavin.Hird @grid.xmir.org:8002: 10 manyears
[12:40 PM PT]  Cuga.Rajal @rajal.org:9000: or 5 womenyears LOL
[12:40 PM PT]  Gavin.Hird @grid.xmir.org:8002: :-))
[12:40 PM PT]  Ubit Umarov: in opensim case, https://bitbucket.org/opensimulator/opensim/src/dotnet6/BUILDING.md  sohuld be  - updated
[12:41 PM PT]  Andrew Hellershanks: on that note, it is time to move on. Jagga has a question.
[12:41 PM PT]  Jagga Meredith: I have two regions: interfaith and Trondheim.  Both run on the same physical server (jgga.ddns.net), but separate instances..  I can get to each one from here, LBSA and Hurliman.  I can't get to them from each other.  Error message:

Service request failed: unable to connect to remote server

What's up with that?
[12:41 PM PT]  Ubit Umarov: well may need mention to c   runtime on windows
[12:42 PM PT]  Gavin.Hird @grid.xmir.org:8002: are they running in the same instance?
[12:42 PM PT]  Jagga Meredith: no
[12:42 PM PT]  Ubit Umarov: revied udp and http ports
[12:42 PM PT]  Ubit Umarov: that must be unique in that case
[12:42 PM PT]  Gavin.Hird @grid.xmir.org:8002: so probably some name resolution issue between the two instances
[12:42 PM PT]  Andrew Hellershanks: Could be an issue with the IP addresses used in the ini files for the regions.
[12:42 PM PT]  Jagga Meredith: ports are unique
[12:42 PM PT]  Ubit Umarov: http also?
[12:43 PM PT]  Jagga Meredith: ys
[12:43 PM PT]  Ubit Umarov: ok then as gavin and andrew told.. etc :)
[12:43 PM PT]  Jagga Meredith: k
[12:44 PM PT]  Cuga.Rajal @rajal.org:9000: check the console logs to see if they show why
[12:44 PM PT]  Jagga Meredith: k
[12:44 PM PT]  Cuga.Rajal @rajal.org:9000: or any weirdness that might give clue
[12:45 PM PT]  Andrew Hellershanks: Jagga, What did you use for InternalHostName and ExternalHostName? InternalHostName I usually leave at the default of 0.0.0.0
[12:46 PM PT]  Jagga Meredith: jgga.ddns.net
[12:46 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: External is either your WAN ip or that dyndns thing, internal one is the local area network ip like 192.168 ones
[12:46 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: The regions running different ports?
[12:46 PM PT]  Andrew Hellershanks: oh. You are using a dynamic DNS service. Have you verified it has the correct address mappings?
[12:46 PM PT]  Jagga Meredith: yes
[12:47 PM PT]  Cuga.Rajal @rajal.org:9000: check a dns lookup from host machine, see if it matches
[12:47 PM PT]  Jagga Meredith: k
[12:47 PM PT]  Andrew Hellershanks: Jagga, you have checked your firewall to make sure that the parts aren't being blocked locally?
[12:47 PM PT]  Andrew Hellershanks: s/parts/ports/
[12:47 PM PT]  Jagga Meredith: no
[12:49 PM PT]  Ubit Umarov: have right ports range on portfw in router? :)
[12:49 PM PT]  Andrew Hellershanks: The ports used by the instances need to be allowed both within the local network as well as when referenced from an external site.
[12:49 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: NAT and routers are a pain, they wanna be smart and use local loopback so there is no external circuit so you can HG out, but can't go home
[12:49 PM PT]  Jagga Meredith: yes and I'm adding extra number above
[12:50 PM PT]  Jagga Meredith: i'll bet it;s loopback
[12:50 PM PT]  Andrew Hellershanks: Many people have had trouble because of that.
[12:51 PM PT]  Jagga Meredith: server is over at my daughter;s place partially to get around that
[12:51 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: You need both the region ports and the http listener defined in opensim ini to be forwarded for things to work, though I should think in a local standalone teleporting between regions should work otherwise
[12:52 PM PT]  Cuga.Rajal @rajal.org:9000: Ive seen that issue before!
[12:52 PM PT]  Jagga Meredith: ok  makes sense
[12:52 PM PT]  Cuga.Rajal @rajal.org:9000: If you can try from an outside connection.. sometime external works fine but internal not
[12:52 PM PT]  Jagga Meredith: and her router doesn't suppoty loopback
[12:52 PM PT]  Gavin.Hird @grid.xmir.org:8002: if you use jgga.ddns.net as the internal IP address it probably will not work in my experience
[12:53 PM PT]  Jagga Meredith: mine does
[12:53 PM PT]  Gavin.Hird @grid.xmir.org:8002: but I have my internal DNS which you most likely don't have
[12:53 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Router be like: I know this connection, it doesn't need to go over WAN, here let me directly connect you
[12:53 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: OpenSim meanwhile "where my acircuit at"
[12:53 PM PT]  Jagga Meredith: yup
[12:53 PM PT]  Cuga.Rajal @rajal.org:9000: some router hw not OS compatible
[12:53 PM PT]  Cuga.Rajal @rajal.org:9000: or partially
[12:53 PM PT]  Andrew Hellershanks: Jagga, you are running instances at your place but other parts of OpenSim are hosted at another location?
[12:53 PM PT]  Jagga Meredith: ok, I'll go yell at Telus...again
[12:54 PM PT]  Jagga Meredith: no, everything is at hers
[12:55 PM PT]  Cuga.Rajal @rajal.org:9000: On my LAN setup, internal addresses won't connect from the client. I have to use external hostname
[12:55 PM PT]  Cuga.Rajal @rajal.org:9000: packets go out and in again
[12:55 PM PT]  Cuga.Rajal @rajal.org:9000: not sure if that is related to your issue
[12:55 PM PT]  Gavin.Hird @grid.xmir.org:8002: I have added records for every internal machine to the internal DNS with the external IP address
[12:56 PM PT]  Jagga Meredith: that might work
[12:56 PM PT]  Gavin.Hird @grid.xmir.org:8002: so when the ini records are set up to use say sim1.xmir.org, it is directed to the external address this forcing it over the router
[12:57 PM PT]  Jagga Meredith: right
[12:57 PM PT]  Gavin.Hird @grid.xmir.org:8002: the machine of course has another IP address and DNS record too
[12:58 PM PT]  Jagga Meredith: yes
[12:59 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: In the end it is often easier to just grab a vps for a few bucks and not deal with the problems of home networks, changing IPs and all the associated issues
[12:59 PM PT]  Orbert.Tatham @hg.zetaworlds.com Sticks up a hand
[12:59 PM PT]  Jagga Meredith: vps?
[12:59 PM PT]  Orbert.Tatham @hg.zetaworlds.com: That would be me
[12:59 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: virtual private server, basically a virtual machine on a larger server
[12:59 PM PT]  Jagga Meredith: ah
[1:00 PM PT]  Andrew Hellershanks: Orbert, do you have a question or were you just responding to the VPS reference?
[1:00 PM PT]  Jagga Meredith: akready got an offer
[1:00 PM PT]  Orbert.Tatham @hg.zetaworlds.com: VPS reference
[1:00 PM PT]  Andrew Hellershanks: ok
[1:01 PM PT]  Andrew Hellershanks: We are at the top of the hour. Any last minute questions/comments for today?
[1:01 PM PT]  Cuga.Rajal @rajal.org:9000: I have a quick question on llSleep()
[1:01 PM PT]  Cuga.Rajal @rajal.org:9000: is that event blocking still?
[1:01 PM PT]  Andrew Hellershanks: Go ahead, Cuga
[1:01 PM PT]  Cuga.Rajal @rajal.org:9000: I ran into a situation where llSleep caused Bullet mesher to segfualt
[1:02 PM PT]  Cuga.Rajal @rajal.org:9000: switching to timer() fixed
[1:02 PM PT]  Andrew Hellershanks: Cuga, which scripting engine are you using?
[1:02 PM PT]  Cuga.Rajal @rajal.org:9000: Yengine
[1:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: In YEngine it just makes that script sleep like it should
[1:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Normally has nothing to do with the mesher
[1:02 PM PT]  Cuga.Rajal @rajal.org:9000: thats why I was asking
[1:02 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: What were you doing when that crash happened? Anything with vehicles? mesh?
[1:03 PM PT]  Cuga.Rajal @rajal.org:9000: so sopmething weird there
[1:03 PM PT]  Cuga.Rajal @rajal.org:9000: I can reproduce it on multiple platforms even
[1:03 PM PT]  Ubit Umarov: what you mean event blocking?
[1:03 PM PT]  Cuga.Rajal @rajal.org:9000: but it is an unusual case
[1:03 PM PT]  Andrew Hellershanks: Cuga, You should capture the contents of the seg fault message so we can get a better idea what is going on.
[1:03 PM PT]  Gavin.Hird @grid.xmir.org:8002: I also had bullet segfaults on that after upgrading dotnet6, so I deleted ScriptEngines forcing it recompile all scripts and it worked fine
[1:03 PM PT]  Cuga.Rajal @rajal.org:9000: I mean, does it have the effect of blocking other events to happen on an object during that sleep, not script relasted, like the mesher
[1:04 PM PT]  Ubit Umarov: llsleep was never a event blocker
[1:04 PM PT]  Cuga.Rajal @rajal.org:9000: thats what I thought
[1:04 PM PT]  Gavin.Hird @grid.xmir.org:8002: seem my response above Cuga
[1:04 PM PT]  Cuga.Rajal @rajal.org:9000: then something weird going on with mesher
[1:04 PM PT]  Ubit Umarov: you will fill up events queue
[1:04 PM PT]  Ubit Umarov: with collide for example
[1:04 PM PT]  Cuga.Rajal @rajal.org:9000: The only time I got Bullet mesher to segfualt is the following extreme case:
[1:04 PM PT]  Andrew Hellershanks: Cuga, Gavin has a good point. If you changed engines during your testing you should recompile the scripts after the engine change.
[1:05 PM PT]  Ubit Umarov: so is a bad ideas to sleep inside a collision_* event
[1:05 PM PT]  Cuga.Rajal @rajal.org:9000: linkset of 20 regular prims, each having their own script
[1:05 PM PT]  Ubit Umarov: or timer
[1:05 PM PT]  Ubit Umarov: etc
[1:05 PM PT]  Cuga.Rajal @rajal.org:9000: root prim send a link message to child prim just before unlinking
[1:05 PM PT]  Cuga.Rajal @rajal.org:9000: script in child prim starts llSpeep() for 1 second, during which the prim is unlinked
[1:05 PM PT]  Cuga.Rajal @rajal.org:9000: then after the 1 second sleep the scvtipt turns it physical
[1:06 PM PT]  Gavin.Hird @grid.xmir.org:8002: Cuga you are just droning on. Read back ;-)
[1:06 PM PT]  Cuga.Rajal @rajal.org:9000: the mesher hasn't meshed it, and that cause segfault
[1:06 PM PT]  Cuga.Rajal @rajal.org:9000: but not every time
[1:06 PM PT]  Ubit Umarov: that bulllet seg fault maybe other thing
[1:06 PM PT]  Cuga.Rajal @rajal.org:9000: only when doing it rapid fire
[1:06 PM PT]  Cuga.Rajal @rajal.org:9000: yes, prolly bullet related
[1:06 PM PT]  Cuga.Rajal @rajal.org:9000: Misterblue doesn;t like to fix extreme cases :)
[1:07 PM PT]  Cuga.Rajal @rajal.org:9000: Gavin I never upgraded dotnet 6 s not applicable
[1:07 PM PT]  Cuga.Rajal @rajal.org:9000: but thankds for suggestion
[1:07 PM PT]  Gavin.Hird @grid.xmir.org:8002: did you upgrade macOS?
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: I can reproduce it on Linux, on a dufferent gris even
[1:08 PM PT]  Gavin.Hird @grid.xmir.org:8002: allright
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: not Mac specific
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: likely Bullet issue
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: and script related
[1:08 PM PT]  Cuga.Rajal @rajal.org:9000: thats why I was asking about llSleep() and timer()
[1:09 PM PT]  Cuga.Rajal @rajal.org:9000: no idea why switching those makes difference
[1:09 PM PT]  Ubit Umarov: should not
[1:09 PM PT]  Cuga.Rajal @rajal.org:9000: but if it fixes it, no need to fully understand :)
[1:09 PM PT]  Gavin.Hird @grid.xmir.org:8002: I had bulletsim segfaulting on scripts with llsleep
[1:09 PM PT]  Ubit Umarov: but voddo is reported here and there...
[1:09 PM PT]  Ubit Umarov: ;)
[1:10 PM PT]  Cuga.Rajal @rajal.org:9000: I have 2 objects, identical except that part of script
[1:10 PM PT]  Cuga.Rajal @rajal.org:9000: can reproduce
[1:10 PM PT]  Ubit Umarov: well it could with xengine
[1:10 PM PT]  Gavin.Hird @grid.xmir.org:8002: cleared both assetcahce and ScriptEngines and it was fine after script recompile
[1:10 PM PT]  Cuga.Rajal @rajal.org:9000: weird, but at least have solution
[1:10 PM PT]  Ubit Umarov: not y
[1:10 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Only difference to timer is that it runs and checks "is it time yet", while sleep just suspends for x time, but even that should not cause issues with mesher
[1:10 PM PT]  Cuga.Rajal @rajal.org:9000: it only happens o like 10% of the child prims, not all
[1:10 PM PT]  Cuga.Rajal @rajal.org:9000: when I switch to timer() no segfaults at all
[1:11 PM PT]  Ubit Umarov: on x a full .net thread is put to sleep
[1:11 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Possible the difference is that you command 20 prims to go physical in such short amount of time with sleep being very accurate on small time scales
[1:11 PM PT]  Ubit Umarov: that means all its locks etc.. all there
[1:11 PM PT]  Cuga.Rajal @rajal.org:9000: yes, it is an extreme case, and sim lag is huge
[1:11 PM PT]  Ubit Umarov: but no idea
[1:11 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: That's more issue with physics going kaboom though, too much load at once
[1:11 PM PT]  Cuga.Rajal @rajal.org:9000: Its not a big deal... excapt to the Burning Man sim people who use that to simulate effigy burns
[1:12 PM PT]  Cuga.Rajal @rajal.org:9000: they will be excited to hear about the script fix :)
[1:12 PM PT]  Ubit Umarov: i did fix ver "suicidal" script :)
[1:12 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Grab some logs and maybe put the scripts in pastebin too for next week then we can have a closer look
[1:13 PM PT]  Cuga.Rajal @rajal.org:9000: I could post ot now or just in local chat the error message
[1:13 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Logs and reproduction steps always best medicine against bugs :)
[1:13 PM PT]  Gavin.Hird @grid.xmir.org:8002: :-)
[1:13 PM PT]  Ubit Umarov: use of collision event, instead of collision_start or end
[1:13 PM PT]  Ubit Umarov: ppl ignore that physics fires that at heartbeat rate
[1:13 PM PT]  Cuga.Rajal @rajal.org:9000: the scripts in this case are not using collision
[1:14 PM PT]  Gavin.Hird @grid.xmir.org:8002: neither was mine
[1:14 PM PT]  Jagga Meredith heard "logs", "fires", was looking around for firepit
[1:15 PM PT]  Ubit Umarov: well something that needs some "fun" debug then
[1:15 PM PT]  Cuga.Rajal @rajal.org:9000: The heartbeat goes down to 1 FPS for a bit and then goes back to normal :)
[1:15 PM PT]  Ubit Umarov: does it happen with ubode?
[1:15 PM PT]  Cuga.Rajal @rajal.org:9000: so that mnight be related
[1:15 PM PT]  Cuga.Rajal @rajal.org:9000: haven't tried
[1:15 PM PT]  Selby.Evans @grid.kitely.com:8002: Bye all
[1:15 PM PT]  Ubit Umarov: cya selby.Evans
[1:15 PM PT]  Andrew Hellershanks: Bye, Selby
[1:15 PM PT]  Cuga.Rajal @rajal.org:9000: anyhoo, I dont want to waste anhyones time here on that
[1:16 PM PT]  Cuga.Rajal @rajal.org:9000: but if anyoe is interested in deets PM me
[1:16 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Stuff like that best over IRC or on mantis, meeting isn't long enough for extensive crashtesting heh
[1:17 PM PT]  Cuga.Rajal @rajal.org:9000: yeah, I meant just to ask about the llSleep and timer :)
[1:18 PM PT]  Cuga.Rajal @rajal.org:9000: is timer() slightly more efficient than llSleep() in terms of allowing background events to process?
[1:18 PM PT]  Cuga.Rajal @rajal.org:9000: that could explain it
[1:19 PM PT]  Gavin.Hird @grid.xmir.org:8002: If I say PBR what say you Ubit?
[1:20 PM PT]  Jagga Meredith: is 20 timers a good idea in an already laggy region?
[1:20 PM PT]  Cuga.Rajal @rajal.org:9000: more like 200 timers
[1:20 PM PT]  Jagga Meredith: ewww
[1:20 PM PT]  Cuga.Rajal @rajal.org:9000: they do it in SL, so "should work in OS"
[1:20 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: sleep is: stop the presses, wait. timer is more like: are we there yet? are we there yet?
[1:20 PM PT]  Cuga.Rajal @rajal.org:9000: :)
[1:21 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: So it is a bit different in that timers drift more
[1:21 PM PT]  Cuga.Rajal @rajal.org:9000: accuracy is less important that blocking events or efficiency
[1:21 PM PT]  Cuga.Rajal @rajal.org:9000: in tyhis case
[1:22 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Well thinking being you are setting 20 prims physical at the same time and if that is within 100 milliseconds or just 1
[1:22 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: That makes a bigger difference on physics if you throw a lot more at it at once, technically
[1:22 PM PT]  Cuga.Rajal @rajal.org:9000: there is a config to set that , usually around 1/sec
[1:22 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: It's still worked through one by one so how that causes it to explode is still strange
[1:23 PM PT]  Cuga.Rajal @rajal.org:9000: but it region heartbeat goes to 1 FPS....
[1:23 PM PT]  Cuga.Rajal @rajal.org:9000: boom!
[1:23 PM PT]  Cuga.Rajal @rajal.org:9000: so admittedly it's an extreme case, perhaps not one to "fix"
[1:24 PM PT]  Andrew Hellershanks: If linking and unlinking is going on with scripts needing to act on the prims in the linkset that can lead to problems.
[1:24 PM PT]  Cuga.Rajal @rajal.org:9000: thats exactly whats happening
[1:24 PM PT]  Cuga.Rajal @rajal.org:9000: and works in SL
[1:25 PM PT]  Ubit Umarov: that "works in SL" means nothing :p
[1:25 PM PT]  Cuga.Rajal @rajal.org:9000: but now it seems fixed by using timer()
[1:25 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Try increasing the linkset size see if it starts blowing up with timers as well, it might
[1:25 PM PT]  Cuga.Rajal @rajal.org:9000: theres a saying, a physicist will try to fully understand a problem but not solve it; an engineer will solve the problem but not fully underastand it
[1:26 PM PT]  Lyr Lobo grins
[1:26 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: timers even over the course of a second can drift 1-5%, sleep might not
[1:26 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Then again just setting 20 prims to physical at once overloading things to the point of segfault is not a good look
[1:26 PM PT]  Cuga.Rajal @rajal.org:9000: true, tho in this case accuracy is not a big concern
[1:27 PM PT]  Cuga.Rajal @rajal.org:9000: what happens in the case of the segfaults is that the prims in world go "dead" and never fall
[1:27 PM PT]  Cuga.Rajal @rajal.org:9000: you can push then with your muse cursor they move but then go dead when you let go
[1:27 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: You said they unlink and then start a timer, then they set physical to true
[1:27 PM PT]  Cuga.Rajal @rajal.org:9000: correct
[1:28 PM PT]  Cuga.Rajal @rajal.org:9000: they get a link message from the root prim just before they are unlinked, so the llSpee() or timer() is already going when they are unkinked
[1:28 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: So the accuracy of when that physical call happens does matter, with timer it might happen a couple milliseconds apart, with sleep perhaps all at once
[1:29 PM PT]  Andrew Hellershanks: how does the script refer to the prim to be made physical after the (un)linking? By a number, or by LINK_THIS, or ...?
[1:29 PM PT]  Cuga.Rajal @rajal.org:9000: llSleep() or timer() already going in the cild prim, when unlinked, wait 1 sec, then go physical
[1:29 PM PT]  Cuga.Rajal @rajal.org:9000: the timer is started by the link message
[1:30 PM PT]  Cuga.Rajal @rajal.org:9000: the child prim script makes it physical and runs the timer, the root prim (before unlinking) sends link message
[1:31 PM PT]  Cuga.Rajal @rajal.org:9000: been doing this for 6 years in SL Havok, they want it to work in OS :) "fix it"
[1:31 PM PT]  Cuga.Rajal @rajal.org:9000: but yes, a little odd that timer() makes a difference
[1:32 PM PT]  Cuga.Rajal @rajal.org:9000: happy that it fixes it though.. Doesn't change the lag
[1:32 PM PT]  Jagga Meredith: whew
[1:32 PM PT]  Jamie.Jordan @grid.kitely.com:8002: have a great week yall I need to step away
[1:33 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: It might be the difference of setting physical within the same millisecond vs having a few between each call, timer isn't as accurate so might mask this, try larger linkset see if it eventually fails with timer too, in case they someone land on the same time
[1:33 PM PT]  Cuga.Rajal @rajal.org:9000: thats possible
[1:33 PM PT]  Cuga.Rajal @rajal.org:9000: I have text widgets I could rez if anyone wants to watch a Xmas tree burn down
[1:34 PM PT]  Cuga.Rajal @rajal.org:9000: test* widgets
[1:34 PM PT]  Andrew Hellershanks: Is the message to say "go physical" just a general message or does it include any link numbers?
[1:34 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Another idea might be to add a random "jitter of x milliseconds =/- to the timer to reduce the chances of any of the hitting
[1:35 PM PT]  Jagga Meredith: it would be in the child prim, right?
[1:35 PM PT]  Cuga.Rajal @rajal.org:9000: the root prims script sends a link message to the child prims, just a string that the child prim;s script looks for to start the timer
[1:35 PM PT]  Cuga.Rajal @rajal.org:9000: the root prim script unlinks the child prim right after that
[1:36 PM PT]  Cuga.Rajal @rajal.org:9000: thats so the whole linkset doesn;t have to be physical
[1:36 PM PT]  Cuga.Rajal @rajal.org:9000: the child prim script manages the switching to physical
[1:36 PM PT]  Cuga.Rajal @rajal.org:9000: visually it looks very realistic, with particles and all
[1:37 PM PT]  Jagga Meredith: why don't you do what did with the bowling pins.  leave everything separate rather than part of a linkset, then send a message.  you've already got listeners running
[1:38 PM PT]  Cuga.Rajal @rajal.org:9000: then no way to make them fall from top to bottom vissually
[1:38 PM PT]  Jagga Meredith: ah
[1:38 PM PT]  Cuga.Rajal @rajal.org:9000: we're talking about 5 linksets with 80 prims each
[1:38 PM PT]  Jagga Meredith: ouch
[1:38 PM PT]  Cuga.Rajal @rajal.org:9000: :)
[1:39 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Send the messages "serialized" so that only one gets the message at any given time. They could go physical immediately then
[1:39 PM PT]  Cuga.Rajal @rajal.org:9000: so that there are an ample number of prims in a pile that they can dance on :)
[1:39 PM PT]  Cuga.Rajal @rajal.org:9000: if they were separate objects from the start they would all have to have listeners
[1:40 PM PT]  Cuga.Rajal @rajal.org:9000: no listeners rewquired this way
[1:40 PM PT]  Cuga.Rajal @rajal.org:9000: on 400 prims
[1:40 PM PT]  Jagga Meredith: ah
[1:40 PM PT]  Gavin.Hird @grid.xmir.org:8002: I need to get going
[1:40 PM PT]  Cuga.Rajal @rajal.org:9000: even 200 listeners would be an issue
[1:41 PM PT]  Cuga.Rajal @rajal.org:9000: I should head out too.. unless people want to talk about that more :)
[1:41 PM PT]  Jagga Meredith: yup
[1:41 PM PT]  Cuga.Rajal @rajal.org:9000: come see one of the effigy burns, they are visually spectacular
[1:41 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Could probably simplify that a lot with some ossl, grab all the keys, then unlink and do osSetObjectParams or something like that, set it physical that way, no need for scripts in the objects themselves
[1:41 PM PT]  Cuga.Rajal @rajal.org:9000: and watch heartbeat go very slow...
[1:42 PM PT]  Gavin.Hird @grid.xmir.org:8002: cheers
[1:42 PM PT]  Cuga.Rajal @rajal.org:9000: oh true, rewrite with ossl might be more efficient
[1:42 PM PT]  Jagga Meredith: that's whay I did, sort of
[1:42 PM PT]  Cuga.Rajal @rajal.org:9000: they are trying to avoid 2 separate ubranches of code
[1:42 PM PT]  Jagga Meredith: setobjectparams runs fast
[1:43 PM PT]  Cuga.Rajal @rajal.org:9000: hmm I;ll suggest that
[1:43 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: works at SL in terms of physics and scripts is never a black and white thing, different setups and code on the backend
[1:43 PM PT]  Cuga.Rajal @rajal.org:9000: totally different, agree
[1:43 PM PT]  Cuga.Rajal @rajal.org:9000: the end users are not programers
[1:44 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: SL doesn't necessarily produce the best scripts
[1:44 PM PT]  Orbert.Tatham @hg.zetaworlds.com: lol
[1:44 PM PT]  Cuga.Rajal @rajal.org:9000: SL seems to have undocumented workarounds for unknown reasons
[1:44 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Needs some more testing, especially in ubode
[1:44 PM PT]  Cuga.Rajal @rajal.org:9000: and then people wonder why OS is different :)
[1:45 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Gotta run, folks
[1:45 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Put the scripts and reproduction steps somewhere on github gist or so
[1:45 PM PT]  Orbert.Tatham @hg.zetaworlds.com: Next week
[1:45 PM PT]  Cuga.Rajal @rajal.org:9000: me too.. thanks for looking at that issue :)
[1:45 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: pastebin the segfaults
[1:45 PM PT]  Cuga.Rajal @rajal.org:9000: one mom...
[1:45 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: So we can look at that
[1:46 PM PT]  Vincent.Sylvester @hg.zetaworlds.com: Probably best to handle over IRC, we already 45 minutes over
[1:46 PM PT]  Cuga.Rajal @rajal.org:9000: https://pastebin.com/Bex5hkXb
[1:46 PM PT]  Cuga.Rajal @rajal.org:9000: Yeah I should get going too
[1:47 PM PT]  Andrew Hellershanks: Cuga, Let us know how you get on with the scripts this week.
[1:48 PM PT]  Cuga.Rajal @rajal.org:9000: Well like I said I already switched to timer() and no more segfaults, so already "fixed", just trying to understand why
[1:48 PM PT]  Cuga.Rajal @rajal.org:9000: not super important
[1:48 PM PT]  Andrew Hellershanks: Save a copy of the error message you get. Make sure the number(s) used to reference the prims remains valid after the unlinking.
[1:48 PM PT]  Cuga.Rajal @rajal.org:9000: that pastebin has the console message which is spewed for each broken prim
[1:49 PM PT]  Cuga.Rajal @rajal.org:9000: OK , gotta go
[1:49 PM PT]  Cuga.Rajal @rajal.org:9000: take care everybody :)
[1:50 PM PT]  Lyr Lobo: take care
[1:50 PM PT]  Andrew Hellershanks: ok, Cuga.
[1:51 PM PT]  Andrew Hellershanks: Time to wrap up todays meeting. Thank you all for coming. See you again next week.
Personal tools
General
About This Wiki