These are chat archives for highfidelity/hifi

6th
Sep 2017
FluffyJenkins
@FluffyJenkins
Sep 06 2017 13:40
Any ideas what could cause a segmentation fault with the interface on Linux when you goto a domain?
Melissa Brown
@themelissabrown
Sep 06 2017 13:45
Let me see if Andrew knows. He's our Linux expert, I believe
FluffyJenkins
@FluffyJenkins
Sep 06 2017 13:46
It's nothing major, just for when people can answer
I was experimenting with getting interface to run on my chromebook whilst I'm on holiday. So don't rush anyone @themelissabrown
Christoph Haag
@ChristophHaag
Sep 06 2017 13:49
start it with gdb ./interface and do run and then backtrace when it segfaults, then you know
FluffyJenkins
@FluffyJenkins
Sep 06 2017 13:50
Ok, I'll try that
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:02
Aa
Damnit
Anyway
The error appears to be, terminate called after throwing an instance of 'std::bad_alloc'
Christoph Haag
@ChristophHaag
Sep 06 2017 14:07
more up the stack inside hifi is more interesting
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:07
Hmm?
Christoph Haag
@ChristophHaag
Sep 06 2017 14:10
in the gdb backtrace
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:11
I'm not very good at understanding this lot yet, would you be able to have a look if you're not busy?
Christoph Haag
@ChristophHaag
Sep 06 2017 14:12
hmm, i could almost make a pull request for openvr on linux, just getting the preferred audio devices doesn't work
sure
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:14
Christoph Haag
@ChristophHaag
Sep 06 2017 14:19
QVector<QByteArray>::reserve (this=0x7ffeffffd230,
    asize=1893297559)
well there's a problem
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:19
What does that mean? is that trying to reserve all those bytes in RAM?
Christoph Haag
@ChristophHaag
Sep 06 2017 14:23
it's trying to allocate memory for 1893297559 bytes I think and that fails
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:24
so I need more RAM basically?
Christoph Haag
@ChristophHaag
Sep 06 2017 14:25
that's almost surely a bogus value. seems to happen while trying to load some cached stuff
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:25
so... delete the cache and then try?
Christoph Haag
@ChristophHaag
Sep 06 2017 14:26
i'd try deleting all the locally cached files. ~/.local/share/High\ Fidelity or ~/.local/share/High\ Fidelity\ -\ dev/ and the same in ~/.cache/High\ Fidelity
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:26
ok, I'll try it again then
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:39
Well, I'm trying to try it again anyway
FluffyJenkins
@FluffyJenkins
Sep 06 2017 14:45
And it's crashed my chromebook twice now
Christoph Haag
@ChristophHaag
Sep 06 2017 15:03
turns out the "Cannot make QOpenGLContext current in a different thread" isn't linux specific, it's just something qt includes since 4.8 for some reason and the old behavior can be enabled with QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity);
then threaded submit works, but it is super slow and makes the steamvr compositor segfault after a couple of seconds
so better to let it disabled
FluffyJenkins
@FluffyJenkins
Sep 06 2017 15:04
No luck, however in the nongdb thing it says [HiFi.octree] UNEXPECTED: parsing of the octal code would make UNREASONABLY_DEEP_RECURSION... numberOfThreeBitSectionsInStream: 168 This buffer is corrupt. Returning.
Disable?
Also typing out errors take forever when you forget that gitter is on the web as well
Christoph Haag
@ChristophHaag
Sep 06 2017 15:06
it's just something i've been trying out, enabling vr support on linux https://github.com/ChristophHaag/hifi/commits/master
FluffyJenkins
@FluffyJenkins
Sep 06 2017 15:06
Oh
Yeah I can't try that out on my chromebook x3
I'm just trying to get interface to work out of boredom, it seems my issue only happens when I try to connect to a domain
Christoph Haag
@ChristophHaag
Sep 06 2017 15:08
"This buffer is corrupt." does sound like broken data somewhere
is that an x86 chromebook or arm?
FluffyJenkins
@FluffyJenkins
Sep 06 2017 15:10
I think x86
Oh hey gitter supports formatting, good to know
FluffyJenkins
@FluffyJenkins
Sep 06 2017 15:20
It's a Toshiba cb03 or something like that
Christoph Haag
@ChristophHaag
Sep 06 2017 15:45
probably x86. just an idea that it may be a processor architecture difference causing it, since the code seems to do some bit level magic
that reminds me, i could try high fidelity on my arm chromebook
FluffyJenkins
@FluffyJenkins
Sep 06 2017 16:52
Heh
It loads fine at dev-welcome but if I goto a normal domain it breaks
Cain Kilgore
@cain-kilgore
Sep 06 2017 19:30
Hey guys - having some issues right now trying to attach an Entity to a HMD Joint (LeftHand). Anybody tried this before? I'm trying to attach the HMD Tablet to the hand.
FluffyJenkins
@FluffyJenkins
Sep 06 2017 19:31
Overlay model or entity?
Cain Kilgore
@cain-kilgore
Sep 06 2017 19:32
In this case I'd need to do both, as the Tablet is both an Entity & Overlay
FluffyJenkins
@FluffyJenkins
Sep 06 2017 19:32
Cause the tablet attaches as an overlay model
I can attach stuff to the joint as an overlay with no issues
Cain Kilgore
@cain-kilgore
Sep 06 2017 19:34

https://s3-eu-west-1.amazonaws.com/cainkilgore-prod/files/3f2b44ac-474a-443c-acd5-74a88f68ec8f.png

There's a small snippet, ignore the _CONTROLLER_LEFTHAND, I've tried a few things

FluffyJenkins
@FluffyJenkins
Sep 06 2017 19:49
Apart from that it looks correct
Cain Kilgore
@cain-kilgore
Sep 06 2017 19:49
Yup - hence very confused
FluffyJenkins
@FluffyJenkins
Sep 06 2017 19:49
You do want "LeftHand" though
If you can wait a few I'll link a test script I have that puts
No hitter I didn't want to send that message yet
But yeah, a script that attaches a overlay model to left hand and can swap to right and no joint
(you're the one doing the worklist item for the tablet attached to the hand right?) @cain-kilgore
Cain Kilgore
@cain-kilgore
Sep 06 2017 19:52
Yup - been experimenting with it past while
    var tabletProperties = {
        name: "WebTablet Tablet",
        type: "Model",
        modelURL: modelURL,
        url: modelURL, // for overlay
        grabbable: true, // for overlay
        loadPriority: 10.0, // for overlay
        userData: JSON.stringify({
            "grabbableKey": {"grabbable": true}
        }),
        dimensions: this.getDimensions(),
        parentID: AVATAR_SELF_ID,
        parentJointIndex: MyAvatar.getJointIndex("LeftHand"),
        visible: visible
    };
Just changed it to that, same result.
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:01
I saw the thing on the worklist and tried it with a random model and it worked
That should work
Not at PC to test
It's currently set for entities
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:09
@FluffyJenkins It spawns at the Left Hand but it doesn't "attach" to it, it doesn't follow
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:10
Wait what
It did...
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:10
In HMD?
I definitely see it spawning at the left hand no problem, when I walk around or move the hand it just sits there, doesn't move
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:11
I.... I think I actually forgot to check in VR mode...
But I attach stuff to the lefthand bone in VR with other stuff
But that's using overlay model
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:12
Even in Desktop Mode, 3rd Person - It spawns in at the Left Hand but again doesn't follow
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:13
The hell... Are you on the release build?
I can test in an hour
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:14
I'm on a relatively new build.. I'll try updating and see if it solves it
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:15
It might be broken in your build?
Get the latest release from the HiFi sitw
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:15
I'll cry if it is.. I've been running this for ages trying to figure out why the hell it's not working hahaha
7071 is latest rn
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:15
Mhmm
But you can compile like 7089 or something
But yeah 7071
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:19
@FluffyJenkins: Just V should be more than enough to attach it right, according to your script?
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:20
Errr think so
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:21
Yep
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:21
Not attaching, latest
FluffyJenkins
@FluffyJenkins
Sep 06 2017 20:21
That's... Weird
Gimme about 50 minutes, going home from pub, will check then
Cain Kilgore
@cain-kilgore
Sep 06 2017 20:21
Cool, cheers
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:28
right, @cain-kilgore I've done a bit of a test and it seems that for me as well entities don't want to parent. but overlays will do so, I've uploaded a new scrpit under the same url so if you want to try that one it will work for a model overlay
v to create, z for lefthand x for righthand and c to unparent
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:29
Alright - I'll give it a go, sec
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:29
No worries
Melissa Brown
@themelissabrown
Sep 06 2017 21:30
@FluffyJenkins thanks for jumping in on this. Really appreciate the help
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:32
truth be told, I saw the worklist item and thought "I could probably do this" experimented for a bit and then was satisfied with what I ended up with knowing I could use the knowledge for something else in the future
Melissa Brown
@themelissabrown
Sep 06 2017 21:33
@cain-kilgore from a different convo in house: "strictly speaking avatar-entities can be attached to hand joints, it's just that the grab script decides to unhook them."
sounds like it's attaching but grab script releases it
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:33
interesting
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:33
Grab script bug maybe?
Melissa Brown
@themelissabrown
Sep 06 2017 21:34
intentional I think
but not necessarily something we need to keep
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:34
so by that logic, if we disable default scripts (which should disable the grab script) we can test it
Melissa Brown
@themelissabrown
Sep 06 2017 21:34
it's being discussed now
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:34
WebTablet will need to be loaded manually
I'll try that, sec
Melissa Brown
@themelissabrown
Sep 06 2017 21:34
However, you said the forearm joint attachment didn't stay attached either?
Sounds like @FluffyJenkins has the best solution thus far
@FluffyJenkins theoretically, yes. disabling default should allow testing. However, I think it was not working properly on other joints as well so my input may be a red herring
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:35
The tablet isn't an overlay though, is it?
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:35
it is
its a model overlay with a web3d overlay parented to it
*citation needed
but thats what it looked like in the webtablet scripts
otherwise other people would be able to see it
Melissa Brown
@themelissabrown
Sep 06 2017 21:37
@FluffyJenkins I believe that's correct. let me check
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:37
Yeah he's right looking at it now.. it still doesn't explain though as to why the Tablet itself isn't mounting
Melissa Brown
@themelissabrown
Sep 06 2017 21:38
then the next question is can overlays be attached to joints?
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:38
yes
If you are in hifi right now, try out this script http://fluffy.ws/HighFid/AttachTest.js
press v to attach model overlay, z to parent to lefthand x to righthand c to unparent,. b to remove
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:40
@themelissabrown: LeftArm or LeftForeArm?
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:41
@themelissabrown you are correct about the grab script
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:44
    var tabletProperties = {
        name: "WebTablet Tablet",
        type: "Model",
        modelURL: modelURL,
        url: modelURL, // for overlay
        grabbable: false, // for overlay
        loadPriority: 10.0, // for overlay
        userData: JSON.stringify({
            "grabbableKey": {"grabbable": true}
        }),
        dimensions: this.getDimensions(),
        parentID: MyAvatar.sessionUUID,
        parentJointIndex: MyAvatar.getJointIndex("LeftForeArm"),
        visible: visible
    };
This is what I have in right now, with no results. It's popping up in the same place as it usually does.
FluffyJenkins
@FluffyJenkins
Sep 06 2017 21:45
so if you run http://fluffy.ws/HighFid/AttachTest_Entity.js with default scripts removed, it will attach
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:54
Oh wait a minute here.. I think I just found something out. The tablet already has a parentJointIndex which is set to SENSOR_TO_ROOM_MATRIX in HMD, which is defined to -2
So it's getting overridden later on in the script.
Melissa Brown
@themelissabrown
Sep 06 2017 21:55
Is it possible to make that a toggle like the spot where we allow a user to choose HUD vs tablet?
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:56
To attach it to the arm and not the world?
Melissa Brown
@themelissabrown
Sep 06 2017 21:57
correct. A player could choose
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:57
Yeah it's possible
Melissa Brown
@themelissabrown
Sep 06 2017 21:57
not sure if that's possible at the moment with how our code is set up now
cool
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:57
I'd have to create a new function probably in the C code to get the setting
Right now though I gotta experiment with positioning because if you aim your hand right you can close the tablet just by turning slightly
Melissa Brown
@themelissabrown
Sep 06 2017 21:58
changing function in the C code will need to be run past internal devs
Cain Kilgore
@cain-kilgore
Sep 06 2017 21:58
Oh I know - it'll be part of the PR
@Melissa: Would it be worth making use of the Dominant Hand setting to choose which Arm to lock it to?
Melissa Brown
@themelissabrown
Sep 06 2017 22:04
or would a user want it on the opposite of dominant hand
I would want to hold in non-dominant
Cain Kilgore
@cain-kilgore
Sep 06 2017 22:04
Right, that's what I mean. if(dominantHand == right) attachToLeft
kinda thing
FluffyJenkins
@FluffyJenkins
Sep 06 2017 22:06
what about if you press the right hand menu button the tablet is on left and if left menu tablet on right? or owuld that be confusing for users?
Thats if you want my input
Cain Kilgore
@cain-kilgore
Sep 06 2017 22:07
Mm, you could
Cain Kilgore
@cain-kilgore
Sep 06 2017 22:16
I don't think mounting it to the Arm is the best idea. Playing with it now it seems really awkward.
Maybe to the hand, but not the arm, as you've got more rotation control
FluffyJenkins
@FluffyJenkins
Sep 06 2017 22:17
only prob with hand, is that some avatars have hands that are big and long
Cain Kilgore
@cain-kilgore
Sep 06 2017 22:17
You can change the xyz to bring the tablet closer to you to solve that
FluffyJenkins
@FluffyJenkins
Sep 06 2017 22:17
but as mellisasdajsfhdas said if its on a toggle from atatched to hand and floating, it should be fine
true
Cain Kilgore
@cain-kilgore
Sep 06 2017 22:17
@themelissabrown : Thoughts?
Melissa Brown
@themelissabrown
Sep 06 2017 23:45
I think the only way we can implment attach to hand is if it's on a toggle
because some users will hate it