josh-k has quit [Read error: Connection reset by peer]
josh-k has joined #jruby
<headius>
chrisseaton: I'm betting you're gone but why would I get this error: RubyTckTest>TruffleTCK.testPrimitiveidentityByte:528->TruffleTCK.findGlobalSymbol:958 Symbol identity is not found!
<headius>
during build
<chrisseaton>
Those are unit tests Truffle gives you to check you can interop
<chrisseaton>
What branch? What did you change?
<headius>
I changed some things in boot order but I don't see how they'd cause this
<headius>
ruby-2.3 branch
<headius>
hmm
<headius>
I might see the issue
<headius>
Caused by: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- rubygems
<headius>
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:939)
<headius>
at RUBY.<top>(uri:classloader:/jruby/kernel/gem_prelude.rb:2)
<headius>
at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:957)
<headius>
at RUBY.<top>(file:/Users/headius/projects/jruby/core/target/jruby-core-9.0.5.0-SNAPSHOT.jar!/jruby/preludes.rb:1)
<chrisseaton>
So if JRuby can't run at all, these tests would fail
<headius>
jruby -e 1 works fine
<headius>
and Gem.methods looks right
yfeldblum has quit [Ping timeout: 250 seconds]
<headius>
these preludes shouldn't even load in truffle compile mode
<chrisseaton>
No
<chrisseaton>
Actually - I can see how they might in this configuration...
<chrisseaton>
Gems are disabled by -X+T but this is running unit tests so no command line flag
<chrisseaton>
Can you workaround and I'll fix tomorrow
<headius>
that shouldn't be different than before
<headius>
this logic was executed in JRuby's ruby kernel before, and that kernel load was blocked by the truffle check
<headius>
I'll figure it out
<headius>
chrisseaton: I got past it by configuring compile mode to TRUFFLE in RubyLanguage
<headius>
where it creates a new runtime
<headius>
I'm confused why it wasn't that way before, or why any of my changes would have broken that
<chrisseaton>
If you commit on your branch I'll look at it and cherry pick onto the others
<GitHub74>
[jruby] headius pushed 6 new commits to ruby-2.3: http://git.io/vEXLT
<GitHub74>
jruby/ruby-2.3 66570f0 Charles Oliver Nutter: Update stdlib to 2.3.0.
<GitHub74>
jruby/ruby-2.3 12b14d4 Charles Oliver Nutter: Fix up prelude loading to be closer to MRI and update preludes.
<GitHub74>
jruby/ruby-2.3 3798e0b Charles Oliver Nutter: Remove old and unnecessary comment.
<headius>
it's there, head of ruby-2.3
pawnbox has joined #jruby
<chrisseaton>
Ok thanks I'll look tomorrow
pawnbox has quit [Ping timeout: 240 seconds]
<GitHub108>
[jruby] enebo commented on commit 97330e0: master without Ruboto runs 1.7+ but 1.5 has no chance of running. Perhaps we update this to 1.7 as a default? http://git.io/vEXto
<GitHub120>
[jruby] headius commented on commit 97330e0: Yes, this could be updated to only consider 1.7 and higher. http://git.io/vEXm4
elia_ has quit [Quit: Computer has gone to sleep.]
robbyoconnor has quit [Read error: Connection reset by peer]
robbyoconnor has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
r0bby_ has joined #jruby
r0bby_ has quit [Client Quit]
robbyoconnor has quit [Ping timeout: 250 seconds]
robbyoconnor has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
rsim has quit [Quit: Leaving.]
mberg has joined #jruby
mberg is now known as Guest91531
Guest91531 is now known as mberg
elia_ has quit [Quit: Computer has gone to sleep.]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
elia_ has joined #jruby
Aethenelle has joined #jruby
ruurd_ has joined #jruby
ruurd_ has quit [Client Quit]
d-snp_ has joined #jruby
<d-snp_>
hi trufflers, if I follow the nightly install guide here: https://github.com/jruby/jruby/wiki/Truffle and I use the jruby+truffle tool to run something with gem dependencies it generates a commandline like:
<d-snp_>
but that core.load_path does not exist, the truffle/src directory is missing, so it won't run
<d-snp_>
should I A. also download the src and put it there or B. remove the load path from that command?
<chrisseaton>
d-snp_: hi - give me a second to think about what you're doing...
<d-snp_>
cool np, btw I love your thesis, I'm 50% in atm, very readable
<chrisseaton>
d-snp_: yes it looks like the tool expects the source code to be checked out... you can just remove the -Xtruffle.core.load_path\=/jruby-master/truffle/src/main/ruby part entirely
<d-snp_>
alright thanks :)
<d-snp_>
is generating the commandline the only thing the tool does in this case? so can I just run that line?
<chrisseaton>
the purpose of that option is so that in backtraces you get a file system path which you can easily open in IDEs - the default is a special internal file path which IDE wouldn't understand
<chrisseaton>
I think yes the last thing it does is print the command and then run it, so if you copy, modify and paste its should be the same thing
skade has joined #jruby
dfr has quit [Ping timeout: 240 seconds]
skade has quit [Ping timeout: 272 seconds]
<d-snp_>
hm, it still throws a LoadError that it couldn't find 'bundler/setup', somewhere in my project it explicitly does "require 'bundler/setup'", I think that should just work right? I probably did something wrong still
<chrisseaton>
we don't support bundler yet, sorry
<chrisseaton>
you may just be able to remove that line in your code
<chrisseaton>
the tool does the bundle install and then sets the load path, so it should achieve the same thing as bundler/setup
<chrisseaton>
same thing with ruby gems - it's handled by the tool so projects don't need to require gems
<chrisseaton>
obviously we'll fix this in the future
skade has joined #jruby
dfr has joined #jruby
skade has quit [Client Quit]
<d-snp_>
hm, ok I made it not require bundler/setup, but now it misses another gem that's in the bundle
<d-snp_>
I ran jruby+truffle setup
<chrisseaton>
the command line it runs doesn't include one of the gems in the bundle vendor directory?
<d-snp_>
so this file exists: .jruby+truffle_bundle/ruby/2.2.0/gems/rack-1.6.4/lib/rack.rb
<d-snp_>
and this is the command I run: exec /jruby-master/bin/jruby -X+T -r "./.jruby+truffle_bundle/bundler/setup.rb" "$@"
<d-snp_>
but it says: in `require': cannot load such file -- rack (LoadError)
<d-snp_>
that should work right?
<chrisseaton>
does .jruby+truffle_bundle/bundler/setup.rb reference rack?
<chrisseaton>
and could you just use the rack that comes in the stdlib?
<chrisseaton>
just require 'rack' should work anyway I think
thedarkone2 has joined #jruby
<chrisseaton>
actually it doesn't... not sure why
<chrisseaton>
I thought rack was in the stdlib - maybe it isn't?
<d-snp_>
just trying to get a rack hello world running in passenger
<chrisseaton>
how do a run a .ru file? what's the command line you'd use if you were using bundle exec as normal?
<d-snp_>
bundle exec passenger start, or bundle exec rackup I think
<d-snp_>
basically you need some ruby app that knows how to load .ru files, there's pure ruby ones also, I think puma is pure ruby, and rainbows
<d-snp_>
and there's thin, and webrick :P
<chrisseaton>
is .jruby+truffle_bundle/jruby+truffle a broken link for you? (use the file command on it)
<d-snp_>
ah yeah it is
<d-snp_>
.jruby+truffle_bundle/jruby+truffle: broken symbolic link to /app/.jruby+truffle_bundle/jruby
<chrisseaton>
rename the ruby dir in.jruby+truffle_bundle to jruby
<d-snp_>
jay!
<chrisseaton>
then /jruby+truffle run -S rackup seems to be working in the right direction
<chrisseaton>
but that then fails for me with 'Coercion error: false.to_str => String failed'
<d-snp_>
yes definitely, now it's throwing proper errors
<chrisseaton>
I don't know enough about passenger to say if this should work or not - this is actually just using webrick at the moment isn't it?
<d-snp_>
yes, but it's working in passenger now, that exception I think might be an exception in regular ruby as well
<chrisseaton>
could I ask you to open a GH issue with the error that you got a .jruby+truffle_bundle/ruby directory instead of a .jruby+truffle_bundle/jruby one? and say what steps you went through from scratch?
<chrisseaton>
you could also open an issue for this failure
<d-snp_>
thats in jruby/jruby right?
<chrisseaton>
not sure what you mean?
<chrisseaton>
it looks like we just can't run message = "Hello World!\n"; message << Truffle.graal? for some reason
<chrisseaton>
if you change that code slightly you may get some useful result
<chrisseaton>
seems like a basic thing we should be able to run! could you open a GH issue for that, please?
cremes has quit [Remote host closed the connection]
cremes has joined #jruby
<GitHub124>
[jruby] tinco opened issue #3569: jruby+truffle setup creates gems in 'ruby' directory but jruby looks in 'jruby' directory http://git.io/vEDGr
<d-snp_>
chrisseaton: Ruby 2.1.1 says: -e:1:in `<main>': no implicit conversion of true into String (TypeError)
<d-snp_>
so I don't think that code is supposed to work at all :)
<chrisseaton>
d-snp_: it looks like we've inherited an incorrect or missing error message from the Rubinius code we use
<chrisseaton>
d-snp_: so does Passenger work as a module in NGINX that starts a Ruby process? (trying to make sense of the Wikipedia page)
<chrisseaton>
d-snp_: what's the advantage of that over running Ruby normally?
<chrisseaton>
is it CGI or something?
<chrisseaton>
I'm showing my ignorance of the wider Ruby ecosystem here
<d-snp_>
haha
<d-snp_>
it's much like CGI yeah
josh-k has joined #jruby
<d-snp_>
so Passenger is a C++ plugin to Nginx and Apache, it accepts requests and load balances requests over Ruby processes
<d-snp_>
it spawns a ruby process, loads up a rack loader wrapper script, that receives the requests from the passenger c++ module, and feeds it to the loaded rack app
<d-snp_>
there's a bunch of other features that make it nice for production environments but that's the gist of it
<d-snp_>
which brings me to the next point, Passenger saves memory by forking ruby processes, but it seems like truffle doesn't do fork (yet), I'll have to think about that
<d-snp_>
I know we support jruby, I'll read up on how we do that
<chrisseaton>
could we just run multiple instances of JRuby+Truffle in the same JVM?
<d-snp_>
would that work around your gil?
Aethenelle has quit [Quit: Aethenelle]
<chrisseaton>
we don't have a gil any more :)
<d-snp_>
oh nice
<d-snp_>
so yeah, that would be good, but one of the reasons people like passenger for production is also that if one process crashes you don't have down time
<d-snp_>
I don't know if the jvm ever crashes
<chrisseaton>
even if it didn't, a Ruby program could still just exit while handling a request
<chrisseaton>
and the kernel could still kill it due to OOM or whatever
rsim has joined #jruby
<d-snp_>
true
<chrisseaton>
we have a Node.js implementation as well btw - I wonder is Passenger could integrate with that in the same way
<d-snp_>
oh that's cool, I hadn't seen that yet, does it have a different name?
<chrisseaton>
that's a JDK with new ruby (JRuby+Truffle) and js (GraalJS) commands
<chrisseaton>
also does R
<d-snp_>
fancy
elia_ has quit [Read error: Connection reset by peer]
<d-snp_>
App 288 stderr: /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:350:in `watch_signal': Signal already used by VM or OS: SIGQUIT (ArgumentError)
<d-snp_>
is the next one
<d-snp_>
turning off forking was just a configuration
<d-snp_>
hmm the code is rather simple, it just traps SIGQUIT, is trapping signals not implemented yet chrisseaton?
elia_ has joined #jruby
subbu is now known as subbu|afk
<chrisseaton>
I think to some extent
<chrisseaton>
We definitely have some code for it
<chrisseaton>
We'd have to find out how JRuby works with passenger
tcrawley-away is now known as tcrawley
tcrawley is now known as tcrawley-away
<GitHub192>
[jruby] tinco opened issue #3570: Trapping signals does not work in Truffle http://git.io/vEDdh
anaeem1_ has joined #jruby
anaeem1_ has quit [Remote host closed the connection]
subbu|afk is now known as subbu
pietr0 has joined #jruby
<d-snp_>
hey chrisseaton, I saw you project you will be running rails by the end of 2016, why such a long projection, is there some big feature that's missing? or are there so many small things?
<chrisseaton>
d-snp_: we got ActiveSupport working in a month or two - 2016 is the long estimate we're saying, but we may be serving simple rails requests much sooner
kares has quit [Ping timeout: 272 seconds]
blaxter has quit [Quit: foo]
elia_ has quit [Quit: Computer has gone to sleep.]
<d-snp_>
ohh
<d-snp_>
you were right chrisseaton, we make an exception for jruby with the signal handlers
josh-k has quit [Remote host closed the connection]
josh-k has joined #jruby
josh-k has quit [Ping timeout: 256 seconds]
pitr-ch has joined #jruby
baroquebobcat has joined #jruby
byteit101__ has quit [Remote host closed the connection]
elia_ has quit [Quit: Computer has gone to sleep.]
kares has joined #jruby
byteit101__ has joined #jruby
josh-k has joined #jruby
yfeldblum has quit [Ping timeout: 250 seconds]
josh-k has quit [Remote host closed the connection]
josh-k has joined #jruby
josh-k has quit [Ping timeout: 260 seconds]
pawnbox has quit [Remote host closed the connection]
GitHub75 has joined #jruby
<GitHub75>
jcodings/master 5e91bdd Marcin Mielzynski: initialize utf8 flag in BaseUTF8Encoding
GitHub75 has left #jruby [#jruby]
<GitHub75>
[jcodings] lopex pushed 1 new commit to master: http://git.io/vEy7x
yfeldblum has joined #jruby
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 272 seconds]
subbu is now known as subbu|lunch
subbu|lunch is now known as subbu
gaustin has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
elia_ has joined #jruby
pawnbox has joined #jruby
kares has quit [Ping timeout: 276 seconds]
elia_ has quit [Quit: Computer has gone to sleep.]
slash_nick is now known as \nick
rsim has quit [Quit: Leaving.]
elia_ has joined #jruby
\nick is now known as slash_nick
ITXpander1 has joined #jruby
ITXpander has quit [Ping timeout: 272 seconds]
yfeldblum has joined #jruby
pawnbox has quit [Remote host closed the connection]
<GitHub174>
[jruby] headius created symbol_to_proc_cache (+1 new commit): http://git.io/vESoh
<GitHub174>
jruby/symbol_to_proc_cache 69662ab Charles Oliver Nutter: Various literal to_proc'ed Symbol optimizations....
<GitHub47>
[jruby] headius opened pull request #3571: Various literal to_proc'ed Symbol optimizations. (master...symbol_to_proc_cache) http://git.io/vESKI