<codeninja>
any HTTP request to that URL fails with an EOFError... but it pulls up in the browser properly.
<codeninja>
what am I missing?
bga57 has quit [Ping timeout: 250 seconds]
jimbaker has quit [Ping timeout: 258 seconds]
bga57 has joined #jruby
johnsonch_afk is now known as johnsonch
<headius>
codeninja: huh...seems like a bug to report, strange
<headius>
I would have expected that to work :-\
rsim has quit [Quit: Leaving.]
Hobogrammer has quit [Ping timeout: 276 seconds]
Hobogrammer has joined #jruby
zacts has quit [Ping timeout: 264 seconds]
eam has quit [Ping timeout: 276 seconds]
eam has joined #jruby
johnsonch is now known as johnsonch_afk
yfeldblum has quit [Remote host closed the connection]
<GitHub121>
[jruby] ivoanjo opened issue #4055: Double-splat should not work with non-symbol keys https://git.io/v6nti
yfeldblum has joined #jruby
bga57 has quit [Ping timeout: 250 seconds]
bga57 has joined #jruby
prasunanand has joined #jruby
bga57 has quit [Client Quit]
kegster has quit [Quit: Shiner, TX makes good beer.]
kegster has joined #jruby
skade has joined #jruby
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 265 seconds]
skade has quit [Quit: Computer has gone to sleep.]
thedarkone2 has quit [Quit: thedarkone2]
pawnbox has joined #jruby
rsim has joined #jruby
rsim1 has joined #jruby
eregon has quit [Ping timeout: 240 seconds]
rsim has quit [Ping timeout: 252 seconds]
eregon has joined #jruby
pil-zzZZzz is now known as pilhuhn
vtunka has joined #jruby
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
shellac has joined #jruby
yfeldblum has quit [Ping timeout: 250 seconds]
<yopp>
headius, added to the ticket
yfeldblum has joined #jruby
circ-user-YOVSQ has joined #jruby
<circ-user-YOVSQ>
Hello, I'm trying out jruby+truffle (dev). I've got it to work, but I'm having problems loading the concurrent-ruby gem. Everything's loading, until it reaches the point where the java extensions need to load (current_ruby_ext.jar). Does the Rubinius CodeLoader support loading java extensions into jruby+truffle?
circ-user-YOVSQ is now known as at100
<chrisseaton>
Is circ-user-YOVSQ still here?
<GitHub15>
[jruby] cburgmer opened issue #4056: Return line no in SyntaxError when parsing Regexp https://git.io/v6nXq
<at100>
yes
<at100>
using nick at100
<at100>
circ-user-YOVSQ now at100
<at100>
keep hitting "../native_extension_loader.rb:65:in `load_native_extensions': On JRuby but Java extensions failed to load. (RuntimeError)"
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<GitHub18>
jruby/master 37b032a Benoit Daloze: Import Array#max/min from JRuby+Truffle specs, themselves from Enumerable specs
<GitHub18>
jruby/master 0856019 Benoit Daloze: Port specs from Array#max in Array#min
<eregon>
enebo: I fogot, actually we have truffle specs for Array#min/max, ported from Enumerable :)
<at100>
Anyone had any luck getting jruby+truffle working with concurrent-ruby?
<at100>
Does jruby+truffle implement importing of java extensions yet?
yfeldblum has quit [Ping timeout: 258 seconds]
pawnbox has quit [Remote host closed the connection]
drbobbeaty has joined #jruby
pilhuhn is now known as pil-afk
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
shellac has quit [Remote host closed the connection]
<eregon>
at100: yes, we are even testing it in CI for concurrent-ruby
<eregon>
No, java extensions are not supported yet
<eregon>
and they are unlikely to be, if by java extensions you mean all of org.jruby public methods should be accessible
at1002 has joined #jruby
<at1002>
eregon How to get concurrent-ruby running? It requires loading concurrent_ruby_ext.jar and truffle ruby is missing load_method...
<GitHub51>
[jruby] nbarrientos opened issue #4057: The JVM SIGSEGVs when using RubyEtc.getgrgid https://git.io/v6cvm
pil-afk is now known as pilhuhn
<at1002>
sorry, missing java_import
vtunka is now known as vtunka_wfh
vtunka_wfh is now known as vtunka
<at100>
eregon: Ok, so backing up. I was trying to get the stock concurrent-ruby to run with jt, but it was failing due to missing some java extensions. If you're able to test concurrent-ruby on CI, could you please point me to where I can download that, and how to set it up? Thanks.
<chrisseaton>
at100: I'll find the right person to help you... give me a minute
tcrawley-away is now known as tcrawley
shellac has joined #jruby
bbrowning_away is now known as bbrowning
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
johnsonch_afk is now known as johnsonch
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
vtunka has quit [Quit: Leaving]
at1002 has quit [Ping timeout: 244 seconds]
hunq8 has joined #jruby
vtunka has joined #jruby
pawnbox has quit [Remote host closed the connection]
lance|afk is now known as lanceball
pitr-ch has joined #jruby
at1002 has joined #jruby
<GitHub34>
[jruby] lxp opened pull request #4058: [Truffle] Add CExt test for ruby-argon2 (master...add-cexts-test-ruby-argon2) https://git.io/v6c34
at1002 has quit [Ping timeout: 276 seconds]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
<pitr-ch>
at100 hello, I am the person chrisseaton mentioned. I do not bare a good news I am afraid. Concurrent-ruby was working with jruby+truffle in the past unfortunately we were not putting gem tests in our ci then. So the CI which was mentioned is in the concurrent-ruby's CI ans I am afraid we did not kept it green. It's on my todolist to make it work again and put it in our CI so it stays working. I can open a concurrent-ruby issue on
<pitr-ch>
github for you to follow, to see when it's fixed.
johnsonch is now known as johnsonch_afk
<pitr-ch>
at100 if you like?
<at100>
pit-ch please.
<at100>
pitr-ch please
<pitr-ch>
ok, I'll drop you a link.
<at100>
thanks
<at100>
Is there *anything* I can do to get it sort-of working on my end?
<pitr-ch>
at100 the error is caused by some abstractions thinking they are running on jruby classic, first step would be to fix the conditions to pick only pure ruby implementations
<pitr-ch>
when running on JR+T
<at100>
I believe that's already in there. The concurrent/util/engine.rb reports the engine as jruby+truffle, not jruby, which causes many paths that rely on on_jruby? == true to fall through to pure ruby code.
<pitr-ch>
If you contact me in the c-r gitter room I'll get an email notification if I miss it
johnsonch_afk is now known as johnsonch
<pitr-ch>
at100 which version are you experimenting with?
<at100>
latest that I cloned from github, and c-r 1.0.2
<pitr-ch>
I am seeing the error on different line
<pitr-ch>
if Concurrent.on_jruby? does not report JRuby I am not sure why is it trying to load the extensions
<at100>
pitr-ch I massaged the code a bit to get it working. jr+t doesn't seem to work well with gems. the supposed jruby+truffle setup script fails on missing the bundler. Had to modify the c-r gem to use require_relative and put that in the dir of my test case.
enebo has joined #jruby
<at100>
pitr-ch it mostly loads, up to the point where it doesn't. The current problem I'm having is with loading the thread pool executor
<at100>
If I allow loading the Java one, it fails on being unable to integrate java code. otoh if I ask it to load the ruby thread pool implementation, it fails on 'cannot load such file'
<pitr-ch>
I would dig into the pure implementation
<pitr-ch>
the java one will not work for sure, jr+t does not support jruby's API
<pitr-ch>
why is it missing the file I have no idea at the monet
<pitr-ch>
moment :)
<at100>
The funny thing is that it is not complaining on a 'require' source line.
<pitr-ch>
do you have $LOAD_PATH properly set up ? that bit me few times
<pitr-ch>
what's your login on github I'll mention you
<at100>
arietal
<at100>
what's the LOAD_PATH used for?
johnsonch is now known as johnsonch_afk
<pitr-ch>
all the directories where require looks for files
<pitr-ch>
try putting c-r/lib dir to the array
<at100>
My $LOAD_PATH is empty
<at100>
As I said, I modified the .rb files to load relative, so they do load. Would love to use LOAD_PATH but it seems to have no effect.
claudiuinberlin has joined #jruby
pilhuhn is now known as pil-afk
vtunka has quit [Quit: Leaving]
<at100>
pitr-ch ok, looks like a combo of things may have done the trick. (a) I used c-r 1.0.2 (the 'official' gem version). (b) I copied the lib/* to a directory and ran jruby+truffle -I<directory> test.rb.
Balzrael has joined #jruby
<at100>
Haven't tested concurrency yet, just require.
<Balzrael>
hello
<Balzrael>
how is everybody :)
<at100>
pitr-ch To be exact: jruby+truffle run -I <directory> -- test.rb
vtunka has joined #jruby
etehtsea has joined #jruby
<Balzrael>
does anyone know how to avoid also including the jars from the gemfile gems in the Jarfile.lock when using jar-dependencies gem with lock_jars command. It also includes the torquebox jars, and all I want are the jars from the Jarfile
<pitr-ch>
at100 great, yeah that's how I usually run files from gems
<at100>
pitr-ch yeah, all seems to be working for now. Still testing...
<at100>
eregon, pitr-ch can jruby+truffle do compute-intensive multi-threading? (e.g. two threads that perform lots of calculations in parallel)
pil-afk is now known as pilhuhn
<pitr-ch>
yes global lock was removed, but not everything is thread safe yet, better to be conservative and use mutex
<Balzrael>
does anyone know how to avoid also including the jars from the gemfile gems in the Jarfile.lock when using jar-dependencies gem with lock_jars command. It also includes the torquebox jars, and all I want are the jars from the Jarfile
<pitr-ch>
to protect any hared data
<at100>
pitr-ch I just tried running two Threads that do partial sums, with no sharing what-so-ever between them. That is, one thread is summing up the evens and the other the odds, and the end result is the sum of the two partial sums. I then compared it to a single Thread object that calculates everything. The run that uses a single thread is 5 times faster than the one that uses 2 threads.
<at100>
pitr-ch In both cases the calculation was not done on the main thread.
<at100>
pitr-ch I would have hoped to see the two-threaded solution take less time than the single threaded solution.
<pitr-ch>
how long does it take to compute the partial sum?
<pitr-ch>
at100
thedarkone2 has joined #jruby
<at100>
pitr-ch on 1000_000_000 it takes about 6-8 seconds with a single thread, and about 29 seconds with two threads
<kares>
pitr-ch: hey! was there special support code for loading under jruby+truffle? (interested how you got it working when it did work)
<at100>
On a dual-core machine (2 hyper-threads on each core)
<kares>
... in concurrent-ruby gem
<pitr-ch>
at100 that does not sound right, btw do you run on Graal?
<at100>
kares concurrent-ruby gem (version 1.0.2) has some specialized cases for on_truffle?. They seem to do the trick, if you can get the gem to load.
<at100>
pitr-ch. I believe I am running on Graal. my JRUBY_OTPS has all the jvmci stuff enabled.
<at100>
pitr-ch The timings without Graal: still measuring (after 2 minutes or so).... so I guess it was with Graal :-)
<pitr-ch>
sounds like it was :)
<at100>
pitr-ch Still running... I'm going to give up on it soon
<pitr-ch>
at100 could you share what you are running in gist for example
<at100>
pitr-ch hold on, I have an idea that I want to try....
<pitr-ch>
kares it was mostly just about right implementations to be loaded.
johnsonch_afk is now known as johnsonch
<at100>
pitr-ch ok, interesting. I changed the thread code to calculate the partial sum in a local instead of global, and it sped things up (for the two threaded case) considerably.
<pitr-ch>
kares since recognising of Ruby implementation is underspecified
<kares>
pitr-ch: but you did use the java classes such as thread-pools or just the plain ruby ones?
<pitr-ch>
at100 yeah globals are more expensive, locals are definitely better
<at100>
headius Tried it on jruby classic as well. Two-threads is better than single thread. However, jruby classic's best case (in this case with 3 threads) is about 3 times slower than jruby+truffle+graal
<GitHub99>
jruby/master 6f6c1bb Thomas E. Enebo: Parsers syntax errors were not adding 1 to 0-indexed line
<GitHub99>
jruby/master 41e4b34 Thomas E. Enebo: Fixes #4056. Return line no in SyntaxError when parsing Regexp
<GitHub93>
[jruby] enebo closed issue #4056: Return line no in SyntaxError when parsing Regexp https://git.io/v6nXq
<ebarrett>
Is there a way to call C from jruby without external dependencies?
<headius>
FFI
<at100>
headius which version of jruby and on what kind of machine? Also what was your single-threaded time? My machine has only 2 cores (that pretend to be 4).
<ebarrett>
headius: built in?
<headius>
at100: this is JRuby master on a lightly-modified graal
<headius>
I'm trying it without graal
<headius>
yeah so 10s without the graal mod
<headius>
<1s with it
<at100>
Is this with truffle?
<chrisseaton>
ebarrett: it's a gem
<headius>
no
<chrisseaton>
ebarrett: what do you want to do?
<ebarrett>
chrisseaton: overall goal: read the timestamp register
<ebarrett>
i have C code to do this with inline asm
<at100>
headius didn't know graal also compiles jruby without truffle
<headius>
at100: this is just graal as a JVM
<headius>
but with a couple tweaks I found yesterday
<chrisseaton>
ebarrett: let's take this to DM to avoid the confusing cross-conversation
<headius>
it seems fast enough to me
<headius>
ebarrett: FFI is built into JRuby, yes
<headius>
you don't need the gem
<headius>
you will to run the same code in MRI
<headius>
we ship FFI because we use it
<chrisseaton>
you'll need to emit a little assembly yourself if you want to read a register I think
<headius>
yeah
<headius>
you could compile the code with a function you bind to FFI though
<headius>
HOWEVER
<headius>
jnr-x86asm
<headius>
might do what you want
pilhuhn is now known as pil-afk
<at100>
headius I'm using the labsjdk1.8.0_92-jvmci-0.18/bin/java JVM
<headius>
at100: yeah there's a hack in my copy to work around this issue, but hopefully a proper fix coming
<headius>
let me get you numbers for various thread counts (with some warmup)
<pitr-ch>
at100 you have to let it warm up before measuring:
<pitr-ch>
2.times do
<pitr-ch>
threaded_partial_sum(1, N)
<pitr-ch>
threaded_partial_sum(2, N)
<pitr-ch>
threaded_partial_sum(3, N)
<pitr-ch>
threaded_partial_sum(4, N)
etehtsea has joined #jruby
<pitr-ch>
end
<pitr-ch>
then it's:
<pitr-ch>
Partial sum on 1 thread(s): run took 0.951 seconds
<pitr-ch>
Partial sum on 2 thread(s): run took 0.443 seconds
<pitr-ch>
Partial sum on 3 thread(s): run took 0.305 seconds
<pitr-ch>
Partial sum on 4 thread(s): run took 0.254 seconds
<GitHub23>
jruby/master 0273985 Charles Oliver Nutter: Make the Fixnum cache configurable.
claudiuinberlin has joined #jruby
etehtsea has quit [Quit: Computer has gone to sleep.]
zacts has quit [Ping timeout: 240 seconds]
<headius>
@chrisseaton: the "labsjdk" "jvmci" builds on OTN are the Java 8 with JVMCI you mentioned?
<headius>
just updating my local graals
rcvalle has joined #jruby
<eregon>
pitr-ch: it could cause a int[] => long[] transition, not so safe :p
<eregon>
headius: yes
<headius>
eregon: thanks!
cprice has joined #jruby
bbrowning_away is now known as bbrowning
johnsonch_afk is now known as johnsonch
prasunanand has quit [Ping timeout: 244 seconds]
claudiuinberlin has quit [Remote host closed the connection]
<headius>
I often see one REALLY long result running on graal before it gets to full speed...is that a compilation storm or something?
<pitr-ch>
eregon yeah definitely not, but probability of the threads ending at the same time in this benchmark is minuscule, if it was something more important definitely not a good idea
<headius>
like I just ran mandelbrot and got 1.6s, 2.3s, 0.21s, 0.19s, 20.9s, and then it settled into 0.18s or so
pawnbox has quit [Remote host closed the connection]
prasunanand has joined #jruby
<chrisseaton>
headius: yes
claudiuinberlin has joined #jruby
<chrisseaton>
to the labsjdk question
<headius>
chrisseaton: thankee
pawnbox has joined #jruby
prasunanand has quit [Ping timeout: 250 seconds]
johnsonch is now known as johnsonch_afk
aemadrid has quit [Quit: Connection closed for inactivity]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
enebo has quit [Quit: enebo]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #jruby
enebo has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
prasunanand has joined #jruby
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
tenderlove has joined #jruby
tenderlove has quit [Read error: Connection reset by peer]
enebo has quit [Ping timeout: 276 seconds]
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
thedarkone2 has quit [Read error: Connection reset by peer]
claudiuinberlin has quit [Remote host closed the connection]
tjohnson has quit [Quit: Connection closed for inactivity]
johnsonch_afk is now known as johnsonch
rsim has joined #jruby
claudiuinberlin has joined #jruby
subbu|lunch is now known as subbu
yorickpeterse has joined #jruby
<yorickpeterse>
What kind of write-barrier mechanism does the JRuby GC use, if any at all?
zacts has joined #jruby
hunq8 has quit [Disconnected by services]
prasunanand has quit [Ping timeout: 252 seconds]
johnsonch is now known as johnsonch_afk
prasunanand has joined #jruby
claudiuinberlin has quit []
at1002 has joined #jruby
lanceball is now known as lance|afk
<at1002>
eregon yes the sum array was initialized in my test case. The sum array is a shared global. Will j+t work correctly if two or more threads try to grow the array to each of their specific index?
at1003 has joined #jruby
bbrowning is now known as bbrowning_away
at1002 has quit [Ping timeout: 244 seconds]
bbrowning_away has quit [Ping timeout: 258 seconds]
johnsonch_afk is now known as johnsonch
<thedarkone2>
at100 at1003: no, core collection classes are not thread safe, you can read up on the proposed ruby memory model here https://bugs.ruby-lang.org/issues/12020 (see the linked google doc by pitr-ch)
<thedarkone2>
yorickpeterse: GC is relegated to the underlying JVM implementation, where different GCs and/or different GC configurations each do their own specific/needed barriers
johnsonch is now known as johnsonch_afk
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
enebo has joined #jruby
yfeldblum has joined #jruby
enebo has quit [Quit: enebo]
tcrawley is now known as tcrawley-away
zacts has quit [Ping timeout: 240 seconds]
cremes has quit [Ping timeout: 276 seconds]
cremes has joined #jruby
johnsonch_afk is now known as johnsonch
<yorickpeterse>
thedarkone2: Ah right
<yorickpeterse>
Thanks
johnsonch is now known as johnsonch_afk
yorickpeterse has left #jruby [#jruby]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pil-afk has quit [Ping timeout: 244 seconds]
johnsonch_afk is now known as johnsonch
pilhuhn has joined #jruby
pilhuhn has quit [Changing host]
pilhuhn has joined #jruby
johnsonch is now known as johnsonch_afk
electrical has quit [Quit: Connection closed for inactivity]