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 at some point it would be nice to know OS runs on a more recent version of dotnet
[12:10 PM PT]  Cuga.Rajal 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 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 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
[12:12 PM PT]  Gavin.Hird 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 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 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 the pother doesnt come up either
[12:16 PM PT]  Lyr Lobo:
[12:16 PM PT]  Vincent.Sylvester llObjectGetLinkKey
[12:16 PM PT]  Cuga.Rajal 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 yeah, they seem to always put Get or Set first
[12:17 PM PT]  Vincent.Sylvester 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 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 Hey, Andrew
[12:21 PM PT]  Lyr Lobo: Hello Andrew
[12:21 PM PT]  Cuga.Rajal Hi Andrew, we thought you might be snowed in
[12:22 PM PT]  Gavin.Hird 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 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 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 :-)
[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 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 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 does dotnet6 run on linux?
[12:32 PM PT]  Cuga.Rajal 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 I installeds it on Ubuntu and runs fine too
[12:32 PM PT]  Gavin.Hird 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 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 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 You don't need to Gavin on macOS
[12:34 PM PT]  Cuga.Rajal just download dotnet6, for arm64, doesnt require MS lofin oe VS
[12:34 PM PT]  Gavin.Hird so the compiled verion just runs without VS - is that what you say?
[12:34 PM PT]  Cuga.Rajal let me check which download I used.. one moment
[12:34 PM PT]  Gavin.Hird thx
[12:35 PM PT]  Ubit Umarov: yeap need to get libggdiplus ( or have mono 6 also there )
[12:35 PM PT]  Cuga.Rajal
[12:35 PM PT]  Cuga.Rajal 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 on Ubuntu I used the Synaptic Package manager
[12:35 PM PT]  Gavin.Hird bookmarked - will check that
[12:36 PM PT]  Cuga.Rajal 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 Cuga installed libgdiplus vi homebrew, and I installed it using macports
[12:36 PM PT]  Gavin.Hird so that seems to work fine too
[12:36 PM PT]  Cuga.Rajal I've been carptuing all my steps on my Gothub page for apple silicon
[12:37 PM PT]  Cuga.Rajal Github*
[12:37 PM PT]  Gavin.Hird I have tested it on macOS on Intel in addition
[12:37 PM PT]  Gavin.Hird both M1 and M2   Intel processors
[12:37 PM PT]  Cuga.Rajal 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 which I build on apple silicon
[12:38 PM PT]  Gavin.Hird nice
[12:38 PM PT]  Gavin.Hird I build the Intel viewer on Apple Silicon
[12:38 PM PT]  Cuga.Rajal Intel viewer?
[12:39 PM PT]  Cuga.Rajal a new OS client? :)
[12:39 PM PT]  Gavin.Hird my viewer is just Intel so it runs on Rosetta2 on AS
[12:39 PM PT]  Gavin.Hird the windows version is of course Intel
[12:39 PM PT]  Cuga.Rajal whoever manages to make a native silicon viewer could make a mint
[12:40 PM PT]  Gavin.Hird that is a huge undertaking
[12:40 PM PT]  Cuga.Rajal but is prolly 2 people-years of work
[12:40 PM PT]  Gavin.Hird 10 manyears
[12:40 PM PT]  Cuga.Rajal or 5 womenyears LOL
[12:40 PM PT]  Gavin.Hird :-))
[12:40 PM PT]  Ubit Umarov: in opensim case,  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 (, 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 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 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 check the console logs to see if they show why
[12:44 PM PT]  Jagga Meredith: k
[12:44 PM PT]  Cuga.Rajal 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
[12:46 PM PT]  Jagga Meredith:
[12:46 PM PT]  Vincent.Sylvester 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 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 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 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 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 Ive seen that issue before!
[12:52 PM PT]  Jagga Meredith: ok  makes sense
[12:52 PM PT]  Cuga.Rajal 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 if you use 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 but I have my internal DNS which you most likely don't have
[12:53 PM PT]  Vincent.Sylvester 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 OpenSim meanwhile "where my acircuit at"
[12:53 PM PT]  Jagga Meredith: yup
[12:53 PM PT]  Cuga.Rajal some router hw not OS compatible
[12:53 PM PT]  Cuga.Rajal 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 On my LAN setup, internal addresses won't connect from the client. I have to use external hostname
[12:55 PM PT]  Cuga.Rajal packets go out and in again
[12:55 PM PT]  Cuga.Rajal not sure if that is related to your issue
[12:55 PM PT]  Gavin.Hird 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 so when the ini records are set up to use say, 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 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 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 Sticks up a hand
[12:59 PM PT]  Jagga Meredith: vps?
[12:59 PM PT]  Orbert.Tatham That would be me
[12:59 PM PT]  Vincent.Sylvester 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 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 I have a quick question on llSleep()
[1:01 PM PT]  Cuga.Rajal is that event blocking still?
[1:01 PM PT]  Andrew Hellershanks: Go ahead, Cuga
[1:01 PM PT]  Cuga.Rajal I ran into a situation where llSleep caused Bullet mesher to segfualt
[1:02 PM PT]  Cuga.Rajal switching to timer() fixed
[1:02 PM PT]  Andrew Hellershanks: Cuga, which scripting engine are you using?
[1:02 PM PT]  Cuga.Rajal Yengine
[1:02 PM PT]  Vincent.Sylvester In YEngine it just makes that script sleep like it should
[1:02 PM PT]  Vincent.Sylvester Normally has nothing to do with the mesher
[1:02 PM PT]  Cuga.Rajal thats why I was asking
[1:02 PM PT]  Vincent.Sylvester What were you doing when that crash happened? Anything with vehicles? mesh?
[1:03 PM PT]  Cuga.Rajal so sopmething weird there
[1:03 PM PT]  Cuga.Rajal 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 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 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 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 thats what I thought
[1:04 PM PT]  Gavin.Hird seem my response above Cuga
[1:04 PM PT]  Cuga.Rajal 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 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 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 root prim send a link message to child prim just before unlinking
[1:05 PM PT]  Cuga.Rajal script in child prim starts llSpeep() for 1 second, during which the prim is unlinked
[1:05 PM PT]  Cuga.Rajal then after the 1 second sleep the scvtipt turns it physical
[1:06 PM PT]  Gavin.Hird Cuga you are just droning on. Read back ;-)
[1:06 PM PT]  Cuga.Rajal the mesher hasn't meshed it, and that cause segfault
[1:06 PM PT]  Cuga.Rajal but not every time
[1:06 PM PT]  Ubit Umarov: that bulllet seg fault maybe other thing
[1:06 PM PT]  Cuga.Rajal only when doing it rapid fire
[1:06 PM PT]  Cuga.Rajal yes, prolly bullet related
[1:06 PM PT]  Cuga.Rajal Misterblue doesn;t like to fix extreme cases :)
[1:07 PM PT]  Cuga.Rajal Gavin I never upgraded dotnet 6 s not applicable
[1:07 PM PT]  Cuga.Rajal but thankds for suggestion
[1:07 PM PT]  Gavin.Hird did you upgrade macOS?
[1:08 PM PT]  Cuga.Rajal I can reproduce it on Linux, on a dufferent gris even
[1:08 PM PT]  Gavin.Hird allright
[1:08 PM PT]  Cuga.Rajal not Mac specific
[1:08 PM PT]  Cuga.Rajal likely Bullet issue
[1:08 PM PT]  Cuga.Rajal and script related
[1:08 PM PT]  Cuga.Rajal thats why I was asking about llSleep() and timer()
[1:09 PM PT]  Cuga.Rajal no idea why switching those makes difference
[1:09 PM PT]  Ubit Umarov: should not
[1:09 PM PT]  Cuga.Rajal but if it fixes it, no need to fully understand :)
[1:09 PM PT]  Gavin.Hird 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 I have 2 objects, identical except that part of script
[1:10 PM PT]  Cuga.Rajal can reproduce
[1:10 PM PT]  Ubit Umarov: well it could with xengine
[1:10 PM PT]  Gavin.Hird cleared both assetcahce and ScriptEngines and it was fine after script recompile
[1:10 PM PT]  Cuga.Rajal weird, but at least have solution
[1:10 PM PT]  Ubit Umarov: not y
[1:10 PM PT]  Vincent.Sylvester 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 it only happens o like 10% of the child prims, not all
[1:10 PM PT]  Cuga.Rajal 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 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 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 That's more issue with physics going kaboom though, too much load at once
[1:11 PM PT]  Cuga.Rajal 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 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 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 I could post ot now or just in local chat the error message
[1:13 PM PT]  Vincent.Sylvester Logs and reproduction steps always best medicine against bugs :)
[1:13 PM PT]  Gavin.Hird :-)
[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 the scripts in this case are not using collision
[1:14 PM PT]  Gavin.Hird 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 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 so that mnight be related
[1:15 PM PT]  Cuga.Rajal haven't tried
[1:15 PM PT]  Selby.Evans 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 anyhoo, I dont want to waste anhyones time here on that
[1:16 PM PT]  Cuga.Rajal but if anyoe is interested in deets PM me
[1:16 PM PT]  Vincent.Sylvester Stuff like that best over IRC or on mantis, meeting isn't long enough for extensive crashtesting heh
[1:17 PM PT]  Cuga.Rajal yeah, I meant just to ask about the llSleep and timer :)
[1:18 PM PT]  Cuga.Rajal is timer() slightly more efficient than llSleep() in terms of allowing background events to process?
[1:18 PM PT]  Cuga.Rajal that could explain it
[1:19 PM PT]  Gavin.Hird 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 more like 200 timers
[1:20 PM PT]  Jagga Meredith: ewww
[1:20 PM PT]  Cuga.Rajal they do it in SL, so "should work in OS"
[1:20 PM PT]  Vincent.Sylvester sleep is: stop the presses, wait. timer is more like: are we there yet? are we there yet?
[1:20 PM PT]  Cuga.Rajal :)
[1:21 PM PT]  Vincent.Sylvester So it is a bit different in that timers drift more
[1:21 PM PT]  Cuga.Rajal accuracy is less important that blocking events or efficiency
[1:21 PM PT]  Cuga.Rajal in tyhis case
[1:22 PM PT]  Vincent.Sylvester 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 That makes a bigger difference on physics if you throw a lot more at it at once, technically
[1:22 PM PT]  Cuga.Rajal there is a config to set that , usually around 1/sec
[1:22 PM PT]  Vincent.Sylvester It's still worked through one by one so how that causes it to explode is still strange
[1:23 PM PT]  Cuga.Rajal but it region heartbeat goes to 1 FPS....
[1:23 PM PT]  Cuga.Rajal boom!
[1:23 PM PT]  Cuga.Rajal 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 thats exactly whats happening
[1:24 PM PT]  Cuga.Rajal and works in SL
[1:25 PM PT]  Ubit Umarov: that "works in SL" means nothing :p
[1:25 PM PT]  Cuga.Rajal but now it seems fixed by using timer()
[1:25 PM PT]  Vincent.Sylvester Try increasing the linkset size see if it starts blowing up with timers as well, it might
[1:25 PM PT]  Cuga.Rajal 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 timers even over the course of a second can drift 1-5%, sleep might not
[1:26 PM PT]  Vincent.Sylvester 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 true, tho in this case accuracy is not a big concern
[1:27 PM PT]  Cuga.Rajal 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 you can push then with your muse cursor they move but then go dead when you let go
[1:27 PM PT]  Vincent.Sylvester You said they unlink and then start a timer, then they set physical to true
[1:27 PM PT]  Cuga.Rajal correct
[1:28 PM PT]  Cuga.Rajal 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 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 llSleep() or timer() already going in the cild prim, when unlinked, wait 1 sec, then go physical
[1:29 PM PT]  Cuga.Rajal the timer is started by the link message
[1:30 PM PT]  Cuga.Rajal 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 been doing this for 6 years in SL Havok, they want it to work in OS :) "fix it"
[1:31 PM PT]  Cuga.Rajal but yes, a little odd that timer() makes a difference
[1:32 PM PT]  Cuga.Rajal happy that it fixes it though.. Doesn't change the lag
[1:32 PM PT]  Jagga Meredith: whew
[1:32 PM PT]  Jamie.Jordan have a great week yall I need to step away
[1:33 PM PT]  Vincent.Sylvester 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 thats possible
[1:33 PM PT]  Cuga.Rajal I have text widgets I could rez if anyone wants to watch a Xmas tree burn down
[1:34 PM PT]  Cuga.Rajal 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 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 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 the root prim script unlinks the child prim right after that
[1:36 PM PT]  Cuga.Rajal thats so the whole linkset doesn;t have to be physical
[1:36 PM PT]  Cuga.Rajal the child prim script manages the switching to physical
[1:36 PM PT]  Cuga.Rajal 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 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 we're talking about 5 linksets with 80 prims each
[1:38 PM PT]  Jagga Meredith: ouch
[1:38 PM PT]  Cuga.Rajal :)
[1:39 PM PT]  Orbert.Tatham 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 so that there are an ample number of prims in a pile that they can dance on :)
[1:39 PM PT]  Cuga.Rajal if they were separate objects from the start they would all have to have listeners
[1:40 PM PT]  Cuga.Rajal no listeners rewquired this way
[1:40 PM PT]  Cuga.Rajal on 400 prims
[1:40 PM PT]  Jagga Meredith: ah
[1:40 PM PT]  Gavin.Hird I need to get going
[1:40 PM PT]  Cuga.Rajal even 200 listeners would be an issue
[1:41 PM PT]  Cuga.Rajal 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 come see one of the effigy burns, they are visually spectacular
[1:41 PM PT]  Vincent.Sylvester 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 and watch heartbeat go very slow...
[1:42 PM PT]  Gavin.Hird cheers
[1:42 PM PT]  Cuga.Rajal 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 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 hmm I;ll suggest that
[1:43 PM PT]  Vincent.Sylvester 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 totally different, agree
[1:43 PM PT]  Cuga.Rajal the end users are not programers
[1:44 PM PT]  Vincent.Sylvester SL doesn't necessarily produce the best scripts
[1:44 PM PT]  Orbert.Tatham lol
[1:44 PM PT]  Cuga.Rajal SL seems to have undocumented workarounds for unknown reasons
[1:44 PM PT]  Vincent.Sylvester Needs some more testing, especially in ubode
[1:44 PM PT]  Cuga.Rajal and then people wonder why OS is different :)
[1:45 PM PT]  Orbert.Tatham Gotta run, folks
[1:45 PM PT]  Vincent.Sylvester Put the scripts and reproduction steps somewhere on github gist or so
[1:45 PM PT]  Orbert.Tatham Next week
[1:45 PM PT]  Cuga.Rajal me too.. thanks for looking at that issue :)
[1:45 PM PT]  Vincent.Sylvester pastebin the segfaults
[1:45 PM PT]  Cuga.Rajal one mom...
[1:45 PM PT]  Vincent.Sylvester So we can look at that
[1:46 PM PT]  Vincent.Sylvester Probably best to handle over IRC, we already 45 minutes over
[1:46 PM PT]  Cuga.Rajal
[1:46 PM PT]  Cuga.Rajal 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 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 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 that pastebin has the console message which is spewed for each broken prim
[1:49 PM PT]  Cuga.Rajal OK , gotta go
[1:49 PM PT]  Cuga.Rajal 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
About This Wiki