travis-ci has joined #jruby
travis-ci has left #jruby [#jruby]
<travis-ci> jruby/jruby (jit_irscope_removal:ef95fdb by Thomas E. Enebo): The build was fixed. https://travis-ci.org/jruby/jruby/builds/641148356 [163 min 26 sec]
nirvdrum has joined #jruby
<headius[m]> woot
harald[m]3 has quit [Ping timeout: 264 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
nirvdrum has quit [Ping timeout: 240 seconds]
<headius[m]> enebo: ok I got blocks working after your changes
<headius[m]> bit of epic indy-wrangling but it works
<headius[m]> sweet, bench_mandelbrot works without modification now
<headius[m]> perhaps we can just demo bench_mandelbrot at fosdem
<headius[m]> 👍
<headius[m]> ok 0bce8626ba237d994d2a9ff568e00013e4516c91 has the tweaks to make block bootstrapping work
<headius[m]> I made a pretty descriptive comment
<headius[m]> there's a new patch to test this at runtime:
<headius[m]> Once the top-level sets up its own static scope this can just be deleted
<headius[m]> but yay, we can compile almost everything except metaclass bodies to fully offline bytecode now
<headius[m]> exciting stuff... ttfn folks
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jit_irscope_removal:0bce862 by Charles Oliver Nutter): The build was broken. https://travis-ci.org/jruby/jruby/builds/641188093 [162 min 5 sec]
travis-ci has left #jruby [#jruby]
<headius[m]> NO
<headius[m]> will fix tomorrow
<headius[m]> END blocks are the suck
<fzakaria[m]> but the Gemfile parses with JRuby fine using `jruby -c`
<fzakaria[m]> The gemfile it's failing on is using `:path =>`
<headius[m]> That's a new one to me
<fzakaria[m]> looks to be failing at calling relative_path in bundler
<headius[m]> Running with complete jar?
<fzakaria[m]> yea
<headius[m]> Aha
<fzakaria[m]> runs fine otherwise --
<fzakaria[m]> my path is relative -- i'm trying it non relative
<fzakaria[m]> `:path => "gems/a-gem"` instead
<fzakaria[m]> vs `:path => "./gems/a-gem"`
<headius[m]> Yeah ok so there is probably a path resolution problem that doesn't handle classloader uri the same as something else
<fzakaria[m]> in the above `some-folder` is the root project
<headius[m]> It is trying to resolve a file path based on a file in the jar
<headius[m]> That should go in JRuby issue tracker
<fzakaria[m]> ugh -- im hoping i can figure a hack resolution :(
<fzakaria[m]> i'll open issue though
<fzakaria[m]> upgrading JRuby for us is ... pretty tough
<headius[m]> Sample report or example plus full output
<fzakaria[m]> ok
<headius[m]> Upgrading from what?
<fzakaria[m]> we're on jruby 9.1.17.0 atm
<fzakaria[m]> another question :)
<fzakaria[m]> I was trying to figure out how to also use a different bundler -- our Gemfile says "BUNDLED WITH 2.0.2" but it keeps pulling in the version attached to the JRuby installation.
nirvdrum has joined #jruby
<fzakaria[m]> (2.1.4)
<fzakaria[m]> issue made for the first question: https://github.com/jruby/jruby/issues/6045
<headius[m]> 9.2.8?
<fzakaria[m]> ?
<headius[m]> We accidentally shipped a bundler version with JRuby a couple releases back
<headius[m]> Because rubygems started installing it... We didn't catch it and it can interfere with updating for that one jruby version
<headius[m]> Just theorizing though
<fzakaria[m]> I just see it here:
<fzakaria[m]> /Users/faridzakaria/.rvm/gems/jruby-9.1.17.0@looker/bin/bundle
<fzakaria[m]> but i ran `gem uninstall bundler` but it still works hmm.
<fzakaria[m]> Interested -- I see now Warbler has on the README
<fzakaria[m]> Warbler supports Bundler for gems and git repositories, but not for plain path components. Warbler will warn when a :path component is found in the Gemfile and will refuse to include it in the archive.
<fzakaria[m]> nvm i think it's fine for relative
<headius[m]> Ok
<headius[m]> I'll be back later
<fzakaria[m]> ok
nirvdrum has quit [Ping timeout: 265 seconds]
<fzakaria[m]> I'd appreciate any tips on how to attach jruby-debug-base when running JRuby+code through package JAR build via Warbler.
<fzakaria[m]> I can connect and breakpoint into the JRuby source but not my Ruby code
rusk has joined #jruby
rusk has quit [Remote host closed the connection]
rusk has joined #jruby
nirvdrum has joined #jruby
shellac has joined #jruby
nirvdrum has quit [Ping timeout: 265 seconds]
nirvdrum has joined #jruby
nirvdrum has quit [Ping timeout: 240 seconds]
lucasb has joined #jruby
drbobbeaty has quit [Quit: Textual IRC Client: www.textualapp.com]
drbobbeaty has joined #jruby
nirvdrum has joined #jruby
<fzakaria[m]> I added some more information -- I narrowed the bug down to a recent bundler release (2.1.4)
<fzakaria[m]> still trying to understand where the bug lies bundler vs jruby
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
<fzakaria[m]> is it possible to debug ruby code when run from a jar?
shellac has quit [Ping timeout: 268 seconds]
<headius[m]> fzakaria: that I'm not sure about...like most stuff in the Ruby world I am pretty sure ruby-debug expects source files on disk somewhere
<headius[m]> it certainly could support stepping through sources inside a jar file but I doubt the capability is there right now
<fzakaria[m]> holy grail would be stepping through ruby code & Jruby :)
<fzakaria[m]> jruby itself i mean
<headius[m]> That's possible in theory, since we can compile Ruby to JVM bytecode and there's lots of JVM debuggers
<headius[m]> in practice though none of them know what the heck Ruby code is so they will ignore it
<headius[m]> you can do it with a simple debugger like the jdb command line debugger 🙂
<headius[m]> o to have enough time for these side projects
<fzakaria[m]> you mean alrady with jdb or in theory ?
<fzakaria[m]> i connected to jdb trying to triage that earlier issue but the experience was difficult.
<fzakaria[m]> I also set a breakpoint on any exception but it's just a flurry of ClassNotFound
<fzakaria[m]> luckily my Github sleuthing skills & git bisect found the offending bundler commit -- just haven't teased out the URI difference
<headius[m]> already with jdb... you force JRuby to compile any Ruby code it runs and it will step through it like any piece of Java code
<headius[m]> but it's pretty primitive
<fzakaria[m]> ah but its just decompiled source?
<headius[m]> you can tell jdb where to find sources
<fzakaria[m]> so its the JIT representation of it
<fzakaria[m]> oh
<headius[m]> that's part of the primitiveness... it has to be hand-held the whole time
<headius[m]> but you can set line breakpoints and inspect locals and such
<fzakaria[m]> oh a README.md on that A+
<headius[m]> yeah I should do that and a short video...maybe folks who know how to write JVM debuggers will be interested in helping us improve it
<fzakaria[m]> offtopic: can you restart the travis CI for https://github.com/ruby-concurrency/concurrent-ruby/pull/840
<fzakaria[m]> Getting that merged is taking a while
<fzakaria[m]> Thank you also for being responsive on GH & here -- it's nice when maintainers are.
<fzakaria[m]> I enjoy feeling engaged with a project :)
<headius[m]> yay it still works
<headius[m]> looking at that failure
<headius[m]> huh beats me...I will restart though
<headius[m]> if it fails again we can try running jruby head locally
<headius[m]> but yeah I want to get this merged in
<fzakaria[m]> cool starred it!
<fzakaria[m]> Shared it with some colleagues
<headius[m]> enebo: this is bringing back memories... I'll basically just add to compiled scripts "load" and "run" methods that know how to set up scope and such
<headius[m]> trying to figure out if there's any reason I can't create a new dynscope rather than passing one in, so we can really just run directly from the class file
<headius[m]> enebo: do you know the current sequence of events for setting up the root node and its scope? I see we pass in getCurrentScope but is that used? I mean the root node will have its own static scope with its own variables so this seems like it's just a dummy scope above toplevel
<headius[m]> return parseFileFromMain(fileName, in, getCurrentContext().getCurrentScope());
<headius[m]> fzakaria: green!
<headius[m]> that might be an intermittent failure, which we should investigate, but clearly your patch is not related
rusk has quit [Remote host closed the connection]
<fzakaria[m]> yes! You can't merge right ? Gotta wait for PItr
<fzakaria[m]> I still plan to look at my Warbler issue and #6045
<fzakaria[m]> If you have advice on where to start for #6045 appreciate it.
<fzakaria[m]> Might turn out to be some interesting bug between bundler vs. jruby expectations for classloading
<headius[m]> I can push the button but I have not been a maintainer on this project in a long time
<headius[m]> and I can't release anyway
sagax has quit [Remote host closed the connection]
<fzakaria[m]> okay -- maybe i'll ping him on the PR
<headius[m]> I will mention to Pitr as well
nirvdrum has quit [Ping timeout: 268 seconds]
<enebo[m]> sorry I was not looking here pending fixing serialization bugs but those are done now
<enebo[m]> headius: as to earlier questions my only posit would be that maybe passing dynamic scope vs creating is for evalish uses if it is not an eval then we should be able to make it
<enebo[m]> I am not very confident on that but evals definitely allow the eval to scope back into what called it
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jit_irscope_removal:5bed66a by Thomas E. Enebo): The build is still failing. https://travis-ci.org/jruby/jruby/builds/641492431 [163 min 59 sec]
travis-ci has left #jruby [#jruby]
nirvdrum has joined #jruby
<enebo[m]> headius: both the failures still in spec:compiler come from within indy trying to setup For and END (which are both IRClosure). I believe this is because possibly the parent StaticScope should be the script or whatever is above the perceived scope...with that said the duplicate on the staticscope should mean it should naturally go up the chain so....
<enebo[m]> who knows
sagax has joined #jruby
<headius[m]> Yeah yeah yes yes yes yes yes
<headius[m]> Oops okay my microphone is working
<enebo[m]> HAHAHA
<headius[m]> Yeah, I saw those end failures last
<headius[m]> They should not be too hard to fix, because the block set up logic required me to pass in a parent scope
<enebo[m]> I think I may work tomorrow since I plan on working out soon and file stuff is not resolved (and may be a little tricky to get right)
<headius[m]> What does not resolved mean
<enebo[m]> well I am trying to use StaticScope.getFile instead of using IRScope
<headius[m]> I realized early today I was running basic Ruby commands without any of the scope setting turned on, and things were working
<headius[m]> So this stuff is really close to just running
<enebo[m]> yeah we are getting pretty close
<headius[m]> I will be working over the weekend to make it possible to dump class files and reload them
<headius[m]> And starting to put together slides since I feel like I have a good picture of what the talk should be
<enebo[m]> ok yeah I will not work Sunday but will be tomorrow
drbobbeaty has quit [Ping timeout: 248 seconds]
nirvdrum has quit [Ping timeout: 260 seconds]