havenwood has quit [Ping timeout: 246 seconds]
kith has quit [Read error: Connection reset by peer]
kith has joined #jruby
lance|afk has quit [Ping timeout: 264 seconds]
lanceball has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (test-indy-invokers:3fd59eb by Charles Oliver Nutter): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/69657858)
travis-ci has left #jruby [#jruby]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (test-indy-invokers:ba22379 by Charles Oliver Nutter): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/69637163)
travis-ci has left #jruby [#jruby]
cristianrasch has quit [Quit: Leaving]
bf4 has joined #jruby
colinsurprenant has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> jruby/test-indy-invokers 7db8773 Charles Oliver Nutter: Wire up HandleMethod in indy JIT.
<JRubyGithub> [jruby] headius pushed 1 new commit to test-indy-invokers: http://git.io/vqG23
JRubyGithub has left #jruby [#jruby]
colinsurprenant has quit [Quit: colinsurprenant]
mdedetrich has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (test-indy-invokers:7db8773 by Charles Oliver Nutter): The build was broken. (https://travis-ci.org/jruby/jruby/builds/69667907)
travis-ci has left #jruby [#jruby]
nirvdrum has joined #jruby
bffff_ has joined #jruby
bf4 has quit [Ping timeout: 246 seconds]
mcclurmc has quit [Remote host closed the connection]
xardion has quit [Ping timeout: 256 seconds]
xardion has joined #jruby
deobalds has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
mdedetrich has quit [Quit: Textual IRC Client: www.textualapp.com]
mdedetrich has joined #jruby
DavidEGrayson has quit [Read error: Connection reset by peer]
_whitelogger_ has joined #jruby
bf4 has joined #jruby
mcclurmc has joined #jruby
bf4 has quit [Ping timeout: 264 seconds]
DavidEGrayson has joined #jruby
mcclurmc has quit [Remote host closed the connection]
havenwood has joined #jruby
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mdedetrich has joined #jruby
Hobogrammer has quit [Ping timeout: 252 seconds]
danielglh has joined #jruby
robbyoconnor has quit [Read error: Connection reset by peer]
blaines has joined #jruby
blaines has quit [Ping timeout: 264 seconds]
blaines has joined #jruby
blaines has quit [Ping timeout: 244 seconds]
robbyoconnor has joined #jruby
robbyoconnor has joined #jruby
robbyoconnor has quit [Changing host]
robbyoconnor has quit [Client Quit]
robbyoconnor has joined #jruby
bffff_ has quit [Quit: Connection closed for inactivity]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] kares reopened issue #3086: JavaLang::NullPointerException in RubySymbol.javaStringHashCode() http://git.io/vtBNR
JRubyGithub has left #jruby [#jruby]
bf4 has joined #jruby
bf4 has quit [Ping timeout: 256 seconds]
rsim has quit [Quit: Leaving.]
rsim has joined #jruby
samphippen has joined #jruby
samphippen has quit [Client Quit]
digitalextremist has quit [Ping timeout: 264 seconds]
digitalextremist has joined #jruby
DavidEGrayson has quit [Read error: Connection reset by peer]
travis-ci has joined #jruby
<travis-ci> kares/jruby (test-kelleti-pow_failure:a9575cd by kares): The build passed. (https://travis-ci.org/kares/jruby/builds/69685965)
travis-ci has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] kares pushed 2 new commits to jruby-1_7: http://git.io/vqZgn
<JRubyGithub> jruby/jruby-1_7 d828f5f kares: make sure we do not overflow pow with (int) cast...
<JRubyGithub> jruby/jruby-1_7 0f63239 kares: ** with Bignum should only warn when exp really big
JRubyGithub has left #jruby [#jruby]
samphippen has joined #jruby
travis-ci has joined #jruby
<travis-ci> kares/jruby (jruby-1_7:f88fd5f by Christian Meier): The build was fixed. (https://travis-ci.org/kares/jruby/builds/69686050)
travis-ci has left #jruby [#jruby]
havenwood has quit [Ping timeout: 246 seconds]
elia has joined #jruby
dumdedum has joined #jruby
elia_ has joined #jruby
elia has quit [Ping timeout: 256 seconds]
travis-ci has joined #jruby
<travis-ci> kares/jruby (test-kelleti-conversions:ea02aa9 by kares): The build passed. (https://travis-ci.org/kares/jruby/builds/69686090)
travis-ci has left #jruby [#jruby]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ooo_ has left #jruby [#jruby]
shellac has joined #jruby
drbobbeaty has joined #jruby
elia has joined #jruby
elia_ has quit [Ping timeout: 276 seconds]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
cristianrasch has joined #jruby
samphippen has joined #jruby
danielglh has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mje113 has joined #jruby
InfraRuby has quit [Remote host closed the connection]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
deobalds has joined #jruby
_whitelogger_ has quit [Ping timeout: 252 seconds]
_whitelogger_ has joined #jruby
samphippen has joined #jruby
skroon has joined #jruby
<skroon> hi all
<skroon> how can I make sure that warble uses jruby-complete?
drbobbeaty has joined #jruby
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<skroon> is there a way to have a executable war file, that also spawns another long running process?
danielglh has joined #jruby
danielglh has quit [Max SendQ exceeded]
JohnBat26 has joined #jruby
cristianrasch has quit [Quit: Leaving]
Scorchin has quit []
Scorchin has joined #jruby
bruceadams has quit []
bruceadams has joined #jruby
asarih has quit []
jeregrine has quit []
asarih has joined #jruby
jeregrine has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] kares pushed 6 new commits to jruby-1_7: http://git.io/vqcU3
<JRubyGithub> jruby/jruby-1_7 29e75fa kares: review MapJavaProxy internals
<JRubyGithub> jruby/jruby-1_7 b959118 kares: cleanup java.util.Map spec
<JRubyGithub> jruby/jruby-1_7 15c7efc kares: [ji] spec array to_a conversion
JRubyGithub has left #jruby [#jruby]
mje113 has quit []
yfeldblum has quit [Ping timeout: 248 seconds]
danielglh has joined #jruby
danielglh has quit [Max SendQ exceeded]
cristianrasch has joined #jruby
nirvdrum has joined #jruby
cristianrasch has quit [Read error: Connection reset by peer]
havenwood has joined #jruby
cristianrasch has joined #jruby
bf4 has joined #jruby
bf4 has quit [Ping timeout: 256 seconds]
tcrawley-away is now known as tcrawley
deobalds has quit [Quit: Computer has gone to sleep.]
samphippen has joined #jruby
bbrowning has joined #jruby
lanceball has quit [Changing host]
lanceball has joined #jruby
n1ftyn8_ has quit []
n1ftyn8_ has joined #jruby
colinsurprenant has joined #jruby
elia has quit [Ping timeout: 256 seconds]
bb010g has quit []
bb010g has joined #jruby
elia has joined #jruby
elia has quit [Client Quit]
joast has quit [Ping timeout: 264 seconds]
camlow325 has joined #jruby
camlow325 has quit [Client Quit]
bryancp has quit []
bryancp has joined #jruby
DomKM has quit []
DomKM has joined #jruby
elia has joined #jruby
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #jruby
elia has quit [Quit: (IRC Client: textualapp.com)]
kfpratt has joined #jruby
mdedetrich has joined #jruby
mje113 has joined #jruby
mdedetrich has quit [Client Quit]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:da5dad6 by Christian Meier): The build was broken. (https://travis-ci.org/jruby/jruby/builds/69736507)
travis-ci has left #jruby [#jruby]
samphippen has quit [Read error: Connection reset by peer]
samphippen has joined #jruby
samphippen has quit [Client Quit]
samphippen has joined #jruby
subbu has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum opened issue #3106: [Truffle] zsuper bug with blocks http://git.io/vqCty
JRubyGithub has left #jruby [#jruby]
enebo has joined #jruby
samphippen has quit [Read error: Connection reset by peer]
samphippen has joined #jruby
dfr|work has quit [Remote host closed the connection]
<shellac> Belated realisation: have the jruby mailing lists have just died?
<shellac> Belated realisation: have the jruby mailing lists just died?
<shellac> (I can't type)
<shellac> and by 'just' I mean late May
colinsurprenant has quit [Quit: colinsurprenant]
<enebo> shellac: yeah we will try and get this resolved this week.
<enebo> shellac: I thought we had already setup a group but I cannot find it o_O
colinsurprenant has joined #jruby
<enebo> kares: is there any caveats to a 1.7.21 getting put out? Outstanding work or semantic changes?
<enebo> kares: I think you have been more actively tracking the branch and I know you made JI changes
bf4 has joined #jruby
nirvdrum has quit [Ping timeout: 256 seconds]
bf4 has quit [Ping timeout: 246 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
mkristian has joined #jruby
<mkristian> anyone any idea why "skip" is not defined when running tests with jurby-complete ? https://travis-ci.org/jruby/jruby/jobs/69736535#L3934
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to master: http://git.io/vqCuI
<JRubyGithub> jruby/master 654473a Christian Meier: just omit tests instead of skip when running test with embedded jruby
JRubyGithub has left #jruby [#jruby]
rcvalle has joined #jruby
nirvdrum has joined #jruby
rsim1 has joined #jruby
<enebo> mkristian: heya
<mkristian> hi
<enebo> mkristian: I noticed some build changes on 1.7 branch…has anything changed for making a release on 1.7 branch?
<enebo> mkristian: also anythng worth highlighting as import for 1.7.21 release notes?
<enebo> mkristian: or any semantic changes/additions to be aware of?
<mkristian> enebo, the only change is the reduces dist size
<enebo> mkristian: well that is always a nice bullet point :)
<mkristian> enebo, the biggest change is that ruby apps can run much better from an unexploded jar - including rails !
rsim has quit [Ping timeout: 258 seconds]
<mkristian> though rails has the potential of bringing another issue here and there
<enebo> mkristian: so rails + gems bundled into the jar will run without complaining because you improved classpath: jar: sorts of filesystem operations?
<enebo> mkristian: or less complaining
<mkristian> yes - something like this. most File and Pathname operation now work inside the jar via those uri-like paths
<mkristian> of course you can have your log files inside the jar :)
<enebo> mkristian: I may advertise the improvement as File and Pathname work better on files inside a jar file
<mkristian> thanx
<mkristian> enebo, so 1.7.21 is coming ? today ? now ?
<enebo> mkristian: I am hoping today. After rtyler made me realize how long we went and since there is an outstanding 9k issue we might as well get 1.7.21 out earlier than later
<enebo> mkristian: I have not tried to built it yet so you never know
<headius> hello all
<headius> chrisseaton: saw your tweet...is the truffle stuff running in parallel now?
dfr has joined #jruby
<dfr> the
dfr is now known as dfr|work
<chrisseaton> Only on eregon's test branches, but yeah we seem to run ok without a GIL I think
<headius> chrisseaton: excellent!
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
<enebo> chrisseaton: wow!
colinsurprenant has joined #jruby
rsim has joined #jruby
<enebo> mkristian: decided to try rmvn on 1.7 branch:
<enebo> rmvn validate -Pall
<enebo> Errno::EACCES: Permission denied - /Users/enebo/work/jruby/lib/ruby/gems/shared/gems/ruby-maven-libs-3.3.3/maven-home/bin/mvn
<enebo> mkristian: I can fix the permissions but thought you may want to know about it (perhaps I am out of date)
rsim1 has quit [Ping timeout: 258 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:654473a by Christian Meier): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/69752163)
travis-ci has left #jruby [#jruby]
shellac has quit [Ping timeout: 244 seconds]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
samphippen has joined #jruby
<mkristian> enebo, the build should fix the permission
<enebo> mkristian: don’t know…I have built thousands of times in this directory and just did the above cmdline
tcrawley is now known as tcrawley-away
donV has joined #jruby
tcrawley-away is now known as tcrawley
blinsay has quit [*.net *.split]
dbussink has quit [*.net *.split]
dbussink has joined #jruby
blinsay_ has joined #jruby
blinsay_ is now known as blinsay
<projectodd-ci> Project jruby-master-spec-ruby build #128: STILL FAILING in 1 hr 53 min: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/128/
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to test-indy-invokers: http://git.io/vqWe0
<JRubyGithub> jruby/test-indy-invokers 6d02ba7 Charles Oliver Nutter: Restore generated invokers for now.
JRubyGithub has left #jruby [#jruby]
dumdedum has quit [Ping timeout: 252 seconds]
<rtyler> here's the daily reminder/annoyance that I'd love a 1.7.21 release xD
bf4 has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bbelleville opened pull request #3107: [Truffle] Don't create threads in Main for Truffle (master...modify-truffle-main) http://git.io/vqWqf
JRubyGithub has left #jruby [#jruby]
<headius> rtyler: enebo is working on it for today
<headius> I'm working on 9k.rc2 items for rc2 release tomorrow or wed
<enebo> rtyler: I even mentioned you above when talking about it :)
bf4 has quit [Ping timeout: 248 seconds]
<mkristian> headius, since rc2 is tomorrow. I wonder if I can merge https://github.com/jruby/jruby/pull/3073 after rc2 release ? the last step to stop using old load-service for require
<mkristian> enebo, also for you -^
<mkristian> enebo, the rmvn command on the jruby-dist-1.7.21 is currently broken. try to get it fixed
<enebo> mkristian: yeah I just figured I would try it since I had not in a while…I saw you changing some things so just tried it
<enebo> mkristian: I am still using versions:set on jruby-1_7 (although I am also update README)
<enebo> hehe s/README/VERSION/
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius fast-forwarded test-indy-invokers from 6d02ba7 to 8e934e8: http://git.io/vqW3J
JRubyGithub has left #jruby [#jruby]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (test-indy-invokers:6d02ba7 by Charles Oliver Nutter): The build has errored. (https://travis-ci.org/jruby/jruby/builds/69763077)
travis-ci has left #jruby [#jruby]
<enebo> headius: mkristian: If we land #3073 I think we should land it today
<mkristian> enebo, doing both is OK ;)
<headius> agreed
<enebo> I do not want to stick that into the final release as a new thing
iamjarvo has joined #jruby
<headius> ideally there won't be an RC3
<headius> it's time to get .0 out so we can work on .1
<enebo> but I am not sure if I fully understand risks so that is one reason I was not weighing in as much
<mkristian> the risk: the only change is about finding directory listing inside jars
<enebo> mkristian: OMGZ you magnificient bastard…the finalName in jruby-dist and the other value which was in jruby-complete has been fixed…thank you
<enebo> mkristian: at least I don’t see any weird values
<mkristian> those Dir globs are not working right for new LibrarySearcher and then we use the old LoadService for this.
<mkristian> enebo, I think the build on master has less quirks
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> mkristian: yeah we will find that out tomorrow ;)
<mkristian> yes, please tell ;)
<mkristian> enebo, headius about #3073 currently assume "." not to be on the LOAD_PATH as MRI - actually it is not a change in LibrarySearcher but old LoadService did add "." to LOAD_PATH (implicitely)
<enebo> So one expected error report outcome from this change is people using JRuby in an embedded way but depending on a gem which has no knowledge of JRuby file semantics and parsing files based on their knowledge of how a FS works…this is akin to people messing up windows by seeing server:/foo.txt as a relative path
<headius> mkristian: yeah I think it's a good change to remove .
<headius> we get bug reports about it being there that are sometimes tricky to investigate...like you require foo.rb from a library but happen to have foo.rb in . too
<enebo> with that said, it seems people should not be writing their own regexps for dealing with paths and such
<enebo> headius: mkristian: yeah agreed to removing ‘.’ being a net positive on error repors
<enebo> we may get people used to the behavior confused bu that will end up being a much shorter list
<mkristian> enebo, my last Pathname patch was a regex detecting the "/" or "C:\" to be the root of the filesystem ;)
<enebo> mkristian: yeah…drive letters and unc servers are not well supported by Ruby core much less exernal libraries. So in a sense we need to just acknowledge we are adding more of that (which I am ok with)
<enebo> I lament that loadpath resolves to strings or that paths in general are not objects
<enebo> if we could have a File(…) or URI(jar: ) which works across Dir,File,LOAD_PATH I think we would end up with a lot less cross-platform bug reports
<enebo> (note: I mean File as meaning a File path not Ruby File class itself — I guess what Pathname is)
<mkristian> another change I have to mention, is that all required jars from within jars are copied to /tmp location. this is already done with those jars from jruby-stdlib.jar/jruby-complete.jar for all 9k release
<enebo> mkristian: ah we I think depend on similar behavor for jffi to work too
yfeldblum has joined #jruby
<enebo> mkristian: (which is broken on raspi but that is just a single system)
<mkristian> yes jffi does the same copy thing
<mkristian> the copy will take place when the jar comes with any weird url like wsjar: from websphere or bundle:1.0.12:/ etc
<projectodd-ci> Project jruby-master-spec-ji build #1664: FAILURE in 2 min 34 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1664/
blaines_ has joined #jruby
<enebo> mkristian: not related to your patch but isFile seems like it should be asFile…This is to say return itself as a file resource vs looking to see if it is a directory and returning its children, right?
<nirvdrum> headius: With all the work done to SecureRandom over the past couple years, does it still make sense to have a SecureRandom static reference in ThreadContext rather than the extension itself?
<rtyler> enebo: sorry didn't see the mentions
<rtyler> IRC is quite a lossy protocol :)
<enebo> rtyler: yeah don’t sweat it…I just thanked you for bringing it up
<headius> enebo: question for you about serialized IR
<enebo> headius: ok
<headius> what __FILENAME__ does it use?
<headius> my logic for loading precompiled stuff in 1.7 loads the script from .class and then sets what its filename should be
<headius> I don't know what equivalent is for IR, if it exists
<enebo> headius: heh hmm. I think it encodes it when it writes it
<headius> mmm that's an issue then
<enebo> I think it is just a StringLiteral by IR time
<headius> ok, as I figured
<enebo> headius: it does not have to be if it is an issue
<enebo> headius: we can make FileLiteral extends FrozenString perhaps and then encode/decode can replace what it is
<headius> it is...the filename is going to vary depending on how it's loaded
<headius> and needs to reflect how it was loaded
<headius> that makes sense
<enebo> headius: oh…since it may need to shove jar: etc...
<headius> so deserializing will need a filename to use etc
<headius> right
<enebo> headius: yeah sound simple enough? You just need to make new Operand and in IRBuilder do that for FileNode
<mkristian> enebo, yes probably asFile is the better name. yes, most lookups are for files via require, and looking for a directory listing is much more work
<headius> enebo: I'll get this working without it and then see if I can make that change
<enebo> headius: ok
<enebo> mkristian: not a huge issue but we should change the name I think since when I was reading just the diff I thought it mean it was physically a real file and not a uri or something (which it was obvious it wasn’t once I read the original source)
<enebo> mkristian: but it does not need to be changed for the PR
<projectodd-ci> Project jruby-master-test-slow_suites build #1646: FAILURE in 2 min 20 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1646/
<mkristian> ok - will change it
<enebo> mkristian: headius: I don’t know…I am a pretty paranoid guy but if this fixes a bunch of scenarios in addition to removing reports about ‘.’ in loadpath I saw let’s land this now
<enebo> mkristian: headius: worst case we back off of it if we get lots of fallout
<headius> yes
<headius> I think it will be ok
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius opened issue #3109: Precompiled .class can't reflect new filename http://git.io/vqWup
JRubyGithub has left #jruby [#jruby]
<headius> if it's just people complaining about the change, we tell them it's correct and compatible
<headius> I doubt we'll get much more than that
<enebo> headius: major release!
<projectodd-ci> Project jruby-master-spec-compiler build #1641: FAILURE in 2 min 15 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1641/
<mkristian> there was also an issue recently regarding '.' https://github.com/jruby/jruby/issues/3049
<enebo> mkristian: so you can resolve this when you land your PR :)
iandow has joined #jruby
<headius> enebo: I'm going dirt simple on this precompiled script loading...all I'm adding is a loadIR static method that produces a deserialized IRScope
<headius> then it proceeds from there as if it loaded from .rb
<headius> so .class is just a carrier for the persisted scope
nateberkopec has joined #jruby
<enebo> headius: sorry I cannot quite parse that
<enebo> so loadIR -> IR
<enebo> but how does that solve the filename issue?
<headius> the .class only had main before...I'm adding loadIR => IRScope
<headius> it doesn't
<headius> this is just loading
<headius> it didn't load at all before
<enebo> oh
<headius> the bug is about loading being broken
<enebo> headius: so we only worked as a main scriptbody before?
<headius> yeah
<headius> I guess I got distracted before finishing loading
<enebo> headius: ah ok so obviously we are missing a test or two
<headius> they're in expected failures right now I think :-)
<headius> and now it passes magically
<enebo> headius: all persisted loads will now use that method too?
<headius> MAGIC
<headius> enebo: there's no mechanism for loading persisted IR other than this right now
<enebo> SPIDER WEBS
<headius> no .rbj or anyhting
<enebo> headius: haha ok…I am just confused about Main script body then I guess
travis-ci has joined #jruby
<travis-ci> jruby/jruby (test-indy-invokers:8e934e8 by Charles Oliver Nutter): The build has errored. (https://travis-ci.org/jruby/jruby/builds/69767302)
travis-ci has left #jruby [#jruby]
<enebo> yeah I know there is no mechanism for general persistence but we are supporting general persistence past precompilation at this point right?
subbu is now known as subbu|lunch
<enebo> headius: I might not be tracking the issue…I was think it was require ‘foo’ was not loading from foo.class?
<headius> that's the issue, yes
<headius> we have another issue though
<enebo> mkristian: OMGZ…local macos testing is done with zero problems so far
<headius> we disabled .class searching in load
bf4 has joined #jruby
<enebo> headius: ok…I was just confused by the .rbj comment
bffff_ has joined #jruby
tcrawley is now known as tcrawley-away
<enebo> headius: since I do have read and write properties but I made it intentionally hard to use so no one would depend on it yet
<headius> right, I just meant this is the only built-in way to persist and restore IR right now
<enebo> headius: ok…this was what I thought you were doing
<headius> it replaces the older .class logic that actually did bytecode compile
<enebo> headius: yeah ok
<headius> but this mechanism could support .rbj or whatever trivially
<headius> it's just a loader nugget that returns IRScope
<headius> and then it goes from there
tcrawley-away is now known as tcrawley
<enebo> headius: actually there is an issue I have not fixed and I am not sure what is proper thing to do
<enebo> headius: we embed no version field in IR persisted format
<headius> ahh, yes we need that
<enebo> headius: I think we for sure need to add one (which is trivial)
<enebo> headius: but the question is not adding the field
<enebo> headius: what do we support?
<headius> we'll need that for sure once we start persisting IR for load automatically
<enebo> headius: a) backwards compat loading
<headius> no backwards compat anything if you ask me
<enebo> b) error out but at least they know it is old
<headius> no forward or backward
<headius> you need to recompile for a given jruby version
<enebo> yeah I think a) is super painful
<headius> I don't think that's too onerous since most people won't actively precompile anything
<enebo> but I think changing format and b) will irritate people
<headius> and for a method database or whatever we use we can just chuck out the old ones
<enebo> headius: yeah I think so as well as an individual
<enebo> headius: I just know someone will think we somehow fucked semantic versioning or something
<headius> maybe
<headius> it has always been this way though
<headius> we will not freeze binary format
<enebo> headius: now that is a great point!
<enebo> headius: I did not think about this from a historical perspective :)
<headius> ahh I found the jrubyc tests
<headius> they were in jruby suite and disabled
<enebo> yay!
<enebo> we pass as many things as we skip
<enebo> and we weirdly end up passing half the stuff we skip
<headius> ok, all passing now I think
<headius> they are very basic tests of require etc
<headius> running jruby suite locally before I push this stuff
<projectodd-ci> Project jruby-master-spec-ruby build #129: STILL FAILING in 1 hr 42 min: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/129/
<headius> enebo: if we want to get really clever we could gzip the serialized IR in the class
<enebo> headius: yeah I also thought about cheaper adaptive compression too
<enebo> headius: I guess it needs to pay for itself timewise
<projectodd-ci> Project jruby-master-spec-ruby build #130: STILL FAILING in 1 min 2 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/130/
samphippen has joined #jruby
<headius> a fast gzip would probably not add much time to loading
<headius> persisted IR is quite a big bigger than original .rb source
<headius> enebo: -Xaot.loadClasses=true is necessary for it to search for .class during load
<headius> I've had to add that to jruby test run and some test cases for now
<enebo> headius: yeah I suspect the size of IR has grown a little as well
<nirvdrum> mkristian: Do we publish source JARs as well?
<nirvdrum> If not, are there any objections to pushing source JARs?
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> [jruby] headius closed issue #3018: LoadError with 'compiled' ruby files with JRuby9000 http://git.io/vIJoq
<nirvdrum> headius: Sounds like you want your own bytecode ;-)
<enebo> nirvdrum: we do ship source jars already
<enebo> nirvdrum: at least I see -sources.jar for jruy-core.jar artifact
<nirvdrum> enebo: Hmm. I must be doing something wrong then. Thanks.
<enebo> nirvdrum: I am only seeing this on sonatype itself
<enebo> nirvdrum: possible it only builds them for the command-line I use
<enebo> nirvdrum: mvn clean deploy -Psonatype-oss-release -Prelease
<enebo> nirvdrum: perhaps peruse those two -P to see
<nirvdrum> It looks like the complete JAR is set to skip sources.
<enebo> nirvdrum: on 1.7.21 I see it even for jruby-complete
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:1494436 by Charles Oliver Nutter): The build has errored. (https://travis-ci.org/jruby/jruby/builds/69777306)
travis-ci has left #jruby [#jruby]
<nirvdrum> But I might just not follow how that's working.
<enebo> nirvdrum: yeah it may be skipping on master
yfeldblum has quit [Ping timeout: 248 seconds]
<enebo> nirvdrum: meaning I have no idea
<enebo> nirvdrum: http://search.maven.org/#artifactdetails|org.jruby|jruby-complete|9.0.0.0.pre2|bundle
<projectodd-ci> Project jruby-master-spec-ji build #1665: STILL FAILING in 2 min 47 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1665/
<nirvdrum> Okay. I guess I have no idea what I'm doing :-(
<nirvdrum> I'll figure it out. Thanks.
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:1494436 by Charles Oliver Nutter): The build has errored. (https://travis-ci.org/jruby/jruby/builds/69777306)
travis-ci has left #jruby [#jruby]
subbu|lunch is now known as subbu
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
<chrisseaton> headius: this commit broke org.jruby.management.Config https://github.com/jruby/jruby/commit/8e934e84115738bfe61298adbfa48260d292a7d0
_whitelogger_ has joined #jruby
<enebo> headius: oh good question
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:bd6e14c by Charles Oliver Nutter): The build was canceled. (https://travis-ci.org/jruby/jruby/builds/69779945)
travis-ci has left #jruby [#jruby]
<enebo> headius: 1.8.0_u31
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> [jruby] chrisseaton closed pull request #3108: [Truffle] Function to initialize secureRandom (master...tweaks-for-aot-compilation) http://git.io/vqWmo
<projectodd-ci> Project jruby-master-spec-ruby build #131: STILL FAILING in 6 min 51 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/131/
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] chrisseaton closed pull request #3107: [Truffle] Don't create threads in Main for Truffle (master...modify-truffle-main) http://git.io/vqWqf
JRubyGithub has left #jruby [#jruby]
<headius> enebo: hmm
<projectodd-ci> Project jruby-master-test-slow_suites build #1647: STILL FAILING in 6 min 17 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1647/
<headius> enebo: filename turned out easier than expected
<headius> I need you to review though
<enebo> headius: ok
nateberkopec has quit [Quit: Leaving...]
<mkristian> nirvdrum, enebo yes you need -Psonatype-oss-release to build source and javadocs. jruby-complete has actually no sources but gets the source from jruby-core for the IDEs
<nirvdrum> mkristian: Is there any way for me to force source JARs without that profile?
<mkristian> https://github.com/jruby/jruby/blob/master/maven/jruby-complete/pom.rb#L79 is the place where the jruby-core sources get attached
<mkristian> and this is inside the sonatype-oss-release profile
<nirvdrum> Okay. Thanks.
<nirvdrum> mkristian: Is there any reason to limit it to sonatype?
<mkristian> nirvdrum, let me turn it around: where do you need to build those sources manually ? the reason is the javadocs takes a long time and all the config comes from
<nirvdrum> mkristian: I don't really care about the javadocs per se. But I'm trying to push 9K snapshots somewhere so people can play with Truffle a bit. And having the source readily available for attaching via IDE would be nice.
nateberkopec has joined #jruby
<nirvdrum> If we wanted to push regular snapshots to sonatype, my work would be done :-)
<projectodd-ci> Yippee, build fixed!
<projectodd-ci> Project jruby-master-spec-compiler build #1642: FIXED in 13 min: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1642/
<nirvdrum> It'd also be kind of nice to have the source JARs installed locally.
<nirvdrum> When I do "mvn -Prelease install"
mkristian_ has joined #jruby
mkristian has quit [Ping timeout: 256 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mkristian_ has quit [Ping timeout: 256 seconds]
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
<headius> nirvdrum: agreed
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to master: http://git.io/vqlkX
<JRubyGithub> jruby/master 5b411a2 Christian Meier: Merge pull request #3073 from jruby/test-dir-globs-on-uri-classloader...
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian closed issue #3049: Requiring a bare file from current directory works unexpectedly http://git.io/vLk4y
JRubyGithub has left #jruby [#jruby]
<headius> I will push the patch to a branch so you can see it in place
<enebo> ah yeah this is only the CLI
<headius> enebo: ir_filename
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius created ir_filename (+1 new commit): http://git.io/vqlLH
<JRubyGithub> jruby/ir_filename c1b87ef Charles Oliver Nutter: Do not persist filename in IR; require it when loading....
JRubyGithub has left #jruby [#jruby]
<headius> enebo: well, cli and any load path munging
<headius> the decoded script needs to be able to reflect actual load filename
<bbrowning> enebo: so testing TB3 w/ jruby 1.7.21-SNAPSHOT I'm getting an NPE from java.io.File.<init>, called from https://github.com/jruby/jruby/blob/jruby-1_7/core/src/main/java/org/jruby/RubyInstanceConfig.java#L711
<bbrowning> so a null must be getting passed for the jruby home
<headius> hmm
<enebo> bbrowning: ah mkristian had a commit involving jruby.home
<enebo> headius: This surprises me: mri22 -e 'p __FILE__.frozen?'
<enebo> headius: I guess enough people munge this actual string?
<enebo> heh don’t use __FILE__ in a loop
mkristian_ has joined #jruby
<Antiarc> headius: I rather enjoyed your optimization talk!
<headius> Antiarc: thank you!
<Antiarc> When you got to the volatile part, I started grepping around the codebase - are any volatile fields enough to trigger the volatile writes per allocation? String, Hash, and Array all have volatile fields
<Antiarc> It got me wondering if there might be potential improvements to be had there
<enebo> headius: I added one comment about a missing hard failure..you e.printStackTrace otherwise my only comment is the parameter proliferation of loadScriptFromFile (not that I can suggest an improvment unless we can pass a *Resource in as the replacement?
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to master: http://git.io/vqlmS
<JRubyGithub> jruby/master 7c7dfb0 Christian Meier: [build] adds enforcer rule for maven-3.3.x
JRubyGithub has left #jruby [#jruby]
<headius> yeah the pST just needs to be deleted
<headius> enebo: not all places that call this have resource available
<headius> I don't like it either
<enebo> headius: I think my idea of passing in *Resource and using that may be too difficult
<enebo> headius: A resource in theory thought know if it is absolute and whether it has this addiitional name but I tried tracing through and I have no idea whether it works
<enebo> thought=ought
donV has quit [Quit: donV]
<dfr|work> howdy folks
<dfr|work> so I see mkristian_ merged the change for the classpath resources. Yay :D
<projectodd-ci> Project jruby-master-spec-ji build #1666: STILL FAILING in 2 min 14 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1666/
<headius> enebo: this is a little utility that probably should be rethought and put somewhere more logical
<headius> at that point the signature can get cleaned up
<enebo> headius: yeah
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to ir_filename: http://git.io/vqlnK
<JRubyGithub> jruby/ir_filename ba8db4f Charles Oliver Nutter: Cleanup filename and load logic for precompiled scripts.
JRubyGithub has left #jruby [#jruby]
<headius> the actual script-executing logic in 9k needs a cleanup anyway...too much abstraction for little gain
djbkd has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 2 new commits to master: http://git.io/vqlcU
<JRubyGithub> jruby/master 32ef1f0 Charles Oliver Nutter: Do not persist filename in IR; require it when loading....
<JRubyGithub> jruby/master bce9d5c Charles Oliver Nutter: Cleanup filename and load logic for precompiled scripts.
JRubyGithub has left #jruby [#jruby]
<headius> enebo: pushed to master with some cleanup
JRubyGithub has joined #jruby
<enebo> headius: coolio
<JRubyGithub> [jruby] headius deleted ir_filename at ba8db4f: http://git.io/vqlck
JRubyGithub has left #jruby [#jruby]
<headius> I'm going to close out the issues
<enebo> bbrowning: 5c45c391 * set ENV['RUBY'] when jruby.home is not regular directory
<enebo> bbrowning: this seems to involve jruby.home internally
yfeldblum has joined #jruby
<enebo> bbrowning: although it is more about spawning ruby if no real home exists
<bbrowning> TorqueBox calls config.setJRubyHome
<bbrowning> after creating a RubyInstanceConfig
<bbrowning> but now the jruby home gets looked for when a RubyInstanceConfig is initialized, it appears
<enebo> bbrowning: so this happens before you set it so then it gives you this RUBY env
<enebo> mkristian_: you still awake?
<mkristian_> I am following this - yes
<enebo> bbrowning: so if this is literally just ENV[‘RUBY
<projectodd-ci> Project jruby-master-spec-ruby build #132: STILL FAILING in 2 min 7 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/132/
colinsurprenant has quit [Quit: colinsurprenant]
<enebo> being redefined can you patch that locally and see if it fixes things
<enebo> bbrowning: mkristian_: It would be nice to know if this is really the issue or not
<enebo> mkristian_: but read up a little bit…tb3 stopped working since 1.7.20 and it might e the issue above
<bbrowning> enebo: I'm not following everything you said about ENV['RUBY']
<enebo> that commit seems to make a new entry for ENV[‘RUBY’] to where Ruby is if it cannot find a valid jrubyhome
<enebo> it does that before you set yours
<projectodd-ci> Project jruby-master-test-slow_suites build #1648: STILL FAILING in 3 min 11 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1648/
<enebo> and then if I had to guess you use this newly defined one
<bbrowning> hmm
<mkristian_> so you are saying tb3 stopped working because there is ENV['RUBY'] ?
<enebo> although it seems like this is just going to find the right thing
<enebo> mkristian_: I actually don’t know
<bbrowning> mkristian_: I think it's something else
<enebo> mkristian_: something changed and it seems like it is related to jruby.home in some way…I just noticed this perusing commits
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] DougEverly opened issue #3110: Unable to load Sybase driver in rc1, works in pre2 http://git.io/vql8I
JRubyGithub has left #jruby [#jruby]
<projectodd-ci> Project jruby-master-spec-compiler build #1643: FAILURE in 3 min 2 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1643/
<bbrowning> we override getJRubyHome() in our own subclass and since that now gets called during RubyInstanceConfig initialization it's null, thus leading to new File(null) which throws NPE
<enebo> bbrowning: It seems you should call super.getJRubyHome()
<bbrowning> there's probably a good reason we don't, although it likely relates to older jruby versions
<enebo> bbrowning: yeah this null check stuff is from 2011
<enebo> bbrowning: I know I would be a dick and open to reprisals if I mentioned a comment would have helped know why you did not call super :)
<enebo> bbrowning: but pot, kettle, black
<mkristian_> so it is matter of checking jrubyHome is null before creating new File(jrubyHome) - no ?
<enebo> mkristian_: but if he is setting it for sure then it seems something else somehow already picked up null?
<Antiarc> Huh, why is maven 3.3+ required now? Fedora 21 seems to only offer up through 3.2.2
<enebo> or something?
<headius> Antiarc: there's a script in there to fetch mvn 3.3.1 if you don't have it
<headius> mvnw I think
<enebo> ,/mvnw
<mkristian_> ./mvnw
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:026b0d9 by Chris Seaton): The build failed. (https://travis-ci.org/jruby/jruby/builds/69780362)
travis-ci has left #jruby [#jruby]
<enebo> which came in handy for me on windows because I did not want to install a newer one
<bbrowning> enebo: well, I set it too late
<bbrowning> enebo: I set it after initializing the instance but in the constructor it looks for the jruby home
<enebo> bbrowning: yeah exactly ubt it was not earlier
joast has joined #jruby
<Antiarc> Cool. Thanks.
<enebo> bbrowning: so something is getting it before you set it
<bbrowning> I can workaround this for now by passing it in on the constructor I think - I traced the TB code back to early 2010 and it was this way then
<bbrowning> no idea why though
<bbrowning> this was back in jruby 1.5.x probably?
<mkristian_> Antiarc, I was unsure if this is good idea to check. there were people running into issues building jruby-complete with mvn-3.2.x
<Antiarc> headius: FWIW, that breaks jruby-head via RVM if you don't already have 3.3 installed
<headius> rvm needs to update how they build
<Antiarc> I can get around it since I have the source tree locally and can execute mvnw, but other users may have issues
<enebo> bbrowning: huge bonus if you can fix it on tb side but with that said people will break immediately if we release right?
<headius> good point though
<bbrowning> enebo: people will only break if they upgrade the jruby shipped with tb3
<enebo> bbrowning: aha cool
<bbrowning> some people do, but most wait for us to put out a new release
<enebo> bbrowning: but it is reasonable to say wait for new tb3 bits then
<headius> Antiarc: I still can't repro from rvm
<headius> freshly reinstalled jruby-head
<bbrowning> enebo: I wouldn't worry about delaying your release just for new tb3 - if tb users complain to me we know the issue
<headius> I tried with and without --dev
<Antiarc> bah, mvnw doesn't update my global maven version, give me a few to work around this
<enebo> headius: you removed mvn 3.3 from path?
<headius> enebo: different issue
<enebo> bbrowning: well this will be the issue if you find no others…I hope anyways
<enebo> headius: ah
<headius> some folks are still seeing AIOOB in variable scope running off head
<headius> same thing we fixed
<enebo> bbrowning: sorry again for asking so late
<headius> I can't repro
<bbrowning> it's fine
<mkristian_> headius, I thought mpapis wanted to switch rvm to use mvnw ?!
<headius> mkristian_: beats me!
<enebo> headius: yeah crud…that seems like perhaps there is something beyond flip not getting alloc’d during parse time
<enebo> headius: or we have some path not pulling the growable binding scope
<enebo> headius: but the later case presumably would fail 100%
<enebo> headius: former would too
<enebo> :)
<headius> enebo: I would expect to be able to repro
<enebo> yeah
<enebo> my very idirect way of saying the same thing
<enebo> IDIRECT
<headius> Antiarc: you can just unpack maven dist and add to PATH, worst case
<Antiarc> Yup, done and building
<headius> iDirect
<Antiarc> I just prefer to stick to system packages where possible, but the build must go on!
<headius> yeah, we're bleeding edge here
<headius> mostly because the build is written in ruby maven now
<headius> mkristian_: dunno if you ever saw my feature request... when ruby-maven spits out pom.xml it should have a big fat comment saying it's generated
<headius> I wasn't sure where to file that as an issue
<headius> mkristian_: oh hah, it does!
<headius> nevermind
<mkristian_> I did implement it
<headius> I had not checked recently because I have not had to mess with pom.xml for a long time :-)
<mkristian_> so I did see your request :)
<headius> thank you for that!
<headius> I may do a reformatting pass on our pom.rb's to make them a bit more idiomatic ruby
<headius> actually it isn't bad right now
<Antiarc> headius: Still failing locally for me. The immediate thing I think of is that I'm on Linux, as is Travis, and you're on OS X IIRC?
<headius> I am
iandow has left #jruby [#jruby]
<Antiarc> I may see if I can produce a failing build in a docker env :)
<headius> but that shouldn't make a difference for something like this :-(
<headius> I will bring up my vm and try to repro there
<enebo> Antiarc: and lots of people are on linux envs building master right now
<Antiarc> I'm doing an RVM update and another clean install to limit variables
<Antiarc> enebo: Can you repro #3102?
<enebo> Antiarc: I am also on MacOS (but I think largely it is me and headius as the remaining MacOS folks)
<headius> Antiarc: I have an ubuntu 14.04 build running now
<enebo> I find it weird this would be system dependent unless the gem itself has a special code path for linux
<Antiarc> It doesn't
<Antiarc> And yeah, I agree, it's just the first thing I thought of that I have in common with Travis that headius' env doesn't! :)
<headius> pretty sure travis is 14.04 too so this better repro
<headius> Antiarc: JVM version?
<Antiarc> 1.8 openjdk, will get an exact version in a sec
<Antiarc> openjdk version "1.8.0_25" OpenJDK Runtime Environment (build 1.8.0_25-b18) OpenJDK 64-Bit Server VM (build 25.25-b02, mixed mode)
<enebo> JRUBY_OPTS? some other initialization?
<Antiarc> opts are -J-XX:+TieredCompilation
<Antiarc> yeah, blew up again
<enebo> Antiarc: this will generate a large file but adding -Xir.debug=true and doing >output 2>&1 and you should be able to see what executed last
<enebo> Antiarc: it is a little tricky because you need to scroll back to first occurrence of the Exception
<Antiarc> Sure, give me a few
<headius> sunuva
<enebo> Antiarc: but -Xir.debug should be in JRUBY_OPTS since you probably subinvoke
<headius> did not repro
<Antiarc> yup
<headius> java 7 on this instance
<enebo> 2015-07-06T13:30:02.500-07:00: InterpretedIRMethod: Executing 'mon_check_owner'
<enebo> BUG: Got exception java.lang.ArrayIndexOutOfBoundsException: 2 but instr <str(0:2:local=true)> = copy(%cl_4_9) is not supposed to be raising exceptions!
<Antiarc> That looks like monitor stuff?
<enebo> Antiarc: Could you add another flag to make an even bigger file?
<Antiarc> soitenly
<enebo> -Xir.compiler.debug=true
<Antiarc> Should be right around 2mb gzipped
<Antiarc> 30mb unzipped
<headius> I've tried multiple flags and can't get it to blow up
<headius> I'll grab java 8 and see if that helps
<Antiarc> I'm doing a fresh non-rvm build to test, as well
<headius> anything else jruby-related in your env?
<Antiarc> Not AFAIK; it's mostly vanilla
<enebo> Antiarc: remove those debugging flags but add ‘-X-C -Xjit.threshold=0 -Xjit.background=false’
<Antiarc> And the fact that it breaks on travis would suggest it's not a polluted env problem, too
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:5b411a2 by Christian Meier): The build failed. (https://travis-ci.org/jruby/jruby/builds/69784089)
travis-ci has left #jruby [#jruby]
<enebo> Antiarc: I expect this to fail
<Antiarc> kk. Give me a sec, finishing this build
<enebo> Antiarc: then change threshold=-1 and try again
<Antiarc> threshold=-1 resulted in the same exception
<nirvdrum> mkristian_: Is there a straightforward way to have source JARs created for local install?
<Antiarc> Like so, yeah?
<mkristian_> nirvdrum, you need to copy the config from this parent pom into the release profile. the only way currently is via -Poss-sonatype-release
<nirvdrum> Okay, thanks.
<enebo> Antiarc: yeah but just in case I am misreading actually ‘—dev’ would have worked
<nirvdrum> Are there any problems with me doing that and pushing?
<Antiarc> Interesting, non-RVM jruby-head just built works just fine. How curious.
<nirvdrum> I don't want to cause cascading build issues.
<Antiarc> running with --dev breaks
<enebo> ok
<enebo> So IR is accessing the wrong scope but this test shows up even without creating a CFG or running any compiler passes it still breaks
<Antiarc> whoa, this is weird.
<Antiarc> `JRUBY_OPTS="--dev" rake -T` breaks
<Antiarc> `JRUBY_OPTS="--dev" jruby `noglob rake` -T` passes.
colinsurprenant has joined #jruby
<headius> I have 8 now, attempting to repro again
<enebo> So jruby —dev ./bin/rake -T works too?
<headius> Antiarc: rake -T in manticore?
<Antiarc> No, wait, rake is just straight-up working now.
<Antiarc> headius: Yup
<Antiarc> lemme install with binstubs
<enebo> Antiarc: is it possilbe you are overriding JRUBY_OPTS in your build env for that gem?
<Antiarc> ...`bundle --binstubs` breaks. Well okay.
<Antiarc> enebo: I...really don't think I am.
<Antiarc> It's failing when parsing the gemspec reference from the Gemfile
<enebo> heh ok. just wondering outloud if you are really getting rake -T to fail
<Antiarc> There's nothing really wrong there, is there?
<enebo> Antiarc: but yout -T command probably loads the same gemspec right?
<Antiarc> Yup
<Antiarc> jruby `which bundle` --binstubs <-- works just fine
<Antiarc> But `bundle --binstubs` breaks. So that's super odd.
<Antiarc> This is a 100% fresh jruby-install. I blew away jruby-head about 30 minutes ago.
<enebo> Antiarc: yeah seems much more like some different code path when it knows something about the full path
<enebo> Antiarc: that knowledge avoids hitting this variable scoping bug perhaps
<headius> nothing repros :-(
<Antiarc> enebo: bin/rake -T works.
<Antiarc> I'm gonna just spin up a docker instance so I have a 100% isolated env
lanceball is now known as lance|afk
<headius> well I'm out of ideas
<enebo> Antiarc: headius: This is the code blowing up: https://gist.github.com/enebo/fca5e80321b97c5375ef
<enebo> WHERE IS IT?
<Antiarc> rubygems probably?
<enebo> I see it is trying to call load on binpath of rake
<enebo> lower in it
<headius> looks like the rubygems binstub for rake maybe?
<enebo> but like 20 on the gist is blowing up because however this is execuytring does not have a index 2 for ‘str’ variable
<bbrowning> enebo: I'm not seeing things like "ActionView::Template::Error (undefined method `initStandardObjects' for :run:Symbol)" in tb3 integs w/ latest jruby
<bbrowning> now*
<enebo> this is also a closure
<bbrowning> coming from asset compilation
<bbrowning> so perhaps something in therubyrhino?
<projectodd-ci> Project jruby-master-spec-ji build #1667: STILL FAILING in 2 min 0 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1667/
<Antiarc> target/rubygems/bin/rake looks like it
<enebo> bbrowning: :|
<enebo> bbrowning: well unfortunately I think this will probably end up being a bisect
<enebo> Antiarc: crazy
<enebo> Could -S load this much differently?
<enebo> Also I see zero closures in here
<enebo> bbrowning: no pressue on solving this today since Iknow your work day is almost over
<headius> enebo: where do you see a closure in the IR?
<enebo> bbrowning: it is a little too late in the day for my tastes to announce a release
<enebo> headius: all of the temp vars are closure temp vars
<enebo> %cl_*
<headius> hmmm
<headius> this definitely looks like the right source
<headius> eval'ed into a closure perhaps?
<enebo> yeah it must be and we are pulling up depth 0
<enebo> which is maybe replced with closure binding scope or something like that?
<enebo> headius: so I think the bug here is MacOS is figuring out where this stub is an strarting it differently
<enebo> headius: it could be environmental where we somehow have a property cheald doesn’t or perhaps somehow fs thing (STAT!!!) works for us so we go down a different path
<enebo> headius: so we work and he hits this funky eval we are broken on
<headius> could be
<enebo> headius: at least it seems a reasonable guess since we see lvar str (0:2) and there are not actually two lvars
<enebo> I am confused about why these are CL temps
* rtyler borks
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to jruby-1_7: http://git.io/vqlMS
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> jruby/jruby-1_7 d0a2955 Christian Meier: adds rmvn command since it comes with ruby-maven and make regular bin/mvn inside the gem executable
<Antiarc> Lemme throw an exception in there and I'll get a ful lstack trace
<enebo> we do have some closure types which are not really closures
<enebo> like for, BEGIN, END
<Antiarc> is file scope a closure?
<enebo> Antiarc: yeah excellent
<enebo> Antiarc: EvalScripot is
<headius> hmmm
<headius> jruby -e "eval '1.times { ' + File.read('bin/rake') + '}'"
<headius> if I run that on OS X in jruby dir it runs rake fine
<headius> if I run that on linux it can't figure out how to load rake
<enebo> headius: interesting…different behavior how I wonder
<Antiarc> Not much to it
<Antiarc> eval File.read($0), binding, $0
<Antiarc> That's jruby_executabke_hooks:15
<Antiarc> So it is running that in an eval
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> [jruby] mkristian opened issue #3111: jruby -C uri:classloader:/ -e '`/bin/hostname`' http://git.io/vqlDp
<enebo> Antiarc: ok so this is something rvm-specific which is definitely on the money for our problem
<Antiarc> That makes sense, since the other place this has shown up is travis, which also installs under rvm
<headius> I Will try rvm on my vm
<enebo> reproduced on macos
<enebo> just run this in manticore althoulgh probably does not matter where
<Antiarc> I have to run out for about 2h, just leave me a highlight if you need anything further from me
<enebo> Antiarc: I can get it to happen locally now
<enebo> Antiarc: we will need to solve this for rc2
<Antiarc> Cool. Good luck with it!
colinsurprenant has quit [Quit: colinsurprenant]
<enebo> headius: ^ this in manticore does it
<headius> on OS X too?
<enebo> interestingly this is not happening in a sampling of other gems
<enebo> yeah on osx
<headius> nice
<Antiarc> The guy that originally reported it was reporting another gem, too
<enebo> I should have use HOME[ENV] but try it and confirm
<Antiarc> so there may be something common between the gemspecs that is blowing it up
<Antiarc> lograge
<enebo> Antiarc: yeah good thing to look into
<Antiarc> Looks super vanilla to me though
<Antiarc> Okay, I'm out, good luck with it!
<headius> I still can't repro
<headius> oh in manticore
<headius> will try that too
<headius> oh yeah, works
<enebo> wow could we be pushing and not popping
<headius> I mean repros
travis-ci has joined #jruby
<headius> so wtf
<travis-ci> jruby/jruby (master:7c7dfb0 by Christian Meier): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/69785901)
travis-ci has left #jruby [#jruby]
<headius> ok yeah, so it's something in the gemspec
<headius> not the stub
<headius> but loading the stub causes it?
<headius> blows up with threshold=0 too
<enebo> ok I removed all but one gem from Gemfile but I reliaze this also loafs fro gemspec
<enebo> so I will eliminate all but gemspec
<headius> this line from bundler does the eval that fails: eval(contents, TOPLEVEL_BINDING, path.expand_path.to_s)
<headius> TOPLEVEL_BINDING probably isn't growing right
<headius> bundler.rb:406
<enebo> well the rvm one is wrong if you think about it
<enebo> is just calls binding
<enebo> but this means we don’t understand something
<enebo> like did they cheat on toplevel?
<headius> hmm
<enebo> DEPENDENCIES
<enebo> manticore!
<enebo> only dep in the lockfile :)
<enebo> headius: Gestaltnig a bit TOPLEVE_BINDING and the binding we pass in should be different in 2.1+ semantics
<enebo> headius: but I doubt these two depend on each other to work
<headius> I'm trying to determine what TOPLEVEL_BINDING Looks like right now
<enebo> but no deps and it still fails
<enebo> I guess the dep is itself
<headius> I see the call to prepareTopLevel in ThreadContext/Ruby.init, but I don't see where we push a scope for it
<headius> enebo: 73df3d230b9d92c7237d581c6366df1b92ad9b2b
<headius> what's all that about
<headius> there's a comment in Ruby.tearDown about this commit
<bbrowning> enebo: headius: I have to run, but https://gist.github.com/bbrowning/6888795a288e12ad40ec
<bbrowning> therubyrhino is broken on 1.7.21-snapshot
<bbrowning> that's a simple reproducer
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to jruby-1_7: http://git.io/vqldk
<JRubyGithub> jruby/jruby-1_7 1fd27e6 Christian Meier: use user.dir as CWD when code is inside a jar on backquote execution...
JRubyGithub has left #jruby [#jruby]
<enebo> bbrowning: thanks for tracking it down
<bbrowning> something to do with block implementation of java interfaces
<bbrowning> the yielded context variable in 1.7.20 is a Context java object but in 1.7.21 it's the symbol :run
<headius> enebo: I don't see any scope being pushed before TOPLEVEL_BINDING is created
<headius> but it tries to use getCurrentScope
<headius> for the binding
<enebo> headius: well that could be it :)
bbrowning is now known as bbrowning_away
<headius> pushing one doesn't appear to fix it though :-\
<enebo> headius: reading this patch…if I remember we were pushing two dynamicscopes all the time
<enebo> headius: not just for toplevel
<enebo> headius: this was a little more about us having two runtimes than what was supposed to be a significant internals change
<headius> I'm step-debugging the eval now
<enebo> headius: I mean it was significant but not for the sake of killing some field we had forever
djbkd has quit [Remote host closed the connection]
djbkd has joined #jruby
djbkd has quit [Remote host closed the connection]
djbkd has joined #jruby
<headius> enebo: ok I know what line/instr it is
<enebo> hmm
<headius> and the static scope and IRScope don't appear to agree on how many vars there should be
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<headius> I see the static scope has one var, "lib"
<headius> and IR is trying to write to offset 2
<enebo> headius: well Antiarc saw it with str(0:2) but no doubt exactly the same cause
<headius> <lib(0:2:local=true)> = copy(%cl_2_5)
<headius> offset 9 running with jit threshold=0
<headius> I mean ipc 9
<enebo> headius: yeah so when we set up the eval we end up with the wrong scope and it cannot find the var
<headius> yeah, but I confirmed it's the right scope through parse and execute
<headius> so far anyway
mkristian_ has quit [Quit: Ex-Chat]
<enebo> headius: this has to be a binding I am betting replacing the non-binding?
<enebo> err not replacing per se
<enebo> but being first
<headius> well it's a different path for binding eval versus non-binding eval
<headius> it uses binding.getEvalScope
<enebo> headius: if you look at parent dynscope is the var there?
<headius> checking
<enebo> headius: err look at parent staticscope
<enebo> headius: even if so it is unclear why we we are wrong
<headius> I see no vars at all in parent scope
<enebo> headius: did this happen before rc1 was put out?
<enebo> headius: do we know?
<headius> I don't know
<Antiarc> It broke recently
<Antiarc> Last month or two
<Antiarc> After rc1
<enebo> hahaha
<enebo> ok after rc1 is better
<enebo> two months is not so narrow
<enebo> headius: perhaps we bisect then
<headius> enebo: the AST has lib as offset 0
<headius> something in IR is sliding it over to offset 2
<enebo> are you sure not depth?
<headius> but not updating the scope
<enebo> oh
<enebo> hmm
<headius> well I dunno this output for sure
<Antiarc> I think I left a bisect in the ticket
<enebo> OMGZ
<headius> lib(0:2:local=true)
<enebo> This is your last commit
<headius> eh?
<enebo> we must be usng lvars + 2 in IR maybe match and undersore
<headius> oh hell
<enebo> so we need to add 2 more
<headius> that could be
<headius> I don't know where that is
<enebo> headius: I did not actually notice that when we futzed with this though
<enebo> headius: I feel very close to remembering something
djbkd has quit [Quit: My people need me...]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tcrawley is now known as tcrawley-away
<headius> heh
<enebo> headius: at one point I thought we were using dynscope slots for storage
<enebo> but I can find no evidence of that now
<headius> me neither
<enebo> I did however see a dead class SharedBindingDynamicScope
<headius> I'm going to try to step to the compile phase where it does this
<enebo> headius: did you try changing back to using irscope size?
<headius> no
<subbu> headius, i remember looking at that commit and wondering if htat was right .. but it was late at night and I didn't press it.
<enebo> subbu: it is wrong with flip vars
<subbu> enebo, ok.
<subbu> anyway .. i think IRScope maintains its counts.
<enebo> subbu: at least we konw it is wrong for that
<enebo> subbu: yeah I am thinking we consider alloc’ing them during parse
<subbu> i want to kill %current_scope and %current_module one of these days. i don't remember why it is local-var instead of tmp.
<enebo> subbu: if we ever support them
<subbu> enebo, ok. what do you mean? reg. "if we ever support them"?
<enebo> subbu: make flip vars work again
<subbu> i see .. considering not supporting them at all?
mcclurmc has joined #jruby
<subbu> my ruby and ir internals knowledge is getting a bit rusty over the last year. i seem to be forgetting small details here and there.
<enebo> subbu: current_scope and %current_module are both tempoarylocalvariables
<subbu> ok .. so, what the are the other sources of extra vars then? something with %closure?
<subbu> i think that is it.
<subbu> or whatever i called it.
<headius> bleh
<headius> so I see logic in IRBindingEvalScript to get new local vars
<headius> it's using nearestNonEvalScope.evalScopeVars
<headius> a map
<headius> I don't know what's up with that map
<headius> LocalVariable lvar = new ClosureLocalVariable(name, 0, nearestNonEvalScope.evalScopeVars.size());
<headius> IRBindingEvalScript.getNewLocalVariable
<enebo> shared scopes need to maintain across evals what vars
<subbu> i think there maybe 1.8 / 1.9 logic there? or has it been updated?
<headius> IREvalScript does it the same way as IRClosure
<enebo> subbu: still somewhat relevant
<subbu> k
<enebo> if you save the same binding that eval scope can grow over time
<enebo> so I think we save map of vars in case new eval can then know where the var is located
<headius> yeah ok
<headius> so it's trying to use the scope around the eval rather than the binding scope
djbkd has joined #jruby
<enebo> this is why staticscope ends up having an irscope for eval
* subbu leaves this to headius and enebo to figure out ..
<headius> nearestNonEvalScope = -eSCRIPT_BODY
<enebo> hah
<headius> and then it uses that scope's eval scope rather than the binding one
<enebo> headius: which would be top-level?
<headius> or at least that scope's evalScopeVars map
<enebo> yeah it sort of implies SCROPT_BODY can get this extra freezone for vars
<headius> that evalScopeVars has two values in it
<headius> str and version
<enebo> headius: so there is your 2
<enebo> headius: so I think EvalScriptBody is growing but we stopped adking how big staticscope should be
<headius> this line changed on march 6
<headius> by subbu
* subbu wakes up
<enebo> headius: so I think that var count method is probably including those counts so things don’t blow up?
<headius> d8e4959ff9bcb34f6667e484665d61afe438d863
<headius> enebo: it's trying to preserve eval scope vars across evals, but for this case with binding it should just be going directly at the existing eval scope (I think)
<enebo> headius: but that binding can grow and keep growing
<headius> I have a trivial repro
<headius> eval 'a = 1'; eval 'b = 1', TOPLEVEL_BINDING
<enebo> headius: but I am not sure if our staticscope is growing along with it?
<headius> binding evals should not be looking at the scope around the eval at all
<headius> but they are
<headius> this isn't specific to TOPLEVEL_BINDING either
<headius> I think it would work with any scope + binding eval combination
<headius> work = break
<enebo> headius: funny you add p a instead of b = 1 and it does not fail
<enebo> and behaves as expected
<headius> yeah there's something weird about how it's doing binding evals
<headius> it's trying to root them in current lexical
<headius> or something
<enebo> headius: so it is weird it is saying b is (0:1)
<headius> and getting confused thinking they're both the same scope
<enebo> it should be (0:0) and in its own staticscope
<headius> yes
travis-ci has joined #jruby
<enebo> headius: ok so I wonder if we were broken before and happened to work because we just grew large
<travis-ci> jruby/jruby (jruby-1_7:d0a2955 by Christian Meier): The build has errored. (https://travis-ci.org/jruby/jruby/builds/69797484)
travis-ci has left #jruby [#jruby]
<enebo> headius: not meaning we really worked either but we did not crash
<headius> I don't know
<headius> this is kinda gnarly in here
<enebo> less gnarly than it was several months ago
<enebo> we had two scopes per eval all the time
<enebo> one seeming never reachable
<headius> yeah this whole thing looks weird to me
<headius> IRBindingEvalScript
<enebo> headius: easily the most complicated scope
<enebo> headius: if you are not using it…-Xdeubg.parser=true is really useful here
mcclurmc has quit [Remote host closed the connection]
<enebo> headius: yeah this is flat out wrong although interesting
<enebo> headius: in that it might work anyways
<enebo> headius: it statically looks for a saved staticscope
<enebo> headius: it will find one
<enebo> headius: it will grow it
<enebo> headius: eveny eval constantly tries to grow to fit
<enebo> headius: we deleted the magic which would constantly grow the staticscope
<enebo> headius: even though all these bindings are different we still universally use the same index for the same name
<headius> I'm trying to figure out how we should root the TOPLEVEL_BINDING
<enebo> headius: so even though we actually grab different eval scopes from the binding they all grow big and store properly
<headius> I think that plays into this
<headius> because TOPLEVEL_BINDING has its own eval scope, but appears to be rooting at SCRIPT_BODY anyway
<headius> so the binding parse uses script body's eval variables and then tries to put them in the binding's eval scope
<subbu> headius, enebo isn't the top level binding pushed in Ruby / Main or one of those files .. i vaguely remember looking at this a year back and seeing it being pushed there.
<headius> subbu: I could not find it
<enebo> can you both read my narrative
mcclurmc has joined #jruby
<enebo> I don’t think this is a great soltuion but I think it explains why it broke recently
<subbu> enebo, my memory is rusty to respond in any useful way to that. :)
<headius> I see topStaticScope get pushed in ThreadContext
<headius> constructor
<subbu> right, and i think that is probably called from Ruby / Main?
<enebo> subbu: basically we do not pass staticscope from the binding in so we use the same staticscope at the highest non-binding eval scope to determine offset for new lvars
<enebo> subbu: this offset just ends up being distinct from any other eval which may use the same name in its eval
<subbu> i see .. because the shared staticscope is not being passed around?
<enebo> subbu: so two evals using the lvar ‘frog’ wll both get an offset of n even though they are not the same bindings because we statically always use the same level staticscope
<subbu> but, what is the current ruby behavior for that anyway?
<enebo> subbu: so then when we call evalCommon we ask the scope to grow
<subbu> eval "a = 1"; eval "p a" .. are those 2 different vars or same var?
<enebo> subbu: so then if gets enough slots to hold all evals which happen at same leve even though that is not what happens
<enebo> subbu: yeah those are two different vars with two differenty dynamic scopes but the IR processing will use the same static scope to figure out its offset
<enebo> subbu: which is why we constantly try and grow ‘evalScope.growIfNeeded();'
<enebo> subbu: if we could pass the staticscope of the binding in our IRBuild we could then create proper staticscope/dynamic scope of proper size BUT I don’t know if we can easily make a change like that
<subbu> i see. so, the bug is that IREvalBindingScript is not being constructed with the static-scope that it is attached to?
<enebo> subbu: yeah and maybe it is diffiult
<headius> maybe...that's what I'm trying to fix now
<subbu> eval "a = 1" should implicitly translate to eval "a=1", new-static-scope
<enebo> subbu: we need to get static scope from live bindnig and pass it to the IRBuild of the eval script
<subbu> so that eval "a=1", some-binding works as expected without special cases
<subbu> got it.
djbkd has quit [Remote host closed the connection]
<subbu> yes, so, this is a problem in our modelling of bindings.
<subbu> maybe because behavior in 1.8 was different or because i never understood this properly.
<enebo> subbu: if I had to guess at this point it was because you could not change code path to pass it in easliy
<subbu> yes, that could definitely have been a factor as well.
<enebo> subbu: 1.8 was different but a simple case since this logic would always work
<enebo> subbu: ah
<enebo> subbu: that explains it
<enebo> subbu: you impld this for 1.8 originally
<subbu> while i am in jruby land .. let me finish up that patch for that ACP pass bug and push it.
djbkd has joined #jruby
<enebo> yeah this is messy
<enebo> it passes in the binding’s staticscope already but then it frets over whether the parent of it is also an eval with binding
<headius> a binding eval already has a scope it should use
<headius> I'm not sure why this wants to walk into parents at all
<enebo> headius: I think to resolve lvars
<subbu> yes .. to resolve vars.
<headius> yeah but why is it storing the eval vars at some higher level? we literally just gave it a scope to eval in
<enebo> headius: intermediate evals will not all have tiehr own var scopes
<headius> intermediate?
<headius> we're giving it a binding that has a scope that has an eval scope slot
<headius> right?
<enebo> headius: seems like currently we pass the static scope of that slot of the eval holder in
<enebo> then we walk down
<headius> or perhaps we should not be using evalScope from binding at all and let IR find it?
<headius> basicalyl we have to ways to find the eval scope to use, and we're using both of them
<enebo> headius: we have to use this scope for lvar resolution for repeated binding evals
<headius> and I don't know which is right
<subbu> grr .. looks like i have to update mvn to build.
<headius> enebo: right, but that should still be the same scope every time
<headius> so it should see the vars from last time
<headius> we get binding.getEvalScope and pass that in
<headius> same scope
<enebo> headius: yeah it is the walking down which is the issuye
<headius> but then IR takes taht scope and walks away from it
<enebo> headius: I admit this part really does not make sense at the moment
<subbu> headius, enebo is this findExistingLocalVar ?
<enebo> headius: I can see we want a base to look for existing lvars first
<enebo> headius: and I can see walking to find that
<headius> subbu: yeah, and the code near it in IRBindingEvalScript
<enebo> subbu: and the constructor
<headius> enebo: searching parents for higher-scoped vars is fine but it's starting from the wrong place and using the wrong place to store new vars
<enebo> public LocalVariable lookupExistingLVar(String name) {
<enebo> return nearestNonEvalScope.evalScopeVars.get(name);
<enebo> }
<enebo> This should just be staticScope.get(name)
<enebo> perhaps this is to use IRScope
<enebo> but staticScope would have worked
<enebo> since we passed in the right one
<enebo> then we would grow that
mcclurmc has quit [Remote host closed the connection]
<enebo> although we still need a vars list in an IRScope
mcclurmc has joined #jruby
<subbu> headius, enebo ok .. so, it seems to be looking in parent-scopes first instead of the passed in static-scope.
<subbu> which is odd .. which is what i think you two are saying.
<headius> this makes my repro work properly
<headius> but I'm shooting in the dark here
<headius> subbu: yeah exactly
<headius> it walks up to nearest non-eval scope and uses its eval scope rather than the one we've explicitly passed in
<headius> because this is TOPLEVEL_BINDING it already has its own IRScope from the script so the new variables are allocated by IR in the wrong place
<enebo> I think maybe staticScope.getIRScope() will return the proper IRScope assuming it has been set
<subbu> yes, this is broken.
<headius> updated gist with more context
<enebo> that can replace the nearestNonEval business
<enebo> perhaps first parse wll not have it yet…that is the caveat to that
<enebo> headius: yeah I think that looks better to me…perfect I don’t know
<subbu> ok, so, what is the evalscopevars business again? :)
<enebo> headius: but staticScope matches actual staticScope of the binding
<headius> I'm just guessing at this
<headius> just removing the walking up
<enebo> headius: you are setting this evalscript as the staticScope IREvalScript
<enebo> \BUT
<subbu> i think there has to be walking up for vars that aren't found in the scope. but, after the current scope has been looked up.
<enebo> what happens on the seoncd eval ot the same binding?
<enebo> you will just replace it again
<enebo> replace it with a new IRBindingEvalScript
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/vq83G
<JRubyGithub> jruby/master 539baf0 Benoit Daloze: [Truffle] Allows to require paths starting with "./"...
JRubyGithub has left #jruby [#jruby]
<enebo> so I think that blankey init could become a conditional and you just use the first IRBindingEvalScript you get and after that you just keep using that one and do not setIRScope() more than once
<enebo> blankey = blanket although to some people those two words are the same
<projectodd-ci> Project jruby-master-spec-ji build #1668: STILL FAILING in 58 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1668/
<enebo> So seticScope.setIRScope() in Interpreter should be moved in ITBindingvalScript constructor and this.initEvalScopeVariableAllocator(false); should be a check to see if staticScope already has a IRScope
<enebo> If not it says this instance is its binding var scope and sets ir on the staticScope
<enebo> If one already exists it searches for vars there
<headius> enebo: I think you have a better grasp of this than me at this point
<enebo> headius: I may only be talking a mean game
<enebo> headius: I will try this
<headius> ok
<subbu> so, headius enebo .. why do we have a separate evalScopeVars map right now? isn't that no longer relevant in 2.0+ ruby world?
<headius> with my patch, the variable is still visible across evals
<headius> eval 'a = 1'; eval 'b = 1', TOPLEVEL_BINDING; eval 'p b', TOPLEVEL_BINDING
<headius> subbu: I think it's a relic from before we were using StaticScope as the canonical store of variable names
<enebo> subbu: it is relevant in that you need to save that extra growable scope somewhere
<subbu> i see.
<enebo> subbu: since repeated evals with same binding reference is still like the old days
<headius> enebo: my patch works because it't still the same StaticScope even with a new IRBindingEvalScript
<subbu> right, i think we are growing vars in static-scope now.
<subbu> anyway, i can review later tonight with fresh eyes post-badminton when i have more energy :-)
<subbu> after you guys push some commits, i.e.
<enebo> headius: heh…so same dynamicscope is attached?
<headius> enebo: dynscope comes from the binding
<headius> same dynscope, same static scope
<enebo> headius: well so does the staticscope
<headius> dynscope grows as needed, IR uses its static scope as the one to parse against
<enebo> headius: but your initVariables will end up replacing the IRBindingScope right
<headius> IRBindingScope?
<headius> initVariables?
<headius> what are you talking about man? :-)
<enebo> every time we call IRBindingEvalScope we reset the vars and re-replace that new instance as the IRScope on the static scope in the binding
<headius> I don't see us resetting anything
mcclurmc has quit [Remote host closed the connection]
<enebo> in Interpreter.evalCommon we setIRScope(my_new_ir_bindingevalscript)
<headius> sure, but we don't use taht scope for variable names anyway
<headius> we use the StaticScope
<headius> and that doesn't change because it's coming from the binding
<headius> it does reset the evalScopeVars but that's only populated during compile
blaines_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> headius: you know fwiw we only use irscope on staticscope to tell whether we are in an eval or not
<headius> sure
<enebo> headius: or which method which of course doesn’t matter
<headius> I think evalScopeVars should go away
<headius> if there are existing vars used by a subsequent eval we should just look them up again in the static scope
<headius> or rather, it doesnt' go away but it's only used during compile
<projectodd-ci> Project jruby-master-spec-ruby build #133: STILL FAILING in 1 min 54 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ruby/133/
<enebo> headius: yeah I guess I do not see the need for them either since we can ask staticscope…
<enebo> headius: for other scopes keeping a map is importnt because we want the actual variable reference back
<enebo> headius: but this IRScriptScope has its own localVars so we should just be usnig that
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to jruby-1_7: http://git.io/vq8GQ
<JRubyGithub> jruby/jruby-1_7 08ecc3c Christian Meier: do not run a backquote test on java-1.6.x
JRubyGithub has left #jruby [#jruby]
<enebo> headius: well all scopes has localVars but in this case these are actually just localvars
<projectodd-ci> Project jruby-master-test-slow_suites build #1649: STILL FAILING in 2 min 3 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1649/
<headius> those tables are just a mapping from name to LocalVariable
<headius> and that LocalVariable's index should be sourced from StaticScope
<enebo> headius: yeah which is important in the case of lovalVars and building
<enebo> headius: not so important after that point but we do not use them for evalScopeVars
<headius> heh, IRScope.getNewLocalVariable does it like my patch
<projectodd-ci> Project jruby-master-spec-compiler build #1644: STILL FAILING in 56 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1644/
<subbu> enebo, headius yes .. i think local vars map is sufficient .. the separate eval scope vars should not be required anymore.
<headius> using StaticScope as the source of the var
<enebo> headius: yeah we need all variables as the same instance
<headius> subbu: it is needed for a single eval to reuse the LocalVariable instance, but it wouldn't get a wrong offset even if we removed it
<Antiarc> Well, I'm back
<headius> it would just be wasteful
<Antiarc> And wow, we're still on this, eh?
<headius> Antiarc: :-)
<subbu> k
<headius> huh
<headius> I'm just going to remove these overrides
<enebo> headius:
<enebo> headius: HAHAHAH I just did that
<enebo> everything but the constructor
<headius> still works fine
<headius> I have not run tests at all though
<enebo> jruby -X-C -e "eval 'a = 1'; eval 'b = 2', TOPLEVEL_BINDING; eval 'c = 1; p b,c', TOPLEVEL_BINDING"
<enebo> fine deleting it all
<headius> nice
<headius> so what's the difference between this and IREvalScript now?
<headius> anything?
<headius> I'm running specs
<headius> specs pass
<enebo> headius: well we know it is an eval with binding
<headius> is that useful?
<enebo> not horrrible in java stacktrace
<headius> we don't see it in stack trace anyway
<headius> do we?
<headius> I thought interpreter just walked scopes, but we don't call through them
<enebo> heh…no I guess we wouldn’t
<enebo> and we do see it in the stack anyways by seeing where it came from higher in the trace
<subbu> remember the findMethod.<blah>. it needs to know about binding scopes.
<headius> specs pass with IRBindingEvalScript deleted altogether...trying MRI now
<subbu> but, i forget if that information is maintained via IRScope or happens in the runtime scope .. seems like 'I dont remember' is my refrain today :)
<enebo> so could the fatal flaw to removing this be multiple related bindings nested which need to access lvars?
<headius> huh, they claim they found alien microbes on the rosetta comment
<headius> comet
<headius> not comment
<subbu> rosetta comment?
<subbu> ah. :)
<Antiarc> Wow, really? Link?
<Antiarc> Like, extraterrestrial organics?
<enebo> eval 'eval "p a; b = 1; eval %q{p b}, three", two', one
<headius> evidence of
<enebo> yay…this worked
<headius> Antiarc: yah, complex organics
<Antiarc> O_O
<Antiarc> That's like...news of the millenium so far
<enebo> COMMENT
<enebo> eval 'eval "p a; b = 1; eval %q{p b}, three", two', one
<enebo> ^ This is alien life
<enebo> It works though
<headius> Antiarc: yeah, sounds like it hasn't been confirmed yet
<headius> and one of the guys who did the study previously claimed SARS came from space
<headius> so we'll see :-)
<enebo> yay
<enebo> eval 'b = 1; eval "p a; eval %q{p b}, one", two', one
<enebo> This one also works
<headius> MRI tests are passing
<headius> down to TestOpen3
<headius> so kernel, module, class, eval have passed
<enebo> headius: did you leave this: staticScope.setScopeType(IRScopeType.CLOSURE);
cristianrasch has quit [Remote host closed the connection]
<enebo> headius: I think this should be what EvalScope has
<enebo> hmmm or should it
<enebo> It is itself a closure in behavior
<enebo> subbu: headius: Actually the setScopeType on StaticScope I wish could go
<enebo> I have not looked lately but is one of those mutating fields
<subbu> i think that was required so that we could propagate that information through to dyn-scope when we are looking it up for method containers .. or that is my recollection.
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:539baf0 by Benoit Daloze): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/69807851)
travis-ci has left #jruby [#jruby]
<headius> enebo: I removed the lot
<headius> no IRBindingEvalScript at all
<enebo> headius: ok sounds good to me
<enebo> On that note I think I need to eat a tripe ration….this dawg is hungry
<subbu> \o/ to code deletion :)
<enebo> lively day of not releasing…to be continued…
<enebo> night night
<headius> ok
<headius> I'll push this if it looks ok locally
<enebo> ok
<headius> running a couple more suites to be sure
enebo has quit [Quit: enebo]
havenwood has quit [Read error: Connection reset by peer]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius closed issue #3102: Bundle install fails with jruby-head with a Java::JavaLang::ArrayIndexOutOfBoundsException on travis http://git.io/vqfRD
JRubyGithub has left #jruby [#jruby]
<headius> Antiarc: ^
<Antiarc> headius: thanks! building now
<Antiarc> did it turn out to be a gemspec thing?
<headius> no, bad IR handling of local variables in an eval-with-binding
<Antiarc> interesting, I wonder why only a few gemspecs were tripping it
<headius> the simplest repro I found was "eval 'a = 1'; eval 'b = 1', TOPLEVEL_BINDING"
<headius> I'm not sure, but possibly some don't have a top-level lib variable
<headius> it was the lib variable in your gemspec that hit the bug
<Antiarc> ahh, okay!
<headius> the problem was that it was using a different scope for parsing and determining the offset of new variables than the one it eventually assigned them with
blaines has joined #jruby
<headius> so when it went to update DynamicScope, it knew nothing about those vars
subbu is now known as subbu|away
<Antiarc> headius: all fixed. Cheers!
blaines_ has joined #jruby
<headius> excellent
<headius> only took half a day for a one-line fix :-)
havenwood has joined #jruby
blaines has quit [Ping timeout: 250 seconds]
<Antiarc> heh
<Antiarc> Well, it seems like a worthwhile fix!
fatephd has quit [Read error: Connection reset by peer]
fatephd has joined #jruby
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mcclurmc has joined #jruby
<projectodd-ci> Project jruby-master-spec-ji build #1669: STILL FAILING in 1 min 10 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1669/