_djbkd has quit [Remote host closed the connection]
ivan\ has joined #jruby
_djbkd has joined #jruby
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
nateberkopec has joined #jruby
<Antiarc>
Congrats on the 9.0.3.0 release! Exciting stuff :D
_djbkd has quit [Remote host closed the connection]
nateberkopec has quit [Quit: Leaving...]
camlow325 has quit []
_djbkd has joined #jruby
jimbaker has joined #jruby
tjohnson has quit [Quit: Connection closed for inactivity]
nateberkopec has joined #jruby
nateberkopec has quit [Quit: Leaving...]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
_djbkd has quit [Quit: My people need me...]
<headius>
Antiarc: thank you!
<chrisseaton>
headius: we'll have to copy that rescue optimisation for Truffle - our exceptions are likely to be even more expensive than yours
<chrisseaton>
headius: not sure how to do it though - all our optimisations are very local - not easy to 'look around' the rescue and see what is being done with it
<headius>
chrisseaton: it's not a very deep inspection
mdedetrich has joined #jruby
pawnbox has joined #jruby
mdedetrich has quit [Ping timeout: 272 seconds]
mdedetrich has joined #jruby
skade has joined #jruby
_djbkd has joined #jruby
thedarkone2 has quit [Quit: thedarkone2]
ryez has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
rsim has joined #jruby
_djbkd has quit [Remote host closed the connection]
skade has quit [Quit: Computer has gone to sleep.]
jensnockert has joined #jruby
mkristian has joined #jruby
skade has joined #jruby
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vtunka has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
mkristian has joined #jruby
yfeldblum has joined #jruby
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
drbobbeaty has joined #jruby
shellac has joined #jruby
shellac has quit [Read error: Connection reset by peer]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
samphippen has joined #jruby
mkristian_ has joined #jruby
mkristian has quit [Ping timeout: 256 seconds]
temporalfox has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jensnockert has quit [Remote host closed the connection]
projectodd-ci has quit [Ping timeout: 252 seconds]
projectodd-ci has joined #jruby
bbrowning_away is now known as bbrowning
yfeldblum has quit [Ping timeout: 240 seconds]
yfeldblum has joined #jruby
bbrowning is now known as bbrowning_away
nateberkopec has joined #jruby
mkristian_ has quit [Quit: This computer has gone to sleep]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
jensnockert has joined #jruby
tcrawley-away is now known as tcrawley
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
jensnockert has quit [Remote host closed the connection]
<rtyler>
headius: start planning for FOSDEM next year buddy :)
<mkristian__>
but we do have the torque box repo
<rtyler>
use all the travel budget! o/
<headius>
rtyler: no problem, I request it every year
<rtyler>
the ruby devroom was approved
<headius>
mkristian__: yeah for some reason my new env build of jruby fails on otto though
<headius>
[ERROR] Failed to execute goal on project jruby-stdlib: Could not resolve dependencies for project org.jruby:jruby-stdlib:jar:9.0.3.0: Could not transfer artifact rubygems:ruby-maven-libs:gem:3.3.3 from/to rubygems-releases (https://otto.takari.io/content/repositories/rubygems/maven/releases): Failed to transfer file:
<mkristian__>
no need for a second one since this gem is also on maven central
<mkristian__>
actually it reminds me to put all the gems for 9.0.3.0 on maven central since tag jruby versions should just build with maven central only
<headius>
mkristian__: ahh yeah that's a good idea
<xardion>
quick question: is variable assignment in jRuby atomic?
vtunka has quit [Quit: Leaving]
<headius>
atomic how
<xardion>
namely, if I have a thread that does a a hash lookup, and another thread point that hash to a new hash at some random time, does that hash access need to be synchronized with the assignment?
<xardion>
it isn't updating the hash, it's changing a variable local to the thread to point to a totally new hash
<headius>
well I guess the question is when you want the new hash to be visible
<headius>
a threadlocal as in Thread.current[:x]?
<xardion>
no
<xardion>
I haven't found that to work
<headius>
a local variable the thread captures?
<headius>
maybe show me the code
<xardion>
yeah, it's actually an instance variable in a class that the thread is in
<headius>
ah
<xardion>
but effectively, yeah
<xardion>
really, it's a level deeper than that
<headius>
and you need the hash to be visible right away, like once set nobody should see the old hash?
<xardion>
if something saw the old hash before the new hash was assigned, it doesn't matter
<headius>
but once assigned...everyone should see the new hash no matter what?
<headius>
what you're talking about is volatility
<xardion>
right, the hash actually doesn't change that often, so the timing isn't important
<headius>
instance variables in JRuby are accidentally volatile right now but it's not guaranteed
<headius>
if you want to guarantee it I'd recommend using concurrent-ruby and pitr-ch can tell you what you need there
<headius>
either an atomic reference or an explicitly volatile object
<xardion>
the thread updates it once an hour, and the method that references the thread could be firing 6000 times a second
<headius>
ok
<headius>
it probably isn't a big deal then
<mkristian__>
pitr-ch, you need to copy the executable to bin - that could do the trick
<pitr-ch>
mkristian__ the executable needs rest of the gem files, how wold it work? The tool dir is already part of the distribution?
<mkristian__>
ok. it this gem on rubygems.org ?
<pitr-ch>
mkristian__ no
digitalextremist has quit [Ping timeout: 250 seconds]
<headius>
xardion: there's nothing thread-unsafe about setting an instance variable, and I think that's all you're really concerned about
<pitr-ch>
i guess it could be, but then it would have to be maintained, using the source form the repository seems easiery
xardion_ has joined #jruby
<mkristian__>
for example we have jruby-readline gem which is on maven central but not on rubygems.org. and ./lib/pom.rb can embed gems, either as default gems or just take the code from the gem. the jruby-readline is such none-default gem.
xardion has quit [Ping timeout: 256 seconds]
<mkristian__>
ok copying things around is another option. not sure.
shellac has quit [Quit: Computer has gone to sleep.]
<mkristian__>
but there is already a lib//ruby/truffle/ - how is this different from what your are doing ?
<pitr-ch>
mkristian__ this tool is run by regular jruby
<pitr-ch>
it prepares environment and then executes jruby+truffle in it
digitalextremist has joined #jruby
<mkristian__>
I see.
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<pitr-ch>
xardion there is no guarantee that the update of the instance variable will be ever seen by another thread. In practice due to current implementation and x86 architecture it will be seen though (undocumented coincidental behaviour). But it might bite in future when implementation changes or if you try to run it on ARM.
<mkristian__>
pitr-ch, yeah you are talking about one ruby script :)
<mkristian__>
just add some copy statements in ./lib/pom.rb and copy this one file into lib/ruby/stdlib and the bin script to ./bin
<mkristian__>
headius, only psych and racc gem are missing on maven central and the rspec gems for the tests.
<headius>
rtyler: yeah took me a bit to figure out that it's not https
<rtyler>
oh
<rtyler>
it's not https btw
<headius>
thanks! :-D
<headius>
mkristian__: ok, are you the owner of rubygems groupid?
<headius>
rtyler: maven gives a somewhat cryptic error when I try to use https: network unreachable
<mkristian__>
jruby team is owner
<headius>
thought I broke my linux or something
<headius>
mkristian__: ok
<headius>
makes sense
<mkristian__>
since we need to push jruby-openssl, etc there as well
<headius>
perhaps some day we'll get rubygems.org to push all gems to maven too
balo_ has joined #jruby
<mkristian__>
one day :)
<headius>
huzzah, I have a build with lasagna
<headius>
back to the task at hand
jensnockert has quit [Remote host closed the connection]
bruceadams_ has joined #jruby
<headius>
now what was the task at hand, I wonder
halorgium_ has joined #jruby
CustosLimen has joined #jruby
blinsay_ has joined #jruby
pawnbox has quit [Remote host closed the connection]
enebo has quit [*.net *.split]
e_dub has quit [*.net *.split]
Guest85414______ has quit [*.net *.split]
bruceadams has quit [*.net *.split]
bf4_ has quit [*.net *.split]
yipdw has quit [*.net *.split]
CustosLim3n has quit [*.net *.split]
blinsay has quit [*.net *.split]
Tristitia has quit [*.net *.split]
balo has quit [*.net *.split]
halorgium has quit [*.net *.split]
blinsay_ is now known as blinsay
enebo_ is now known as enebo
halorgium_ is now known as halorgium
<enebo>
BTW- We will be putting out 9.0.4.0 tomorrow due to a couple of regressions. So no one do any unstable commits in the next day
Tristit1a has joined #jruby
bruceadams_ is now known as bruceadams
yipdw has joined #jruby
yipdw has quit [Changing host]
yipdw has joined #jruby
e_dub has joined #jruby
Guest85414______ has joined #jruby
<kares>
headius: you guys should have access to the rubygems group on maven as well
pawnbox has joined #jruby
<headius>
kares: ok
<kares>
mean you and enebo
mrbrdo has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
subbu is now known as subbu|away
skade has joined #jruby
<mrbrdo>
hey guys. I have JRuby installed via rbenv, but in one case I would like to use jruby from a fat jar instead (and not use my rbenv ruby), and then run a ruby command like rake. Something like java -cp ... ?? rake db:migrate. any tips on how to achieve this?
<headius>
mrbrdo: with the complete jar I believe you can do java -jar jruby-complete.jar -S rake ...
Tristit1a is now known as Tristitia
<mrbrdo>
headius: will that work even though my fat jar has it's own entry point (main class)?
<mrbrdo>
or do I need to use -cp and specify the class to use too
<headius>
well, however you launch JRuby within it you'll need it to be able to find rake
camlow325 has joined #jruby
<headius>
-S will look in PATH and in a ruby bin location in classpath
<mrbrdo>
headius: what I mean is, I have a fat jar (made with sbt assembly), from my limited understanding it basically includes everything from the jruby jar and then my java/scala classes as well. the manifest is such that my own class' Main class is used as the entry point
<mrbrdo>
so I was just thinking that I'd have to specify the jruby class to be used in this case instead, something like java -cp ... org.jruby.Something
<mrbrdo>
but okay I think I get you - it's supposed to work without that if I understand correctly
bf4 has joined #jruby
<headius>
if it's in the jar somewhere it's already in cp
<nirvdrum>
Confession time: I've never use the complete JAR. Is it supposed to be a fat JAR with all dependencies?
brightball has joined #jruby
<nirvdrum>
*used
<headius>
nirvdrum: yeah, it's basically everything from a full tarball in jar form
<nirvdrum>
Okay. I thought it was missing objectweb.
<nirvdrum>
But maybe it's a packaging issue?
<nirvdrum>
When I explode the JAR, it's under org/jruby/org/objectweb
<nirvdrum>
But the import statement doesn't have it nested like that.
<headius>
ahh well in some configs we repackage the asm jar
<headius>
local builds of jruby.jar do not, I think?
bb010g has joined #jruby
<nirvdrum>
Ahh. So I'm just building this wrong?
<headius>
asm is used by so many projects that for our release jars (not necessarily the one in the tarball) we rename it to avoid conflicts
<headius>
how are you building it?
<eregon>
headius: Hi!
<headius>
eregon: hello!
<eregon>
headius: what's the status with the failing takari server?
baroquebobcat has joined #jruby
<eregon>
and how was the release yesterday BTW?
<headius>
eregon: well it was still failing as of an hour ago and I switched to tyler's server
<headius>
I can push my change if you like
<eregon>
yes, I would love that :)
<headius>
release went fine but we have a few bad issues that necessitate another one
<headius>
not a great week for releasing
<eregon>
that's the point of point releases ahah
<mrbrdo>
btw how do I know if I have the complete jar?
<mrbrdo>
will just check
<eregon>
unfortunate though
<mrbrdo>
I have the whole jar unpacked
<mrbrdo>
some file existance I could check in org/jruby/ ?
pawnbox has quit [Remote host closed the connection]
<headius>
mrbrdo: you should see rubygems or jruby home stuff under META-INF dir
<nirvdrum>
headius: mvn -Psnapshots package
<headius>
there's -Pcomplete
<mrbrdo>
yeah I have jruby.home there, but no rubygems
<headius>
I don't know what -Psnapshots does
<headius>
mrbrdo: ok, then rubygems is under that home
<headius>
that basically emulates what you'd see in an unpacked JRuby tarball
<nirvdrum>
I tried complete, but it didn't seem to really rebuild the JAR. I think I kept getting a stale one somehow.
baroquebobcat has quit [Read error: Connection reset by peer]
<nirvdrum>
I'll try that again.
<headius>
nirvdrum: I think mkristian__ or enebo will know better :-) I have not actually build complete jar in a long time
baroquebobcat has joined #jruby
<enebo>
mrbrdo: if you look at enebo/Purugin I make a fat jar in maven and consume JRuby as embedded service
<enebo>
mrbrdo: but I use ScriptnigContainer
<nirvdrum>
headius: Shading the JAR makes sense. I just would have expected the package name to change along with it. Unless that's done using proguard or something similar? org.jruby.Ruby does "import org.objectweb.asm.util.TraceClassVisitor"
<enebo>
mrbrdo: I am just shading jruby look for farJar in pom.xml
<enebo>
mrbrdo: which might not help you with sbt :)
<headius>
nirvdrum: it should be changed everywhere, but we do have some ruby code that needs to pick the right one
<headius>
what are you seeing?
<headius>
I would not expect Java code to fail
<mrbrdo>
enebo: thanks will look. I did try to exclude jruby from the fat jar and use it from my rbenv install, but then I had problems with bundler I think
<nirvdrum>
I had an issue with objectweb not loading in a JAR I built. So I downloaded the released 9.0.3.0 to compare and ended up utterly confused :-)
<mrbrdo>
but it may have been due to some other reason
pawnbox has joined #jruby
<headius>
nirvdrum: hmm
<mkristian__>
if you want to create a fat jar best start with jruby-complete
<enebo>
mrbrdo: I do not actually embed any gems in there but I think it should be possible to set GEM_HOME and GEM_DIR to url inside the fat jar. mkristian__ might be a better resource forthat step if you need it
<headius>
like jruby code complained about objectweb?
edub has joined #jruby
<mrbrdo>
enebo: ty
<nirvdrum>
headius: As in I tried to load my built JAR and got a CNFE.
<mkristian__>
mrbrdo, if you have gems just add the gems/** and specifications/* to the root of the fatJar that will be a place jruby always looked for embedded gems
<enebo>
mrbrdo: don’t thank me yet. It may be shitty advice :)
<mkristian__>
nirvdrum, headius we repackage some libraries regarding asm
<headius>
nirvdrum: ok
<nirvdrum>
mkristian__: That part I get. But shouldn't the import statements update to the shaded package structure as well?
<mkristian__>
nirvdrum, if you start off with ./lib/jruby.jar or jruby-complete.jar then things should be all fine. but maybe I missed the context
<nirvdrum>
mkristian__: I'm just trying to build the complete JAR.
rcvalle has joined #jruby
<nirvdrum>
Building the sources JAR with it would be nice, but not a requirement.
<nirvdrum>
I'm having difficulty telling if my changes even get picked up, however, because every time I build the complete JAR, I get a different SHA1 for the file.
<mkristian__>
lib/jruby.jar + lib/ruby into META-INF/jruby.home/lib/ruby
<nirvdrum>
I assume some auto-generated file is subtly changing on each build.
<mkristian__>
but I can tell you also mvn -Pcomplete :)
<nirvdrum>
I started with "mvn -Pcomplete", but it looked like it was picking up stale files somewhere. Maybe I just messed up.
<mkristian__>
yes lib/jruby.jar has one class new on each compile - with constants and build time
<mrbrdo>
mkristian__: awesome
<mrbrdo>
thanks
<mkristian__>
nirvdrum, stale files from core/ ?
<nirvdrum>
Nevermind, I'm a moron.
<nirvdrum>
They're stale because they're in jruby-truffle.
<nirvdrum>
Not jruby-complete.
<mrbrdo>
headius: my jar's main class is being invoked even when I use -S
<mrbrdo>
can I specify an org.jruby class to use instead?
<mrbrdo>
with java -cp ... class
jensnockert has joined #jruby
<mrbrdo>
basically my question is which class does the jruby complete jar use as the entry point :)
<mkristian__>
mrbrdo, org.jruby.Main
<mrbrdo>
thanks
<nirvdrum>
headius, enebo: I forgot about the 32-bit vs 64-bit FFI issue. I have spent a bit of time looking at it and it's a general problem. We had one guy just override one of the system properties to fix the search path.
<nirvdrum>
But we should probably fix it properly.
jensnock_ has joined #jruby
<nirvdrum>
mkristian__ started along a good path by adding /etc/ld.so.conf to the search path, but it happens a bit too late.
samphippen has joined #jruby
samphippen has quit [Read error: Connection reset by peer]
<mkristian__>
mrbrdo, you might what to use the JarMain from https://github.com/jruby/jruby-mains which isolates the fatJar more from the outside environment.
<mkristian__>
but then you need to shade/shadow this jar as well
shellac has joined #jruby
<mrbrdo>
it works when I use org.jruby.Main, thanks
<mrbrdo>
will take a look at that
jensnockert has quit [Ping timeout: 246 seconds]
<eregon>
headius: could you push your maven server changes?
<mkristian__>
I would like to remove those external maven repos once I have the racc and rspec on maven central. and adding a script in tool/ which takes a gem and produces an bundle for oss.saontype.org for pushing it to maven central
<mkristian__>
pitr-ch, ohh - you need all this gem_configuration files as well.
<mkristian__>
the bin copy is OK the rest please copy the lib/*rb to stdlib/ and the gem_configuration/* to ./lib/ruby/ - that is the only structure which will work
tjohnson has joined #jruby
<mkristian__>
this would be same when the whole thing is gem. it I think we should keep it as gem
<mkristian__>
for the time being
<pitr-ch>
mkristian__ that would pollute the directories though, if I copy as you suggest
subbu|away is now known as subbu
<pitr-ch>
mkristian__ if I keep it as a gem where it should be installed? which gem dir?
<mkristian__>
pitr-ch, ./lib/ruby/stdlib is on the load path. that is where you need to copy the lib/* files from a gem.
_djbkd has joined #jruby
<pitr-ch>
mkristian__ yeah I understand, I intentionally scoped it under the directory
<pitr-ch>
the executable then uses require 'jruby+truffle/runner'
<mkristian__>
so you could move this gem_configurations under lib/jruby+truffle/ and then we do not pollute the root directory
<pitr-ch>
mkristian__ one more thing this is a temporary solution which will be eventually removed
<pitr-ch>
mkristian__ so lib/ruby/stdlib/jruby+truffle would only contain the runner.rb and the readme, right?
<mkristian__>
headius, enebo is it OK to add ./lib/ruby/stdlib/jruby+truffle as temporarely - basically move ./tool/truffle/jruby+truffle ?
<mkristian__>
eregon, still having problems ? things reach maven-central and I could remove the one repo declaration from ./lib now
<mkristian__>
pitr-ch, to clean up the PR one thing would be to copy and paste bin/rake to bin/jruby+truffle and adjust it respectively. no need for the copy - put you into the wrong directorion
<mkristian__>
direction
elia has quit [Quit: Computer has gone to sleep.]
<pitr-ch>
mkristian__ bin/rake ? that's generated by Rubygems. Sorry I am not following
<mkristian__>
yes, but it is part of ruby git repo
<mkristian__>
sorry - we are not a gem anymore
<pitr-ch>
mkristian__ I see bin/rake as ignored file, checking
<pitr-ch>
yeah whole bin/* is in .gitignore
<mkristian__>
git ls-files does show it. so you need to force add it
<pitr-ch>
ah right
<pitr-ch>
ok cleaning it up, thanks
<pitr-ch>
for help
<mkristian__>
I guess the reason is that there lots of generated windows files
<mkristian__>
pitr-ch, I guess you care about windows as well ;) - do you ?
<pitr-ch>
mkristian__ yeah, thanks for remainder, I wanted to add a bat as well
shellac has quit [Quit: Computer has gone to sleep.]
<mrbrdo>
what does the -S option to jruby do by the way
<mrbrdo>
couldn't find docs on that
<pitr-ch>
mkristian__ PR updated
<mkristian__>
mrbrdo, it tells ruby/jruby to use the search path via PATH for the file. jruby also looks inside the class loader under bin/
<mrbrdo>
but path has priority?
<mrbrdo>
cause it seems if I do -cp myjar.jar org.jruby.Main -S jruby it's using my rvm jruby
<eregon>
mkristian__: will retry
<mkristian__>
eregon, I did change the lib/pom.rb already
<eregon>
is there any way you could make that server available again for s short period of time?
<eregon>
I would like to run some tests on existing commits, so it's difficult to change the pom for them
<mkristian__>
oh - this is a different place - I will do something. no way to get this server up right now. I am not able to get in touch with Jason v.Zyl at the moment
<mkristian__>
you can add ~/.m2/setttings.xml which mirrors this server.
<eregon>
mkristian__: ok, I'll work around, maybe by applying your commit/patch on top or so
<eregon>
thanks for the commit fix :)
<mkristian__>
not sure if this helps for the jruby-launcher
pawnbox has quit [Remote host closed the connection]
<eregon>
mmh, right if I do not install with -Pbootstrap then the jruby-launcher should not get installed, right?
<mkristian__>
right
<mkristian__>
it is only installed when the version is a release version
jensnock_ has quit [Remote host closed the connection]
mkristian__ has quit [Quit: This computer has gone to sleep]
mkristian has joined #jruby
samphippen has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
bbrowning is now known as bbrowning_away
dinfuehr has joined #jruby
bbrowning_away is now known as bbrowning
mkristian has joined #jruby
jensnockert has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
jensnockert has quit [Remote host closed the connection]