drbobbeaty has joined #jruby
tenderlove has quit [Remote host closed the connection]
nicksieger has joined #jruby
nicksieger has quit [Remote host closed the connection]
nicksieger has joined #jruby
nicksieger has quit [Remote host closed the connection]
clayton has quit [Max SendQ exceeded]
clayton has joined #jruby
nicksieger has joined #jruby
nicksieger has quit [Remote host closed the connection]
thedarkone2 has quit [Quit: thedarkone2]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
prasunanand has joined #jruby
pawnbox has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
enebo has joined #jruby
enebo has quit [Quit: enebo]
temporalfox has joined #jruby
nowhereFast has joined #jruby
enebo has joined #jruby
enebo has quit [Quit: enebo]
nowhereFast has quit [Ping timeout: 252 seconds]
temporalfox has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
claudiuinberlin has joined #jruby
PaulePanter has quit [Ping timeout: 276 seconds]
<travis-ci> kares/jruby (test-jit-naming:95d93b0 by kares): The build passed. (https://travis-ci.org/kares/jruby/builds/158655847)
vtunka has joined #jruby
enebo has joined #jruby
enebo has quit [Client Quit]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
nowhereFast has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<etehtsea> ls
<etehtsea> oops
pawnbox has quit [Ping timeout: 265 seconds]
pawnbox has joined #jruby
blaxter has joined #jruby
blaxter has quit [Client Quit]
raeoks has joined #jruby
kith has quit [Quit: kith]
shellac has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Read error: Connection reset by peer]
pawnbox_ has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
bbrowning_away is now known as bbrowning
bbrowning_ has joined #jruby
bbrowning has quit [Ping timeout: 244 seconds]
bbrowning_ is now known as bbrowning
claudiuinberlin has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<chrisseaton> Why is JFFI's memory so complicated? allocate, allocateDirect, allocateTemporary, transient memory, bounded memory, direct memory, what is all of this?
tomjoro has joined #jruby
<chrisseaton> MemoryIO, Foreign, the abstractions go on forever
blaxter has joined #jruby
blaxter has quit [Client Quit]
claudiuinberlin has joined #jruby
pawnbox has quit [Remote host closed the connection]
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
blaxter has joined #jruby
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
tomjoro has quit []
cremes has joined #jruby
raeoks has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
johnsonch_afk is now known as johnsonch
raeoks has joined #jruby
raeoks has quit [Client Quit]
raeoks has joined #jruby
raeoks has quit [Client Quit]
pawnbox has quit [Remote host closed the connection]
cremes has quit [Quit: cremes]
cremes has joined #jruby
vtunka has quit [Quit: Leaving]
cremes has quit [Client Quit]
nicksieger has joined #jruby
prasunanand has quit [Remote host closed the connection]
pawnbox has joined #jruby
cremes has joined #jruby
pawnbox has quit [Ping timeout: 255 seconds]
pawnbox has joined #jruby
thedarkone2 has joined #jruby
<GitHub15> [jruby] shahkia opened issue #4143: DRB Exception in thread Ruby-0-Thread-1 multiple connections https://git.io/viBIB
pawnbox has quit [Ping timeout: 265 seconds]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
bbrowning is now known as bbrowning_away
raeoks has joined #jruby
temporalfox has joined #jruby
raeoks has quit [Quit: Textual IRC Client: www.textualapp.com]
nowhereFast has quit [Ping timeout: 244 seconds]
<headius> wow, some channel must have gone ape because I just had to kill colloquy
<headius> it used up all my memory trying to pull backlog from overnight
<headius> also hi
<chrisseaton> What do you think of the JFFI memory abstractions?
<chrisseaton> I just want a malloc, and a read and write
blandflakes has joined #jruby
nowhereFast has joined #jruby
nowhereFast has quit [Remote host closed the connection]
bbrowning_away is now known as bbrowning
nicksieger has quit [Remote host closed the connection]
shellac has quit [Quit: Leaving]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
nicksieger has joined #jruby
claudiuinberlin has quit []
blaxter has quit [Quit: foo]
johnsonch is now known as johnsonch_afk
lanceball is now known as lance|afk
rcvalle has joined #jruby
<bascule> _____ ____ ___ ____ _ __ ___ _ _
<bascule> | ___| _ \|_ _| _ \ / \\ \ / / | | |
<bascule> | |_ | |_) || || | | |/ _ \\ V /| | | |
<bascule> | _| | _ < | || |_| / ___ \| | |_|_|_|
<bascule> |_| |_| \_\___|____/_/ \_\_| (_|_|_)
<bascule>
claudiuinberlin has joined #jruby
temporalfox has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lance|afk is now known as lanceball
<GitHub197> [jruby] chrisseaton pushed 4 new commits to truffle-head: https://git.io/viBMh
<GitHub197> jruby/truffle-head 69ce166 Chris Seaton: [Truffle] Add a new native memory manager, as the rest are so complicated....
<GitHub197> jruby/truffle-head fb8ebff Chris Seaton: [Truffle] Fix rb_str_new_nul
<GitHub197> jruby/truffle-head 58e79d5 Chris Seaton: [Truffle] Add a native rope node.
dinfuehr_ has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
pawnbox_ has quit [Ping timeout: 244 seconds]
pawnbox has joined #jruby
<travis-ci> jruby/jruby (truffle-head:c30e0ec by Chris Seaton): The build has errored. (https://travis-ci.org/jruby/jruby/builds/158808329)
pawnbox has quit [Ping timeout: 255 seconds]
pawnbox has joined #jruby
blandflakes has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
blandflakes has joined #jruby
blandflakes has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
johnsonch_afk is now known as johnsonch
dinfuehr_ has quit [Remote host closed the connection]
dinfuehr_ has joined #jruby
<GitHub32> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viBAx
<GitHub32> jruby/truffle-head cc4c7fe Chris Seaton: Merge branch 'master' into truffle-head
temporalfox has joined #jruby
dinfuehr_ has quit [Ping timeout: 250 seconds]
lanceball is now known as lance|afk
kith has joined #jruby
<GitHub34> [jruby] chrisseaton pushed 2 new commits to truffle-head: https://git.io/viBhP
<GitHub34> jruby/truffle-head cd4ed81 Chris Seaton: [Truffle] Update GraalVM.
<GitHub34> jruby/truffle-head 326b76d Chris Seaton: [Truffle] Update Truffle to 0.17 and remove IOExceptions
<GitHub24> [jruby] chrisseaton pushed 1 new commit to master: https://git.io/viBjG
<GitHub24> jruby/master 990319d Chris Seaton: Merge branch 'truffle-head'
<travis-ci> jruby/jruby (truffle-head:cc4c7fe by Chris Seaton): The build passed. (https://travis-ci.org/jruby/jruby/builds/158831344)
<headius> chrisseaton: hey, has there been any discussion about security for truffle langs?
<chrisseaton> We have experiments with isolation and time boxing, but nothing very concrete
<chrisseaton> What kind of security do you mean?
<headius> I was thinking more along the lines of native exploits
<chrisseaton> Well Truffle by itself is totally harmless - you mean using the Graal APIs
<headius> the kind of things Java security managers are there to prevent
<chrisseaton> At the moment, it's the same story as Unsafe
pawnbox has quit [Remote host closed the connection]
<headius> ok, kinda what I figured
pawnbox has joined #jruby
<chrisseaton> You can run JR+T with a no-native flag, and it works for basic things
<headius> yeah, that's the main reason we've always tried to implement non-native logic for everything
<headius> both for wider platform support and because security
pawnbox has quit [Remote host closed the connection]
<chrisseaton> I just did a big merge of Truffle into master - let me know if things go weird
<chrisseaton> New Graal is on OTN today
<headius> 0.16?
<chrisseaton> Yeah
<headius> that should at least have our missing intrinsics then
<headius> I haven't had a chance to circle back to the PEA issue
lance|afk is now known as lanceball
<chrisseaton> If I have a tag on a commit in git, but delete the branch, is the commit still accessible?
<headius> chrisseaton: dunno if you have any say in this but it would be nice if the Graal packages included an OS X package
<chrisseaton> They do don't they?
<headius> I have to manually fiddle around with JavaVirtualMachines every time
<headius> it's just a tarball
<chrisseaton> "GraalVM preview for Mac OS X (v0.16), Development Kit"
<chrisseaton> Oh, a PKG
<headius> all the other openjdk downloads provide a pkg
<headius> yeah
<chrisseaton> Ha! I've been trying to get a tar.gz instead of a pkg
<headius> heheh
<chrisseaton> Why do you want a pkg? It just installs it to some random place, what's good about that?
<headius> it installs where all the other JDKs are installed
<headius> which is also the location where my jdk switcher script looks for it
<chrisseaton> Ok, I'll look into how that pkg is produced
<chrisseaton> I was so happy when I found an internal Oracle site with Mac JDKs as a binary tarball
<headius> it's a standard place on OS X, /Library/JavaVirtualMachines
<headius> it's just a target in the build
<chrisseaton> Do you want the Ask toolbar while I'm at it?
<headius> (I'm pretty sure...I know there's at least a target for building OS X dir structure, and that's not being used either)
<headius> Contents/Etc stuff
<headius> I have to manufacture all that manually to get graal into the blessed jdk location
<headius> FWIW, all the other previews I know of publish the pkg too
<GitHub66> [jruby] chrisseaton tagged graal-vm-0.16 at d9da515: https://git.io/viRey
<headius> it would also be considerably more convenient for OS X users that want to try JT ;-)
<headius> chrisseaton: just saw your thing about JFFI memory abstractions
<headius> is there something wrong with just using malloc and free from jnr-posix? If they're not there it would be trivial to add them
<chrisseaton> I've done my own NativePointer class that could use them yeah
blandflakes has joined #jruby
<headius> it would at least get you out of Unsafe for that part
<chrisseaton> I just don't get why the JFFI stuff is so complex? Is there some use case I'm missing
<headius> which stuff exactly? are you referring to jnr-ffi MemoryPointer etc?
<chrisseaton> Unsafe is an intrinsic isn't it? Going through FFI to call malloc seems a bit much
<chrisseaton> The allocation things - you can allocate, allocate direct, allocate transient, and there are magazines, and deallocation pools, etc etc
<headius> I don't know of Unsafe alloc/free are intrinsic or not, but it would make sense
<headius> yeah I don't know about that stuff...wmeissner was a dark wizard when it came to native integration, so I assume he had his reasons
blandflakes has quit [Client Quit]
pawnbox has joined #jruby
<headius> it would be worth comparing FFI free/malloc fo Unsafe allocate/free
<chrisseaton> We use native malloc from clib in Sulong, but we call it via GNFI not JNI, and in that case it is 2x over Unsafe.alloc
<chrisseaton> Unsafe.alloc does a couple of extra branches and it made the difference
<headius> jffi has been faster than hand-written jni for some cases
<headius> not 2x though
<headius> wht's GNFI?
cremes has quit [Quit: cremes]
<chrisseaton> The Graal Native Function Interface
<chrisseaton> Just called nfi in some cases I think
<chrisseaton> It's an NFI that Graal knows about and optimises for
<chrisseaton> Doesn't go through JNI
<chrisseaton> (everything else - JNA, JNR, etc goes through JNI doesn't it?)
<headius> ahh, so like what Panama will do for Hotspot
<headius> yes, they all go through JNI, but how you go through JNI makes a big difference
<headius> for something like malloc with only primitives in and out jffi will generate a tiny JNI stub that just does the native call and returns the pointer...so there's JNI overhead but in at least a couple cases I've seen it was better than a C impl of that jni endpoint
pawnbox has quit [Ping timeout: 264 seconds]
<headius> I imagine NFI is not capturing errno...that's optional in jffi but nice to have
<headius> jnr-ffi rather
<headius> so if you did a blocking call through NFI you could hang the whole JVM I suppose, eh?
<headius> GNFI
<headius> we could also do a little work to make jffi use GNFI when it's available :-)
<chrisseaton> Well GNFI puts the thread in a safe point like JNI does I presume
<chrisseaton> GNFI is in GraalVM today so someone could try if they wanted
<chrisseaton> Actually it may not be... it should be soon if it isn't
<chrisseaton> Sulong should be in GraalVM soon as well
<travis-ci> jruby/jruby (truffle-head:cd4ed81 by Chris Seaton): The build passed. (https://travis-ci.org/jruby/jruby/builds/158838002)
<headius> oh, so it does still safepoint
bbrowning is now known as bbrowning_away
<headius> not sure what more JNI does on top of that other than being opaque
<chrisseaton> I couldn't say off the top of my head - I have a vague idea it does things like put things in the correct registers in the first place
<chrisseaton> There's a whole paper on it though http://dl.acm.org/citation.cfm?id=2500832&CFID=836037689&CFTOKEN=51894169
<headius> given that jffi/jnr-ffi already have logic for generating and loading asm, it shouldn't be a big leap to have them just use GNFI
<chrisseaton> Says here that the stub is created by the JIT in the caller
<headius> that's what I figured
<headius> so it's able to inline and optimize the stub
<chrisseaton> I'm seeing this 'Could not resolve dependencies for project org.jruby:jruby-stdlib:jar:9.1.6.0-SNAPSHOT: Could not find artifact org.jruby:jruby-core:jar:9.1.6.0-SNAPSHOT in mavengems (mavengem:https://rubygems.org) -> [Help 1]'
<chrisseaton> When I try to dependency:go-offline
<headius> chrisseaton: I noticed that too...a full build fixes it for me, but it seems like something build-time started to depend on being-built artifacts
<chrisseaton> christ
<headius> like maven gem installation might have been modified to use "this JRuby" rather than a known release
<headius> wasn't anything I did, though
dinfuehr_ has joined #jruby
<headius> chrisseaton: do you see a message "using jruby ...."?
<chrisseaton> using jruby 9.0.5.0
<headius> hmph
<headius> worst case you should be able to `mvn install` and have binaries for those in your local repo
<headius> it should work ok then
<headius> you're also trying to go offline but depending on snapshot builds that don't exist in maven central
<headius> or at least maven thinks you're doing that
<chrisseaton> I'll try installing into my offline repo
<headius> yeah, I don't see anything obvious in the poms and no commits that would explain it
<headius> I thought it was just me
<chrisseaton> We like to have a checksum set of dependencies so we can always rebuild in isolation
<headius> sure
<headius> truffle depends on jruby-core/stdlib though so it's probably getting messed up with the snapshot
<headius> there's nothing to offline
<chrisseaton> it used to work a month ago
<headius> I figured that too :-\ I assume something changed but I can't see it
<headius> mkristian to the rescue? open an issue and maybe he'll know what happened
<travis-ci> jruby/jruby (graal-vm-0.16:dd4076b by Benoit Daloze): The build has errored. (https://travis-ci.org/jruby/jruby/builds/158843999)
<GitHub118> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viRTk
<GitHub118> jruby/truffle-head 5a2277b Chris Seaton: [Truffle] While we're using 0.17 we can build offline.
temporalfox has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<GitHub120> [jruby] chrisseaton deleted graal-vm-0.16 at d9da515: https://git.io/viRkI
<thedarkone2> chrisseaton: "If I have a tag on a commit in git, but delete the branch, is the commit still accessible?" dunno if you've solved it: yes, the commit and the whole history should be there (they should be around even if you delete the tag, unless your git did its GC cleanup, there are git cmds to recover stuff)
<chrisseaton> right but the gc sees the tag as a strong reference?
<thedarkone2> dunno, but probably yes
<headius> sorry
<headius> I missed that question
<headius> the commit stays until GCed
<headius> I doubt the tag anchors the commit, myself
<headius> since the commit has no parent
<headius> or at least it has no root anymore
<headius> why do you need this?
<headius> chrisseaton: ^
<headius> this article seems to say the tag will anchor the commit
<chrisseaton> we used a random commit that's not actually on the truffle-head branch in GraalVM 0.16, and I want to tag it as being the tagged used in that release
<headius> try git fsck --unreachable
<headius> chrisseaton: whether tags anchor it or not, that seems incredibly fragile
<chrisseaton> I thought a tag was as good of a 'top level name' as a branch
<headius> if it were I'm not sure why you'd need both
<headius> can't you cherry-pick the commit in and retag it?
<chrisseaton> cherry pick means it's a different commit though
<headius> so?
<chrisseaton> well that means it's not the same code
<headius> no it doesn't
<chrisseaton> oh wait I can just merge the branch and then reset to one side of it
<headius> it means it has a different parent
<headius> that's all
<chrisseaton> but the parent would have different code?
<headius> there will be two commits, yes, but with identical changeset (merge tweaks notwithstanding)
<headius> well maybe I'm not understanding why you want to reference this orphaned commit
<chrisseaton> I think I can just do a merge - thanks though
<headius> the release was done against the branch and then the branch was deleted?
<chrisseaton> no, the release was done against a branch, but is it right to keep a branch like that around forever?
<chrisseaton> I thought of branches as working things
<headius> I think so
<headius> we never release a branch that has been use for a release
<headius> er delete a branch
<headius> I think most projects would agree
<chrisseaton> this was a bit of a shameful branch in the first place :)
<chrisseaton> with a fix that shouldn't have been needed
<headius> ahh, well then
<headius> merge should be fine
<headius> generally though I think it's pretty weird to have a tag to a commit that doesn't exist on any branch
<GitHub50> [jruby] chrisseaton tagged graal-vm-0.14 at d2f2fcf: https://git.io/viRLg
<GitHub144> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viRLz
<GitHub144> jruby/truffle-head e32e17d Chris Seaton: Merge branch 'truffle-no-io-exception' into truffle-head
<GitHub185> [jruby] chrisseaton tagged graal-vm-0.16 at 9c700dd: https://git.io/viRey
<GitHub92> [jruby] chrisseaton deleted truffle-no-io-exception at dd4076b: https://git.io/viRLa
<headius> chrisseaton: fwiw we also keep our branches around because we occasionally need to do one-off security fixes
<thedarkone2> headius: some people hate having a bunch of branches...
<headius> well, we also don't have a branch for every single release
<chrisseaton> headius: changing the subject... how are you getting on with running JRuby on JDK 9? It's not trivial is it?
<headius> but the tags are always pointing to a live branch
<headius> chrisseaton: works fine
<headius> I had to twiddle a few things
<headius> I did all my work this week against 9 without realizing it
<chrisseaton> what did you have to do to use unsafe?
<headius> we don't need unsafe to run
<headius> it may impact perf (synchronization instead of fences) but we can run...and we'll deal with the perf issues once varhandles etc land
<headius> JRuby can usually run Ruby apps fully secured and non-native
<chrisseaton> Right, so is there more work to do to be able to use unsafe and other things?
<headius> well, unsafe can be replaced with varhandles
<headius> at least the parts we use
<chrisseaton> Oh I see
<chrisseaton> Didn't realise you used that little of it
<chrisseaton> We use the signals from sun.misc as well - not sure what has happened to them
<headius> yeah that I'm not sure about
<headius> we can't just start doing our own obviously
<headius> or at least not without breaking the JVM
<chrisseaton> Ok but sounds like I should at least be able to get JRuby+Truffle booting up
<headius> jruby itself is ready for that...so you'd just need to guard any accesses to unsafe and friends and have a fallback
<headius> chrisseaton: oh in case you start playing with that... the build doesn't work in 9 yet
<headius> because it uses JRuby versions before my 9 patches
<thedarkone2> re GNFI, if I remember it correctly, it wasn't safepointing and that passing java managed obj into GNFI call was allowed, exactly because it wasn't a safepoint..
<thedarkone2> so its like "no overhead", but "lets hope the call returns reaaally fast"
<headius> thedarkone2: that would explain why it beats JNI then
<headius> if that's the case
<thedarkone2> haha, like that Cliff Click's slide, where it looked like JNI prologue/epilogue must be summing Cthulhu (as a side effect of the native call)
<headius> thedarkone2: yeah exactly :-)
nicksieger has quit [Remote host closed the connection]
<headius> ok, I'm calling it a day...probably be hacking over the weekend
<headius> ttfn folks
claudiuinberlin has quit []
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
brauliobo has joined #jruby
<GitHub125> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/viRZu
<GitHub125> jruby/truffle-head e708660 Chris Seaton: [Truffle] Update readme.
<brauliobo> nirvdrum: eregon which tag of http://lafo.ssw.uni-linz.ac.at/hg/graal-jvmci-8/tags should I use?
<brauliobo> the tip build a java that crashes on startup
<brauliobo> ~/P/j/g/jvmci ❯❯❯ jdk1.8.0_102/product/bin/java
<brauliobo> Invalid layout of java.lang.Thread at name
<brauliobo> Error occurred during initialization of VM
<brauliobo> Invalid layout of preloaded class: use -XX:+TraceClassLoading to see the origin of the problem class
cremes has joined #jruby
<brauliobo> jvmci-0.20 tag fails to build with gcc 6.2.1
pawnbox has joined #jruby