<headius> I added three
<enebo> hmm I don’t remember this not working but maybe my mind is blocknig it out
<enebo> I remember getting them down to like 4 and they were all weird corners
<enebo> and I even passed all yard tests
<headius> enebo: I think I'm going to make that webrick return into break
<headius> I found the commit and bug
<enebo> headius: It is a webrick but for sure
<headius> I don't see any reason it should be return from the commit...I think he really just wanted to exit the server closure
<enebo> headius: but I am concerned we are doing an extra select
<headius> not sure why MRI handles it, but MRI has a lot of weird LJE artifacts
<enebo> headius: same pattern is a LJE for MRI too
<subbu> headius, i think MRI doens't handle it .. because Thread.new { return }.join does LJE.
<enebo> headius: so that if is not followed on MRI
<subbu> so, as enebo says .. we are entering that if-stmt but mri isn't.
<headius> perhaps MRI is running these tests as subprocess daemon rather than threaded?
<enebo> headius: I did not print it out to prove it but nothing else really explains it
<enebo> headius: my writeup handles that
<headius> oh, MRI doesn't even enter that if?
<enebo> headius: subbu’s extracted test case runs on MRI
<headius> hmm
<subbu> it is also a webrick bug and that should be fixed but that is independent of the other bit in jruby.
<headius> do we have this in an issue somewhere?
<headius> I'm having trouble tracking where the info is
<enebo> heh
<enebo> I wrote a polemic on this!!!!! :P
<headius> I don't see any obvious bug with select... the pipe should be selectable with or without native and should not be in the selected results unless it really has data
<enebo> headius: it might be a determinism bug as well
<headius> subbu: ok thanks
<headius> enebo: very easily
<enebo> headius: so could be a bad set of tests
<headius> MRI's thread scheduling is much slower than ours
<subbu> ah, so, that could be as well.
<enebo> I had it down to those two causes in the issue
<enebo> HAHAHA FUCK ME….
<headius> with that change the net/http tests are green again with no additional excludes
<headius> versus 31E
<enebo> That defined? ::COLON3 ug I made is failing wih private constant
<headius> sweet
<enebo> So our IRRuntimeHelper method is not right
<enebo> That exception code works by virtue of catching errors we should not be throwing and warnings we should not be throwing
calavera has joined #jruby
<enebo> Antiarc: So I should be landing a fix for this in a second
<enebo> Antiarc: lambdas act as procs is they are yielded too
<enebo> lambda call honors strict argument errors
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 3 new commits to update_stdlib: http://git.io/l4aboA
<JRubyGithub> jruby/update_stdlib a9d1364 Charles Oliver Nutter: Exclude new Ripper failures.
<JRubyGithub> jruby/update_stdlib 5749d57 Charles Oliver Nutter: Fix the failed return value, which should still be null.
<JRubyGithub> jruby/update_stdlib ce7e292 Charles Oliver Nutter: Replace return with break....
JRubyGithub has left #jruby [#jruby]
<enebo> This semantic-wise feels really sloppy
<headius> akr is Akira right?
<headius> tanaka
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to master: http://git.io/ABIDzA
<JRubyGithub> jruby/master eb95b6e Thomas E. Enebo: Blast. Another ensure + nested scope bug with stabby bastard. Series of specs coming later for all scope types
JRubyGithub has left #jruby [#jruby]
<enebo> wtf half my commits are not displayed on channel
<enebo> Antiarc: headius: I committed a fix to lambdas being yielded to
<headius> ok
<enebo> it was commit before that one
<headius> I'll merge
<enebo> I ran spec:fast + mri:test with no errors but that was a biggish change
<headius> isn't this exciting?!
zorak8 has joined #jruby
<headius> I'll be glad when I can land this... branch also has default gems actually out of repo, compiler specs modified to run green
<headius> doing a quick test:mri before pushing
<headius> I wanna see the new numbers :-D
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:d0dedb7 by Charles Oliver Nutter): The build failed. (http://travis-ci.org/jruby/jruby/builds/39978759)
travis-ci has left #jruby [#jruby]
<lopex> numbers?
enebo has quit [Quit: enebo]
<headius> lopex: 2.2 stdlib+test update failure numbers :-)
<lopex> oh
<headius> update_stdlib branch has nearly-current trunk stdlib and test
<lopex> I dot like those
<headius> once it's green we'll land it
<mpapis> headius I hope not to much comments on the shell thing
<headius> Antiarc: 179 with everything I have
<headius> all pushed now
<headius> up to date with master
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to update_stdlib: http://git.io/aPYzOg
<JRubyGithub> jruby/update_stdlib a0f3839 Charles Oliver Nutter: Merge remote-tracking branch 'origin/master' into update_stdlib
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to master: http://git.io/0uK6rg
<JRubyGithub> jruby/master 1d763da Charles Oliver Nutter: Fix the failed return value, which should still be null.
JRubyGithub has left #jruby [#jruby]
<headius> ok all, I'm calling it a night to go vote and get some dinner
<headius> Antiarc: I'm always idling on here to feel free to ping me
cremes has quit [Ping timeout: 245 seconds]
subbu has quit [Ping timeout: 255 seconds]
baroquebobcat has quit [Quit: baroquebobcat]
josh-k has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:eb95b6e by Thomas E. Enebo): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/40012339)
travis-ci has left #jruby [#jruby]
erikhatcher has joined #jruby
ephemerian has quit [Quit: Leaving.]
<Antiarc> headius: Haha, I did the same, and same for me - ping and I'll pick it up eventually :)
<Antiarc> headius: https://github.com/jruby/jruby/pull/2095 should fix most of the time-related specs
x1337807x has joined #jruby
marr has quit [Ping timeout: 245 seconds]
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
triple_b has joined #jruby
mje113__ has quit [Quit: Connection closed for inactivity]
<Antiarc> headius: down to 163 here!
josh-k has quit [Remote host closed the connection]
<Antiarc> bin/jruby -e 'ary = []; (1..10).each_slice(3, &lambda {|a, *| ary << a}); p ary' -- this fails after the lambda fix, it worked before
<Antiarc> The test references https://bugs.ruby-lang.org/issues/9749
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:1d763da by Charles Oliver Nutter): The build failed. (http://travis-ci.org/jruby/jruby/builds/40013509)
travis-ci has left #jruby [#jruby]
pietr0 has quit [Ping timeout: 260 seconds]
tlarevo has joined #jruby
DomKM has joined #jruby
josh-k has joined #jruby
enebo has joined #jruby
enebo has quit [Client Quit]
calavera has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
calavera has quit [Client Quit]
calavera has joined #jruby
triple_b has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
triple_b has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
iamjarvo has joined #jruby
yfeldblum has quit [Remote host closed the connection]
<chrisseaton> wow transcoding is really really complicated
calavera has quit [Ping timeout: 255 seconds]
calavera has joined #jruby
phrinx has quit [Remote host closed the connection]
phrinx has joined #jruby
Areessell__ has quit [Quit: (null)]
phrinx has quit [Ping timeout: 255 seconds]
Areessell__ has joined #jruby
x1337807x has joined #jruby
ludyte has joined #jruby
tenderlove has quit [Remote host closed the connection]
fivebats has quit [Ping timeout: 255 seconds]
zorak8 has quit [Ping timeout: 244 seconds]
fivebats has joined #jruby
josh-k_ has joined #jruby
triple_b has quit [Read error: Connection reset by peer]
subbu has joined #jruby
triple_b has joined #jruby
josh-k has quit [Ping timeout: 265 seconds]
atambo has quit [Quit: yarr]
atambo has joined #jruby
Areessell__ has quit [Quit: (null)]
cremes has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
calavera has joined #jruby
fivebats has quit [Read error: Connection reset by peer]
yfeldblum has joined #jruby
fivebats has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ludyte has quit [Quit: ludyte]
<headius> chrisseaton: that's for sure
tlarevo has quit [Remote host closed the connection]
phrinx has joined #jruby
phrinx_ has joined #jruby
e_dub has joined #jruby
triple_b has quit [Read error: Connection reset by peer]
triple_b has joined #jruby
phrinx has quit [Ping timeout: 260 seconds]
Aethenelle has joined #jruby
<headius> Antiarc: excelltn, thank you!
<headius> I will reopen the lambda bug with your example
<Antiarc> There are ~22 failures in RubyMarshal as well, but I'm avoiding those because Marshal is scary.
johnsonch is now known as johnsonch_afk
<Antiarc> But it's a nice rich target :)
<headius> it is indeed
<Antiarc> There are also the new optional params to max/min/max_by/min_by, which cause those to return to top N hits as an array. I'm not sure how to best approach that - it looks like the Ruby implementation went with quickselect. I took a stab at it using a bounded PriorityQueue, but the block context binding semantics tripped me up there.
<Antiarc> Can certainly implement quickselect, but I suspect Java might already have something in its collection types to handle that a bit more easily?
<Antiarc> As I understand it, the idea is to avoid having to use O(n) additional memory to sort a new copy of the list, with the intent being that you might use max_by(n) { ... } when you want to perform weighted sampling of a very large array, for example
<headius> hmmm
<headius> so it needs to keep a rolling N results
<Antiarc> Right
<headius> there's a crapload of quickselect impls for Java out there apparently
<Antiarc> Naively, you'd allocate an array of N+1, and after each insert, sort it, then remove the head/tail of the list if it's full
<Antiarc> But all that sorting is bound to be slow
<Antiarc> Guava has this really cool uh...let me find it
<headius> right
snovity has quit [Ping timeout: 245 seconds]
<Antiarc> That one
<Antiarc> It's apparently quite fast
<headius> yeah, I don't think we want to pull in an additional dependency at this point
<headius> have wanted a lot of stuff out of guava/google collections though :-(
<headius> oh, they actualy sort it?
<headius> I'm looking at impl now
<headius> oh nevermind, I see the function now
<headius> nmin_run etc
<headius> yeah there's the quickselect
<headius> well, it wouldn't be *that* much code for us to just add a quickselect impl too
robbyoconnor has joined #jruby
<Antiarc> Yeah, it's not a lot. I just tend to assume that someone has already implemented every sorting algorithm better and more robustly than I will :)
triple_b has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Antiarc> It's basically quicksort except you only recurse into one side of the pivot
<Antiarc> That being said, I'm not quite sure *why* it's more desirable in this case because you have to dup the initial array to swap elements around
<Antiarc> Or else you'd mutate the input data
<headius> Antiarc: we do have some sorts already in JRuby...perhaps they can be useful
<headius> yeah, seems like this is doing a full memory copy anyway
<Antiarc> Lemme find the original PR, the guy who submitted the patch gave a justification for how it was done
<headius> if you want to just get it working right now, a dup + sort + N impl would do that
<Antiarc> Yup, it's super easy if we just go the naive route, I just wasn't sure if the reduced memory characteristics were more desirable
<Antiarc> max_by(10) without a block just returns an enumerator on the original data, though
<headius> ahh, another one by akr
<Antiarc> which is *weird*
<Antiarc> I mean, I get why, you don't want to eagerly evaluate an enumerator
<Antiarc> And you can't efficiently implement the sort if you don't know N ahead of time
<headius> reduced memory characteristics are always desirable :-) but I also want to land this stdlib ASAP
<Antiarc> but it's surprising and weird and I don't like it
<headius> balancing act
<Antiarc> Yeah
<Antiarc> Fair enough
<Antiarc> I'll implement it with a TODO
<headius> longer it's separate from master the less bake time it gets
<headius> ok...open an issue for the TODO etc
<Antiarc> will do
<headius> someone might just do it overnight, never know!
<headius> code fairies
<Antiarc> I don't really like the current max/min/etc implementations, though
<Antiarc> They feel more complex than they need to be
<headius> yeah, very likely :-\
<Antiarc> There's a line here:
<Antiarc> if (result[0] == null || RubyComparable.cmpint(ctx, invokedynamic(ctx, larg, OP_CMP, result[0]), larg, result[0]) > 0) { result[0] = larg; }
<Antiarc> Can you give me the 30 second version of what invokedynamic is doing there?
<Antiarc> Right now, it's basically magic as far as I'm concerned, want to be sure I don't pooch something in the process :)
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #jruby
<headius> ok, so the logic basically makes an array of 4n elements, fills it up, sorts, it, removes bottom 3n, until elements are exhausted
<headius> it should only have to allocate a 4n wide array then
<headius> that does seem like a lot of sorting
<Antiarc> Right
<headius> Antiarc: "invokedynamic" is just a specially-named method in our core utilities, named and structured so that in the future we might be able to post-process the bytecode and replace it with a REAL invokedynamic
<Antiarc> Goti t.
<headius> it's not really any different than obj.callMethod
<headius> Antiarc: throw whatever links on that issue, we can punt for now
johnsonch_afk is now known as johnsonch
johnsonch is now known as johnsonch_afk
josh-k_ has quit [Remote host closed the connection]
josh-k has joined #jruby
josh-k has quit [Ping timeout: 256 seconds]
<headius> Antiarc: that BubbleBabble code has been copied all over the place
<headius> I emailed Johann though, so hopefully we'll hear back soon
<Antiarc> headius: Wouldn't surprise me! I just want to keep it all above board
<headius> yeah, us too
<headius> we've had plenty of big companies get on our case about untracked contributions or outright copying
<headius> I mean get on our case because they wanted to get JRuby in their product but we had to fix some issues
<Antiarc> Worst case we can adapt the openssh code directly, but I'm a big fan of not reinventing wheels :)
<Antiarc> Right
<headius> yeah, I didn't know openssh was 2-clause BSD
<headius> we could just re-port it, but I always say the best way to get people to contribute to OSS...is to ask them.
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 2 new commits to jruby-1_7: http://git.io/a19czA
<JRubyGithub> jruby/jruby-1_7 51faa56 Daniel Marcotte: Fix profile output...
<JRubyGithub> jruby/jruby-1_7 9459764 Charles Oliver Nutter: Merge pull request #2081 from dmarcotte/test-block-profile...
JRubyGithub has left #jruby [#jruby]
Areessell__ has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> [jruby] headius pushed 1 new commit to master: http://git.io/3X-j7g
<JRubyGithub> jruby/master 77180d7 Charles Oliver Nutter: Update to jnr-posix 3.0.7.
<headius> busy busy busy
Areessell__ has quit [Ping timeout: 265 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to master: http://git.io/Nt-LRg
<JRubyGithub> jruby/master 320ccb9 Charles Oliver Nutter: Start running spec:profiler, even though it needs a lot of fixes.
JRubyGithub has left #jruby [#jruby]
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
* rtyler roars
<headius> is it that time again?
tlarevo has joined #jruby
<rtyler> nah, it's time to sober up for java build systems!
* rtyler stabs eyeballs
<headius> oh exciting!!!
<rtyler> it's how I unwind at night, what can I say
<headius> yeah I optimize and benchmark shit :-)
<rtyler> oh, that reminds me, I should benchmark typedeaf on 9k
<headius> tonight, though, it's "fill in the missing 2.2 features" night
<rtyler> I must be way behind, I didn't realize there was a new 2.2 spec
<headius> there's at least one preview out
<headius> so I'm working with Antiarc to get the new tests passing
<rtyler> do they update rubyspec with tests when previews come out?
<headius> they write tests in their own suite
<headius> but we run that too
<headius> we run everything :-P
<rtyler> MUHARHARHAR
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:9459764 by Charles Oliver Nutter): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40027002)
travis-ci has left #jruby [#jruby]
<headius> huh
<headius> oh, that went to 1.7
<rtyler> the commiter has errored.
<headius> righto
<headius> nah, I just got ahead myself
<headius> :-D
<Antiarc> Hrm. This is odd.
<Antiarc> In 2.2.0-preview1, %w(albatross dog horse).max(2) => ["dog", "horse"]
<Antiarc> But it asserts assert_equal(%w[horse dog], ary.max(2))
<Antiarc> note the order
<nirvdrum> Argh.
<Antiarc> My current behavior is equivalent to jruby's actual behavior but doesn't pass the test
<Antiarc> err, current to MRI's actual behavior
<nirvdrum> dfr|work: Are you kicking around by chance?
<headius> Antiarc: sort stability?
<headius> that is peculiar...akr does say in that bug report that max is not expected to maintain any order
<Antiarc> headius: I'm wondering if it's a state issue - if MRI is actually reshuffling elements in the original array
<headius> I don't know if that means the order of the results is unspecified or not
<Antiarc> Well, the test asserts order, intentionally or not :)
<headius> right
<Antiarc> I'll have to go read the MRI code but I'm kind of wondering if it's mutating the input array via quickselect and someone changed the order of the elements to match
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] chrisseaton pushed 4 new commits to master: http://git.io/nKkMFw
<JRubyGithub> jruby/master c73b5fe Chris Seaton: [Truffle] Encoding.name_list.
<JRubyGithub> jruby/master bffdb0a Chris Seaton: [Truffle] Array#permutation.
<JRubyGithub> jruby/master cf46856 Chris Seaton: [Truffle] Shell of Encoding::Converter.
JRubyGithub has left #jruby [#jruby]
tlarevo has quit [Remote host closed the connection]
<headius> hmm
tlarevo has joined #jruby
<headius> in 2.2.0-preview1 max(2) returns dog, horse
<headius> Antiarc: ^
<Antiarc> Yup, and the test asserts otherwise
<headius> oh you saw that
<Antiarc> I'm working out how to run this test on 2.2.0
<headius> right right ok
<Antiarc> So I can see if it's actuallyp assing :)
<headius> hm
<headius> I can try it here
<headius> I have ruby/ruby checkout handy
<Antiarc> just run test_enum and check the test_max
<headius> does not pass preview1
<headius> I got those from recent trunk...let me blame that test
<Antiarc> hm, it passes in my RVM install.
<Antiarc> $ ruby test/runner.rb ruby/test_enum.rb => 49 tests, 357 assertions, 0 failures, 0 errors, 0 skips
<Antiarc> aha
<Antiarc> The order is right in my test
<Antiarc> Someone swapped it :)
fivebats has quit [Quit: quit]
<Antiarc> ah okay, so actually a behavioral change
<headius> yeah apparently so
johnsonch_afk is now known as johnsonch
<headius> ok, that's it for me...talk to ya tomorrow
johnsonch is now known as johnsonch_afk
<rtyler> o/
<Antiarc> night!
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
diegoviola has quit [Read error: Connection reset by peer]
calavera has joined #jruby
calavera has quit [Client Quit]
calavera has joined #jruby
bbrowning_away has quit [Ping timeout: 272 seconds]
tlarevo_ has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
calavera has joined #jruby
tlarevo has quit [Ping timeout: 256 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:77180d7 by Charles Oliver Nutter): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/40027097)
travis-ci has left #jruby [#jruby]
bbrowning has joined #jruby
noop has joined #jruby
aewffwea has joined #jruby
nirvdrum has quit [Ping timeout: 245 seconds]
JohnBat26 has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
skade has joined #jruby
johnsonch_afk is now known as johnsonch
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:320ccb9 by Charles Oliver Nutter): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40027341)
travis-ci has left #jruby [#jruby]
subbu has quit [Ping timeout: 265 seconds]
johnsonch is now known as johnsonch_afk
deobalds has joined #jruby
deobalds has quit [Client Quit]
ludyte has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Areessell__ has joined #jruby
calavera has joined #jruby
Areessell__ has quit [Ping timeout: 256 seconds]
havenwood has quit []
purplefox has quit [Ping timeout: 244 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:624823a by Chris Seaton): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40028406)
travis-ci has left #jruby [#jruby]
johnsonch_afk is now known as johnsonch
phrinx_ has quit [Remote host closed the connection]
johnsonch is now known as johnsonch_afk
deobalds has joined #jruby
yfeldblum has quit [Ping timeout: 244 seconds]
rsim has joined #jruby
tenderlove has joined #jruby
tenderlove has quit [Ping timeout: 244 seconds]
skade has quit [Quit: Computer has gone to sleep.]
zorak8 has joined #jruby
Areessell__ has joined #jruby
rsim has quit [Quit: Leaving.]
dumdedum has joined #jruby
johnsonch_afk is now known as johnsonch
ephemerian has joined #jruby
ludyte has quit [Quit: ludyte]
pchalupa has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Usuario has joined #jruby
johnsonch is now known as johnsonch_afk
Usuario is now known as obs
fawefeawfewa has joined #jruby
aewffwea has quit [Ping timeout: 240 seconds]
Hobogrammer has quit [Read error: Connection reset by peer]
momomomomo has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
calavera has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
deobalds has joined #jruby
calavera has joined #jruby
calavera has quit [Client Quit]
skade has joined #jruby
skade has quit [Client Quit]
deobalds has quit [Ping timeout: 250 seconds]
deobalds has joined #jruby
phrinx has joined #jruby
dalizard has joined #jruby
mister_solo has joined #jruby
phrinx has quit [Ping timeout: 244 seconds]
erikhatcher has joined #jruby
zorak8 has quit [Ping timeout: 264 seconds]
calavera has joined #jruby
SynrGyy has joined #jruby
SynrG has quit [Ping timeout: 265 seconds]
drbobbeaty has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
phrinx has joined #jruby
momomomomo has quit [Quit: momomomomo]
phrinx has quit [Ping timeout: 255 seconds]
shellac has joined #jruby
johnsonch_afk is now known as johnsonch
SynrGyy is now known as SynrG
calavera has joined #jruby
johnsonch is now known as johnsonch_afk
deobalds has quit [Quit: Computer has gone to sleep.]
yfeldblum has quit [Ping timeout: 245 seconds]
vtunka has joined #jruby
skade has joined #jruby
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mister_s_ has joined #jruby
mister_solo has quit [Ping timeout: 265 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/dFn75g
<JRubyGithub> jruby/master aaa9628 Benoit Daloze: [Truffle] Move lexical scope state to the ParseEnvironment, a per-parse TranslatorEnvironment.
JRubyGithub has left #jruby [#jruby]
purplefox has joined #jruby
marr has joined #jruby
Areessell__ has quit [Quit: (null)]
phrinx has joined #jruby
johnsonch_afk is now known as johnsonch
phrinx has quit [Ping timeout: 255 seconds]
johnsonch is now known as johnsonch_afk
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:aaa9628 by Benoit Daloze): The build failed. (http://travis-ci.org/jruby/jruby/builds/40046219)
travis-ci has left #jruby [#jruby]
mje113__ has joined #jruby
snovity has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 2 new commits to master: http://git.io/4bSJSw
<JRubyGithub> jruby/master a17b18d Benoit Daloze: [Truffle] Document logicalClass VS metaClass.
<JRubyGithub> jruby/master 2af59d3 Benoit Daloze: [Truffle] Passing spec.
JRubyGithub has left #jruby [#jruby]
Areessell__ has joined #jruby
purplefox has quit [Ping timeout: 250 seconds]
johnsonch_afk is now known as johnsonch
rolfb has joined #jruby
maleghast has joined #jruby
deobalds has joined #jruby
johnsonch is now known as johnsonch_afk
kith has quit [Quit: kith]
phrinx has joined #jruby
kith has joined #jruby
phrinx has quit [Ping timeout: 255 seconds]
dalizard has quit [Ping timeout: 245 seconds]
drbobbeaty has joined #jruby
statonjr has quit [Quit: statonjr]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:2af59d3 by Benoit Daloze): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40051811)
travis-ci has left #jruby [#jruby]
skade has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 4 new commits to master: http://git.io/4sxdNQ
<JRubyGithub> jruby/master ca5778b Benoit Daloze: [Truffle] Fix no method NameError message.
<JRubyGithub> jruby/master 2166c9e Benoit Daloze: [Truffle] Another passing spec.
<JRubyGithub> jruby/master 18395e4 Benoit Daloze: [Truffle] Fix #is_a? and #instance_of?.
JRubyGithub has left #jruby [#jruby]
tcrawley-away is now known as tcrawley
josh-k_ has joined #jruby
mister_s_ has quit [Ping timeout: 240 seconds]
imperator has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> jruby/jruby-1_7 2a2652f Christian Meier: do not canonilize path for jruby home on windows for uri-like pathname - should fix #2042
<JRubyGithub> jruby/jruby-1_7 27a3749 Christian Meier: Merge branch 'jruby-1_7' of github.com:jruby/jruby into jruby-1_7
<JRubyGithub> [jruby] mkristian pushed 2 new commits to jruby-1_7: http://git.io/8-bPag
JRubyGithub has left #jruby [#jruby]
maleghast has quit [Read error: Connection reset by peer]
maleghast has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
yfeldblum has joined #jruby
dalizard has joined #jruby
yfeldblum has quit [Ping timeout: 265 seconds]
maleghast has quit [Read error: Connection reset by peer]
nirvdrum has joined #jruby
josh-k has joined #jruby
josh-k__ has joined #jruby
johnsonch_afk is now known as johnsonch
josh-k_ has quit [Ping timeout: 244 seconds]
johnsonch is now known as johnsonch_afk
josh-k has quit [Ping timeout: 258 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:ab56b26 by Benoit Daloze): The build failed. (http://travis-ci.org/jruby/jruby/builds/40054068)
travis-ci has left #jruby [#jruby]
dabradley has quit [Ping timeout: 250 seconds]
dabradley has joined #jruby
phrinx has joined #jruby
<imperator> if WINDOWS and RUBY_VERSION < "1.9.0" ?
<imperator> that does not look right
statonjr has joined #jruby
<imperator> hm, maybe not, disregard
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/et698w
<JRubyGithub> jruby/master 3f676c8 Benoit Daloze: [Truffle] New failing spec.
JRubyGithub has left #jruby [#jruby]
imperator has quit [Quit: Valete!]
phrinx has quit [Ping timeout: 250 seconds]
Areessell__ has quit [Quit: (null)]
iamjarvo has joined #jruby
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #jruby
mister_solo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/yYp5UA
<JRubyGithub> jruby/master 01d560c Chris Seaton: [Truffle] Fix transcoding convert specs.
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian force-pushed detect-root-classloader from a2edea1 to 54b8ffc: http://git.io/DAEJkA
<JRubyGithub> jruby/detect-root-classloader 868dd4b Christian Meier: detect the right root classloader for more cases
<JRubyGithub> jruby/detect-root-classloader 54b8ffc Christian Meier: * added a test case where thread-context-classloader did not load jruby and ScriptingContainer just works...
JRubyGithub has left #jruby [#jruby]
<headius> aaaaand we're back
yfeldblum has joined #jruby
<chrisseaton> headius: good morning - thanks to those transcoding specs Truffle now runs 57% of core specs
dumdedum has quit [Quit: foo]
joast has quit [Quit: Leaving.]
yfeldblum has quit [Ping timeout: 255 seconds]
tlarevo has joined #jruby
tlarevo_ has quit [Ping timeout: 265 seconds]
jimbaker has quit [Ping timeout: 272 seconds]
Sinjo has quit [Ping timeout: 265 seconds]
joast has joined #jruby
mje113__ has quit [Quit: Connection closed for inactivity]
triple_b has joined #jruby
Areessell__ has joined #jruby
<headius> woohoo!
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/o0q9Iw
<JRubyGithub> jruby/master a15f7c2 Benoit Daloze: [Truffle] Implement a couple things to make MSpec auto add tags work....
JRubyGithub has left #jruby [#jruby]
josh-k__ has quit [Remote host closed the connection]
josh-k has joined #jruby
phrinx has joined #jruby
josh-k has quit [Read error: Connection reset by peer]
phrinx has quit [Ping timeout: 244 seconds]
guilleiguaran___ is now known as guilleiguaran
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
robbyoconnor has quit [Ping timeout: 265 seconds]
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
oblutak has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:3f676c8 by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/40057178)
travis-ci has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/xURKRA
<JRubyGithub> jruby/master c886cc7 Benoit Daloze: [Truffle] Move Array guards ro ArrayGuards and use ImportGuards....
JRubyGithub has left #jruby [#jruby]
enebo has joined #jruby
mkristian has joined #jruby
johnsonch_afk is now known as johnsonch
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian created add-testcases-to-detect-root-classloader (+1 new commit): http://git.io/bx1kCw
<JRubyGithub> jruby/add-testcases-to-detect-root-classloader 9536731 Christian Meier: when jruby is not coming from the thread.currentThread.contextClassLoader then ScriptingContainer...
JRubyGithub has left #jruby [#jruby]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tlarevo has quit [Remote host closed the connection]
<headius> mkristian: how's it going?
<headius> I haven't gotten back to that classloading bug, but I saw your comment
<chrisseaton> Truffle might have broken the build... just checking now...
<headius> I'm still worried about classloader changes, because that code obviously ends up with two copies of ThreadContext, which could indicate JRubyClassLoader didn't delegate properly
<headius> chrisseaton: horror!
<mkristian> headius, none of my classloader change made it into master or jruby and if it works without compilation, the question is what does compilation do with classloading
lance|afk is now known as lanceball
<mkristian> headius, the JRubyClassLoader is the parent of those OneShotClassloaders but usually JRubyClassLoader has nothing to do until you "require" some jars
BobFunk has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
<headius> mkristian: I thought you changed our classloading to prefer self over parent
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 2 new commits to master: http://git.io/vGMDlQ
<JRubyGithub> jruby/master dd2fd1a Benoit Daloze: [Truffle] Fix variable type and name.
<JRubyGithub> jruby/master 36541a7 Benoit Daloze: [Truffle] Move Hash guards in HashGuards and fix the build.
JRubyGithub has left #jruby [#jruby]
<mkristian> headius, yes - sorry that is long ago I forgot
<mkristian> headius, let me quickly check if the self-first-strategy is related
deobalds has quit [Quit: Computer has gone to sleep.]
BobFunk has quit [Ping timeout: 255 seconds]
<headius> thank you
<headius> classloaders scare me
<headius> even after all these years
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:01d560c by Chris Seaton): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40058988)
travis-ci has left #jruby [#jruby]
<mkristian> headius, I like all those classloader stuff - somehow - but I see that you and enebo are very cautious regarding classloaders.
<headius> I think it's because classloader bugs can be catastrophic :-)
<mkristian> headius, even without my JRubyClassLoader patch the j2ee test fails
mje113__ has joined #jruby
<enebo> Antiarc: if you are around could I ask a for a fix to #2103
<mkristian> headius, what I do not understand is what the "compilation" of ruby does to the classloaders since the tests pass without compilation
<enebo> Antiarc: getRutime().getCurrentContext() is somewhat expensive and context.runtime is really cheap. Could all method defs use ThreadContext context and if you cannot get a simple reference to context only call getCurrentContext once
phrinx has joined #jruby
erikhatcher has joined #jruby
<headius> mkristian: I see
<headius> mkristian: it really shouldn't do anything special...I just load the bytecode into its own classloader for every jitted unit
ludyte has joined #jruby
<headius> that classloader should delegate to parent and find ThreadContext that way
<enebo> Antiarc: Actually I will merge and give a followup commit and you can see what I changed
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 8 new commits to update_stdlib: http://git.io/vVaESA
<JRubyGithub> jruby/update_stdlib 7b4d45e Charles Oliver Nutter: Add back synchronization around IO methods that touch the file....
<JRubyGithub> jruby/update_stdlib 0308b80 Charles Oliver Nutter: Bit of RubyIO cleanup.
<JRubyGithub> jruby/update_stdlib 4f79ed3 Charles Oliver Nutter: Only query realFileno once here.
JRubyGithub has left #jruby [#jruby]
phrinx has quit [Ping timeout: 265 seconds]
subbu has joined #jruby
deobalds has joined #jruby
e_dub has quit [Quit: ZZZzzz…]
Areessell__ is now known as Areessell
yfeldblum has joined #jruby
bruceadams has quit [Ping timeout: 256 seconds]
bruceadams has joined #jruby
rolfb has quit [Ping timeout: 245 seconds]
tenderlove has joined #jruby
yfeldblum has quit [Ping timeout: 250 seconds]
multibot_ has quit [Ping timeout: 264 seconds]
multibot_ has joined #jruby
skade has joined #jruby
<mkristian> headius, the problem is related to the way I run those tests where there are "two" jruby runtimes, one for the tester and one inside the servlet engine
<mkristian> if I start only the servlet engine and do the "test" manually it works.
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 2 new commits to update_stdlib: http://git.io/4i_6Zw
<JRubyGithub> jruby/update_stdlib cd044f4 Thomas E Enebo: Merge pull request #2103 from cheald/fix_multiple_range_failures...
<JRubyGithub> jruby/update_stdlib 451b1c7 Chris Heald: Fix multiple Range stdlib failures...
JRubyGithub has left #jruby [#jruby]
<headius> mkristian: so one side is getting a TC from the other
<headius> context classloader? global runtime?
<headius> I am not looking at the test right now but I assume you're going through ScriptingContainer...perhaps this is due to a few changes in how the different threading models work
<mkristian> I am using scriptingContainer with defaults for both
purplefox has joined #jruby
<headius> ok, that helps
<headius> I think in that case they might be stepping on each other
ludyte has quit [Quit: ludyte]
tcrawley is now known as tcrawley-away
robbyoconnor has joined #jruby
<mkristian> headius, yes, this kind of explains. yesterday I also tried to see if I can bisect it but the test case was red for quite some time
calavera has joined #jruby
robbyoconnor has quit [Client Quit]
<headius> global data strikes again!
ludyte has joined #jruby
calavera has quit [Ping timeout: 245 seconds]
tlarevo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to update_stdlib: http://git.io/BzbxSQ
<JRubyGithub> jruby/update_stdlib 80727e1 Thomas E. Enebo: context tweaks and some mild naming changes
JRubyGithub has left #jruby [#jruby]
phrinx has joined #jruby
atambo has quit [Quit: yarr]
atambo has joined #jruby
<mkristian> headius, one more observation: both jetty and the tester script are using the same thread "Ruby-0-JIT-1,1,main" when creating the OneShotClassloaders - somehow I expected more separation
phrinx has quit [Ping timeout: 240 seconds]
yfeldblum has joined #jruby
Aethenelle has joined #jruby
yfeldblum has quit [Ping timeout: 244 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to update_stdlib: http://git.io/5uu-2g
<JRubyGithub> jruby/update_stdlib 502e659 Thomas E. Enebo: Remove Ruby as argument to newRange
JRubyGithub has left #jruby [#jruby]
vtunka has quit [Quit: Leaving]
noop has quit [Read error: Connection reset by peer]
purplefox has quit [Ping timeout: 244 seconds]
yopp has left #jruby ["woop-woop-woop"]
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
havenwood has joined #jruby
dalizard has quit [Ping timeout: 245 seconds]
deobalds has quit [Quit: Computer has gone to sleep.]
noop has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to update_stdlib: http://git.io/oHCYaw
<JRubyGithub> jruby/update_stdlib e90ae70 Thomas E. Enebo: newRange was directly used by bytecode generation layer
JRubyGithub has left #jruby [#jruby]
purplefox has joined #jruby
tcrawley-away is now known as tcrawley
statonjr has quit [Quit: statonjr]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian force-pushed redefine-uri-classloader-meaning from 8341e05 to abd65a4: http://git.io/cwP5fQ
<JRubyGithub> jruby/redefine-uri-classloader-meaning 9378b01 Christian Meier: redefine uri:classloader: meaning to be the parent classloader of runtime.getJRubyClassLoader...
<JRubyGithub> jruby/redefine-uri-classloader-meaning ed33197 Christian Meier: added osgi test without inlining the dependencies
<JRubyGithub> jruby/redefine-uri-classloader-meaning abd65a4 Christian Meier: add testcase for the case where jruby.home is inside a jar but not on the context-classloader
JRubyGithub has left #jruby [#jruby]
cprice is now known as cprice404
triple_b has quit [Read error: Connection reset by peer]
triple_b has joined #jruby
<Aethenelle> woot!? I got parity between JIT and noJIT with the stackoverflow exception. ... now I just have to fix it...
obs has quit [Quit: Leaving]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian force-pushed detect-root-classloader from 54b8ffc to 8d58996: http://git.io/DAEJkA
<JRubyGithub> jruby/detect-root-classloader 8d58996 Christian Meier: * added a test case where thread-context-classloader did not load jruby and ScriptingContainer just works...
JRubyGithub has left #jruby [#jruby]
<Aethenelle> not sure if this is an upstream problem or not... jruby -X-C -S mspec ci does not turn off JIT while running the tests.
<headius> it isn't... -X-C applies to the JRuby running mspec, and then mspec spawns a child
<headius> mspec -T<flag> passes flag to subprocess
<Aethenelle> k thanks
triple_b has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
fawefeawfewa has quit [Ping timeout: 264 seconds]
pchalupa has quit [Remote host closed the connection]
<dfr|work> nirvdrum, now I am
<nirvdrum> dfr|work: I think after your load service refactor there are 4x as many ClassNotFoundExceptions.
<nirvdrum> I have a simple patch, but it was late so I punted and need to get back to it. I'd like you to have a look though.
zeroecco has joined #jruby
triple_b has joined #jruby
pietr0 has joined #jruby
phrinx has joined #jruby
jeremyevans has quit [Ping timeout: 255 seconds]
tlarevo has quit [Remote host closed the connection]
tlarevo has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:a15f7c2 by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/40061854)
travis-ci has left #jruby [#jruby]
jeremyevans has joined #jruby
<Aethenelle> hrm... I just remembered i get a callback when this thing is shutting down... is there a way to shutdown a runtime from within?
<Aethenelle> a JRuby runtime that is... pretty sure this app doesn't properly close anything when unloading my plugin...
<headius> well you can always call teardown, but there would be interesting side effects if the runtime is still in use
<Aethenelle> My code *should* be the last thing running in the runtime afaik
<headius> hmm
<Aethenelle> i don't know that it's not recycling runtimes or anything like that... from what I've seen in the code it's just using the simplest way to run ruby code under java.
<headius> I don't think we have a flag to prevent double-teardown
<headius> so if you teardown from ruby code and then it proceeds to exit, it will try to teardown again
<Aethenelle> I know the app isn't calling teardown itself... code still continues to run once the plugin is unloaded.
tenderlove has quit [Quit: Leaving...]
<headius> hmm unsure
bbrowning has quit [Ping timeout: 265 seconds]
tenderlove has joined #jruby
shellac has quit [Quit: Ex-Chat]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:c886cc7 by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/40065083)
travis-ci has left #jruby [#jruby]
diegoviola has joined #jruby
statonjr has joined #jruby
bbrowning has joined #jruby
avsej has quit [Quit: Quit]
avsej has joined #jruby
mkristian has quit [Ping timeout: 264 seconds]
auxbuss has joined #jruby
e_dub has joined #jruby
tlarevo has quit [Read error: Connection reset by peer]
tlarevo has joined #jruby
iamjarvo has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
mkristian has joined #jruby
baroquebobcat has joined #jruby
nirvdrum has quit [Ping timeout: 245 seconds]
auxbuss has quit [Quit: I'm gone.]
Aethenelle has quit [Quit: Aethenelle]
JohnBat26 has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 6 new commits to update_stdlib: http://git.io/wwZVfA
<JRubyGithub> jruby/update_stdlib 9a0cf9a Charles Oliver Nutter: Better top-level error handling from JITed code.
<JRubyGithub> jruby/update_stdlib f79d6c3 Charles Oliver Nutter: Fixes plus partial refactor of SelectExecutor....
<JRubyGithub> jruby/update_stdlib 950f82e Charles Oliver Nutter: Never return a closed selector to the pool.
JRubyGithub has left #jruby [#jruby]
tcrawley is now known as tcrawley-away
tlarevo_ has joined #jruby
cprice404 has quit [Quit: Konversation terminated!]
cprice404 has joined #jruby
fivebats has joined #jruby
nirvdrum has joined #jruby
tlarevo has quit [Ping timeout: 244 seconds]
e_dub has quit [Quit: ZZZzzz…]
tlarevo_ has quit [Ping timeout: 256 seconds]
rsim has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Areessell has quit [Quit: (null)]
<dfr|work> nirvdrum, sure >.< Although I've been pretty deep in my 80% coding :(
Aethenelle has joined #jruby
tlarevo has joined #jruby
yfeldblum has joined #jruby
Areessell has joined #jruby
<Antiarc> enebo: Thanks for the clean-up! Is there a style guide around that I can reference?
<Antiarc> Nevermind, foudn the wiki
yfeldblum has quit [Ping timeout: 244 seconds]
baroquebobcat has quit [Quit: baroquebobcat]
<byteit101> enebo: should we release a new jrubyfx gem that is jav8 compatable
iamjarvo has joined #jruby
havenwood has quit [Remote host closed the connection]
havenwood has joined #jruby
<enebo> Antiarc: Some of that might not be in there but it is all always easy to fix up so don’t let style get you to hung up (or fret too much)
<Antiarc> Oh yeah, totally. I just want to make sure I'm not creating work for ya'll :)
<enebo> Antiarc: the more you commit the more you will just know too :)
<enebo> Antiarc: this actually made me realize I wanted to do a big ThreadContext on method pass before we went public
<enebo> Antiarc: probably outline type cases of larger methods (e.g. break out cases into smaller helper methods
<Antiarc> So in general, favor ThreadContext over Ruby, since context.runtime is cheap, but recv.getCurrentContext() is less so?
<enebo> Antiarc: yeah and we also provide TC for free on JRubyMethod if you add it as a param
<Antiarc> Cool
<enebo> Antiarc: for fun look at getCurrentContext() in Ruby.java
travis-ci has joined #jruby
travis-ci has left #jruby [#jruby]
<travis-ci> jruby/jruby (master:36541a7 by Benoit Daloze): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40067721)
<enebo> Antiarc: in general the cost of getCurrentContext is not a big deal either but it is defintely more work
<Antiarc> Right
<enebo> Antiarc: I will switch to the new lambda error but right now I am fixing parser 2.2 feature {“ddd
<enebo> {“ddd”: 1}
<Antiarc> Cool, no rush
lanceball is now known as lance|afk
tcrawley-away is now known as tcrawley
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
iamjarvo has joined #jruby
mkristian has quit [Ping timeout: 245 seconds]
e_dub has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Antiarc> enebo: What're the rules on adding ThreadContext context to existing JrubyMethods?
<Antiarc> I'm taking a spin through core looking at getCurrentContext() and trying to clean it up where there are redundancies
<enebo> Antiarc: well if there is no inheritence in Java you can just add ThreadContext as firstparam
<enebo> Antiarc: If you do you also need to add to all overloaded versions of same method
<Antiarc> Right - I just mean policy-wise
<Antiarc> Yup
<enebo> Antiarc: If it does inherit like equals or something simple you shouldn’t
<Antiarc> Okay
<enebo> Antiarc: policy-wise it is encouraged
<enebo> Antiarc: we did not for some because they were 1.8 and old bindings
<Antiarc> Well, here's an example -
<Antiarc> Bignum < Integer < Numeric
<enebo> Antiarc: We might get reports of broken native java extensions
<Antiarc> Numeric implementspublic IRubyObject eql_p(ThreadContext context, IRubyObject other) {
<Antiarc> Bignum implements public IRubyObject eql_p(IRubyObject other) {
<enebo> I would not touch the identity methods
<Antiarc> Okay.
<Antiarc> In that case, adding ThreadContext could bring it to parity with its superclass, but I guess the concern is extension breakage?
<enebo> I mean we might change those but it is more tricky
<Antiarc> Right
<enebo> yeah extension breakage is a concern but 9000 will have some breakage I think (worst-case is we add back some deprecated methods)
yfeldblum has joined #jruby
mkristian has joined #jruby
<Antiarc> Oh, what's the correct way to use execRecursive/execRecursiveOuter?
<Antiarc> I was having the hardest time with it last night - I want to use it to detect recursion into the same method (obviously), but using execRecursiveOuter seems to short-circuit the outer method call when an inner call is recursed into.
yfeldblum has quit [Ping timeout: 265 seconds]
<Antiarc> https://github.com/jruby/jruby/blob/5f717bd67690fddbc317646f90c30d3e1aaa731f/core/src/main/java/org/jruby/RubyStruct.java#L506-L516 - I was trying to something like that in Range, so that we can detect cyclical ranges, but as soon as the recursion happens, it returns true and seems to zip "true" all the way up the stack, meaning that if either begin or end in a Range is cyclical, the whole range would return `true` for a comparison to any o
<Antiarc> Which is obviously not desired!
<enebo> Antiarc: I don’t think execRecursive is meant to be called directly
<enebo> Antiarc: execRecursiveOuter cleans up data structure
<nirvdrum> enebo: Was there ever any verdict on going Java 7 vs sticking Java 6?
<enebo> nirvdrum: we are going Java 7+ for 9000
iamjarvo has joined #jruby
<nirvdrum> enebo: So, leaving Ruboto behind then?
<enebo> nirvdrum: Perhaps the Java 6 invoker thing was confusing
<nirvdrum> That's the circular part of the discussion.
<enebo> nirvdrum: We do want to support android
<enebo> nirvdrum: I thought it allowed java7 but not things like indy and some java 7 api methods
<nirvdrum> It allows the syntax, I think.
<enebo> nirvdrum: Although I had not read up on that recently so I don’t remember the details
<enebo> nirvdrum: yeah like empty diamonds
<nirvdrum> But not the classlib.
<enebo> nirvdrum: I think we have some stuff like nio.2 in places but if they are hard deps we will need to make them softer
<nirvdrum> Okay. There's some stuff that would just be better off if it could go full Java 7.
<nirvdrum> Maintaining two versions of it probably isn't all that worthwhile.
<enebo> well we maintain so much already cleaving another support line would be tough
statonjr has quit [Quit: statonjr]
<nirvdrum> Right. Which is why I've been prodding at this one.
<nirvdrum> It sounds like 9k really isn't going to be 7+.
<nirvdrum> Which is fine. I just won't go down that road then.
<enebo> nirvdrum: well this is more a semantics argument. If we load nio.2 feature for example when not on android and we load indy when not on android are we not Java 7+?
<enebo> nirvdrum: I guess the stance is we are only making minimal allowances for android but still leveraging Java 7 features
statonjr has joined #jruby
<enebo> nirvdrum: We will not be making guarantees that we can run JRuby on non-mobile on Java 6
zorak8 has joined #jruby
<Aethenelle> headius: I found the loop in instanceSuper/unresolvedSuper.... getNthScopeModule is returning the origin class not the prepend wedge. looks like two copies of the origin module are on the scope stack... where's that happen?
<nirvdrum> enebo: I think it's a bit more than a semantic argument. It's a design decision. I'm looking at parallel versions of Random introduced in Java 7 that seem like they'll perform much better than the current implementation. Do we really want to two implementations of Random?
<nirvdrum> We could also save some valuable filesystem accesses in places, but do we really want to maintain two diverging branches of that code, too?
<enebo> nirvdrum: I guess it comes down to number of ones we need and whether simple shims can allow them to be separated
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
noop has quit [Ping timeout: 240 seconds]
dalizard has joined #jruby
<nirvdrum> Sure. But I've come across several already and they end up turning into far more involved discussions than "we are going Java 7+ for 9000" suggests.
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:48b56a9 by Benoit Daloze): The build has errored. (http://travis-ci.org/jruby/jruby/builds/40068474)
travis-ci has left #jruby [#jruby]
<headius> Aethenelle: hmmm
<headius> can you show me the example code and tell me which scope is getting the wrong module?
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
<Aethenelle> class C < A; prepend M, include N; end
rolfb has joined #jruby
<Aethenelle> scope going from C' to N in instanceSuper
dalizard has quit [Ping timeout: 245 seconds]
<Aethenelle> it seems to have the correct value propegating through the interpreter until the processCall for instance_super
Areessell has left #jruby ["(null)"]
lance|afk is now known as lanceball
triple_b has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
triple_b has joined #jruby
iamjarvo has joined #jruby
tlarevo has quit [Remote host closed the connection]
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
tlarevo has joined #jruby
blinsay is now known as blinsay_
postmodern has quit [Quit: Leaving]
triple_b has quit [Client Quit]
<headius> subbu: akr fixed that return/break
<subbu> who is akr?
<enebo> yay lex_state is wrong
<enebo> My favorite lexing bug
<enebo> subbu: akr is MRI dev. He fixed it on MRI
<subbu> ah, ok. great.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JohnBat26 has quit [Remote host closed the connection]
<Aethenelle> my PR is up to date... let me know if you want the commits squashed... The last one fixes some of the lookup code which allowed me to get to basically just this bug and it occurs with and without JIT now.
tlarevo has quit [Ping timeout: 244 seconds]
<headius> Aethenelle: ok
<headius> I'm landing some IO synchronization changes and then I'll have a look
josh-k has joined #jruby
triple_b has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 2 new commits to master: http://git.io/rZmW_A
<JRubyGithub> jruby/master 8bb24ba Theo: Move the logging of exceptions before the logging of backtraces...
<JRubyGithub> jruby/master 5ee82b6 Charles Oliver Nutter: Merge pull request #2110 from iconara/log_exceptions_before_backtraces...
JRubyGithub has left #jruby [#jruby]
<Aethenelle> bah... if I add getModuleLocation() to instanceSuperInstr.java:49 it clears up for non-jit ... there's probably a getNonIncludedClass() call I can't find that needs to be getDelegate()
purplefox has quit [Ping timeout: 244 seconds]
<headius> threads are hard
yfeldblum has joined #jruby
<headius> Aethenelle: oh, that's promising!
<headius> er wait
<headius> that clears it up for *jit*?
<Aethenelle> headius: it doesn't seem to be that simple... I can't find a call to getNonIncludedClass() that i don't fully understand.
<headius> can you run the case that fails with -Xjit.logging=true?
<headius> if a fix inside the body of that instr fixes it, and it fails with JIT, that would mean some state is getting mucked up by the JIT and then it can't run the jitted code
<headius> subbu, enebo: ^
<headius> I'm betting we'll see a method fail to compile shortly before it blows up
<headius> (remove your hack so it will blow up)
<Aethenelle> it fails on jit... works without
<Aethenelle> now I can't remember how to run only one test...
<Aethenelle> got it
<enebo> headius: his change is to impl of instr only used by interp. I would guess bytecode was mimmicking what was there before he changed it?
<headius> Aethenelle: fails on JIT but a change to InstanceSuper fixes that?
<Aethenelle> that change fixes it for nonJIT... still fails on JIT with or without it.
purplefox has joined #jruby
<headius> oh, ok
<headius> I thought it only failed in JIT
<headius> sorry, I read wrong
<Aethenelle> it's all good...
<Aethenelle> I don't see anything that looks at all useful in the logging output on stderr
<byteit101> enebo: should we release a new jrubyfx & fxmlloader gem that is java8 compatable?
<enebo> byteit101: sure thing
<byteit101> only question is what version number
<byteit101> there aren't that many changes
<enebo> minor point release
<enebo> It does not matter really
<byteit101> so 1.1.1 ? (last was 1.1.0)
<enebo> This is just an unbreak 8 release right?
<enebo> sure
<byteit101> yea
<byteit101> few other fixes as well
<enebo> byteit101: I am hoping to use this on my new branch in Purugin
<enebo> byteit101: I am targetting minecraftforge which allows client side mod
<enebo> byteit101: fx window for things like an editor for my logo subsystem
mkristian has quit [Ping timeout: 264 seconds]
<byteit101> logo in ruby on java?
<byteit101> :)
pietr0 has quit [Quit: pietr0]
<enebo> byteit101: 3d logo written in Ruby on Java displayed a coarse-grained voxels in minecraft
<enebo> byteit101: technically it is an internal DSL so it is actually valid Ruby syntax
purplefox has quit [Ping timeout: 255 seconds]
<byteit101> enebo: oh, and also sometime soon (but not now, maybe in a month, I'm rather busy till thanksgiving) i'm going to re-do fxmlloader to not use globals
<byteit101> and I was wondering if you know of any good ways to generate ruby code from an ast-like thing
<byteit101> (needs to be able to be saved to disk also)
<enebo> byteit101: great re-globals
<byteit101> to replace my current combine strings of ruby fragments and hope the fxml file is valid
<byteit101> which breaks sometimes
<byteit101> as per my most recent issue
<enebo> byteit101: do you want to just verify syntax?
<byteit101> no
<enebo> byteit101: because you could write a syntax checker and if valid just do a join
<enebo> byteit101: the checker would be a parser though
x1337807x has joined #jruby
<byteit101> fxml -> xml ast -> rubyish ast -> ruby code -> {disk, execute it}
<enebo> well depth first traversal and write out all leaves to io should work for a basic syntax tree assuming you know output format of each leaf type
<enebo> I guess even parent nodes could be neccsary if you want to do things like insert ; or nl
<byteit101> yes, but is there anything either as a gem or built into jruby to do that or do I have to writ eit myself
<byteit101> *write it myself
johnsonch is now known as johnsonch_afk
<enebo> from AST to a string not that I know of
<byteit101> ok
<enebo> perhaps some parser tool might have a nice syntax tree abstraction?
<enebo> I don’t know though
<headius> Antiarc: around?
<byteit101> enebo: ok, thanks anyway
<Antiarc> headius: yup
<Aethenelle> headius: here's the log: https://gist.github.com/tduehr/68958ecd147035520627
<headius> I'm wondering what you get for net/http/test_http.rb tests
<Antiarc> Sure, sec
erikhatcher has joined #jruby
<headius> I fixed some issues with thread synchronization and stomping in IO and now a few of those hang
<headius> they may just have blown up before, but I want to know if they regressed
<Antiarc> That's on update_stdlib, just pulled
<headius> bleh, I need to reboot, my system is jacked
<headius> brb
mkristian has joined #jruby
<Antiarc> headius: [15/51] TestNetHTTPContinue#test_expect_continue_error took 30.38 sec now on a second run
<Antiarc> Let me try a clean build
<headius> Antiarc: hmmm
iamjarvo has joined #jruby
<headius> I'm trying a clean build before my fixes
<Antiarc> That just broke more stuff
<Antiarc> So uhhh
<Antiarc> I dunno
<headius> hmm
<Antiarc> that's after `mvn -Pclean && mvn`
<Antiarc> yeah the failures are varying each time I run the tests
<Antiarc> Sometimes tests like test_keep_alive_get_auto_reconnect hang, sometimes they don't
<headius> yeah I noticed that too
<headius> I'm just trying to make sure it's not something I introduced today
rsim has quit [Quit: Leaving.]
<headius> hrm
<headius> they pass before my commits
<headius> I don't think it's the locking, though, I think it's the select fixes
purplefox has joined #jruby
<Antiarc> I'm bisecting it at the moment
<headius> I pushed most recent change and I'm investigating select...fails a couple specs it didn't before
<Antiarc> bisect blames that commit
purplefox has quit [Ping timeout: 245 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<headius> yeah figured
<headius> ok
<headius> thank you
iamjarvo has joined #jruby
vpereira has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
<vpereira> hi jrubyfx, anyone?
<enebo> god of god sometimes it is hard to debug the lexer
<enebo> byteit101: ^
<vpereira> yes the guy!
<byteit101> hi
<byteit101> vpereira: what can I help you with?
<vpereira> for a simple javafx program. how can i add an action on a specific event?
<byteit101> currently about to release new version
<byteit101> vpereira: same way as java
<byteit101> object.on_event_name do |e (optional)| ... end
<byteit101> *set_on_event_name
<vpereira> btn.set_on_action { |e| .. }
<byteit101> yes
<byteit101> for code
<byteit101> and fxml works the same as java, but on ruby controllers
<byteit101> so action="#do_foo" and def do_foo(e) ... end should also work
<vpereira> yup. fxml i saw lot of examples
mkristian has quit [Quit: bye]
<vpereira> hm great! oh and thanks for the help with the help via github. i just read again the readme at jrubyfx and somewhere is written to install the gem from master
<vpereira> sorry about the noise byteit101
<byteit101> no problem
<byteit101> just released 1.1.1 with j8 support
<vpereira> ok
pietr0 has joined #jruby
<byteit101> so you can install from rubygems again
<vpereira> ok, i will test it now
baroquebobcat has joined #jruby
<headius> whut tha
<headius> weird bug
<vpereira> byteit101: perfect
<byteit101> excellent
skade has joined #jruby
<vpereira> byteit101: i just remember now my question.. can i show you a snippet? https://gist.github.com/vpereira/59ce146707653cde11b2
<vpereira> byteit101: calling the method button_clicked, raises me a no method error, because it searches it on border_pane.. which would be the pattern that should i use here?
<byteit101> I would personally use fxml
<vpereira> instance variables
<byteit101> but you can do this:
<vpereira> byteit101: me too
<byteit101> action = method(:button_clicked)
<vpereira> byteit101: but its more to exercise the api
<byteit101> set_on_action &action
<byteit101> local variables work
<vpereira> but i would end up with thousand of them
<vpereira> so the method will create a proc
dalizard has joined #jruby
<byteit101> OR
<byteit101> this = self at the top
<byteit101> set_on_action { this.buttion_clicked}
<byteit101> I like that better
<vpereira> hehe i find it anti ruby, but i did it before to test it :)
<headius> ok, I think I have it
<Antiarc> Is there a protocol for adding additional rubyland tests for jruby functionality?
<headius> a selector is getting put back with a key still active and ready
<Antiarc> when I was doing the Range stuff I found behaviors that should be tested which weren't covered by the 2.2 stdlib
<headius> subsequent uses of that selector return no results immediately
<headius> Antiarc: if it's JRuby-specific it goes in our repo
<byteit101> vpereira: yea, thats why I primarily use fxml (my app that prompted me to improve fxml support in jrubyfx): https://bitbucket.org/byteit101/sfx/src/79afbf3d28c86e89347fc80a5a0f3c835c771187/lib/res/?at=default
<headius> otherwise it should be added to rubyspec or MRI's tests
<Antiarc> It's not really jruby-specific, it's just behavior of Range in both MRI and JRuby that should be tested and wasn't
<Antiarc> So "submit a PR to MRI"?
<vpereira> byteit101: i see that its really fxml centric, which isnt bad. since its the way to go. but as i told you. i was just reading the samples, tests and api to get use it with it
<byteit101> the scoping is the part of that api I dislike the most
dalizard has quit [Ping timeout: 245 seconds]
JohnBat26 has joined #jruby
<byteit101> that api was mostly enebo's creation
yfeldblum has quit [Ping timeout: 265 seconds]
<vpereira> byteit101: i found it quite intuitive, but some how i think i will end up with a lot of instance variables
<byteit101> local variables?
<vpereira> and im skimming thru your sfx and looks like you do too
<vpereira> sorry instances
<byteit101> yes, I do
<byteit101> lots of them (especially in designer.rb) are from fxml, but yea
<byteit101> there are several ways I can clean various places up
<byteit101> but its a rather large jrubyfx app that has basically caused most of the things that are in jrubyfx to be there/fixed
<vpereira> yes. im evaluating it as well to a big project as well
johnsonch_afk is now known as johnsonch
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
triple_b has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ludyte has quit [Quit: ludyte]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tcrawley is now known as tcrawley-away
<vpereira> byteit101: do you keep a mailing list for jrubyfx?
rolfb has quit [Quit: Linkinus - http://linkinus.com]
erikhatcher has quit [Quit: erikhatcher]
<byteit101> no
<vpereira> ok. thank you and gosh, bitbucket is lightyears better than github :)
<byteit101> vpereira: oh, he he he, if you want to build sfx have fun!
<byteit101> currently its unbuildable
<vpereira> i cloned it to read your code. no why idea what it is :)
<vpereira> im just trying to read how people are using jrubyfx
<byteit101> its a dashboard for FIRST robotics
<vpereira> yay i did it back in the university days :)
x1337807x has joined #jruby
<vpereira> byteit101: not bad!
<vpereira> byteit101: would be great if jrubyfx could get some love from oracle
<vpereira> its really promissing
<byteit101> vpereira: and yes, bitbucket (dang, I tried to tab then ctrl-space complete that word...) is lightyears better than github because it has mercurial!
<byteit101> (among other things like infinite private repos)
<byteit101> indeed
kwando has joined #jruby
kwando_ has quit [Read error: Connection reset by peer]
<byteit101> vpereira: woa, actually listed on this page: http://www.oracle.com/technetwork/java/javafx/community/3rd-party-1844355.html
<vpereira> yes. but well, then i found cheaper for private repos to deploy gitlab @ digitalocean
SynrG has quit [Ping timeout: 240 seconds]
e_dub has quit [Quit: ZZZzzz…]
SynrG has joined #jruby
mje113__ has quit [Quit: Connection closed for inactivity]
kotk_ has joined #jruby
<headius> Antiarc: fixed
<Antiarc> woot, thanks
e_dub has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 2 new commits to update_stdlib: http://git.io/12r22w
<JRubyGithub> jruby/update_stdlib 4e40345 Charles Oliver Nutter: Fixes for selector shutdown logic....
<JRubyGithub> jruby/update_stdlib 8bd23fb Charles Oliver Nutter: Fix up botched selector handling of pending reads.
JRubyGithub has left #jruby [#jruby]
kotk has quit [Ping timeout: 265 seconds]
<Antiarc> So adding those tests to MRI exposed a break :)
<headius> woohoo!
<headius> we're helping!
<headius> Antiarc: 165 for me with my latest push
<Antiarc> I think the break is in my jruby impl, not MRI itself
<headius> ahh ok
<Antiarc> But it exposed a difference in assumptions!
<headius> indeed!
<Antiarc> brb, lunch
<headius> Antiarc: tip on adding overloads to a method... JRuby will bind up to four exact-arity signatures for a core method
<headius> so e.g. min and max in range, they could just have two versions, one that takes an arg and one that doesn't
<headius> seems like there's not a lot of shared code between them, and it would avoid allocating an arg array
yfeldblum has joined #jruby
<headius> I'll merge as is but wanted to mention it
vpereira has quit [Ping timeout: 255 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 3 new commits to update_stdlib: http://git.io/N5KI3A
<JRubyGithub> jruby/update_stdlib e1f8c2a Chris Heald: Add min/max/min_by/max_by optional argument support...
<JRubyGithub> jruby/update_stdlib 78dd322 Chris Heald: Return empty arrays when the optional arg is passed but the range is empty.
<JRubyGithub> jruby/update_stdlib ef52414 Charles Oliver Nutter: Merge pull request #2101 from cheald/add_min_max_arg...
JRubyGithub has left #jruby [#jruby]
calavera has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nirvdrum> headius: I didn't see any additional output before the JVM crashes. I turned on debug logging, but all I saw were messages related to the load service. Were there any other flags you wanted me to try?
diegoviola has quit [Quit: WeeChat 1.0.1]
<Antiarc> headius: Ah, good to know
skade has quit [Quit: Computer has gone to sleep.]
<Antiarc> So I'd have @JRubyMethod(frame = true) and @JRubyMethod(frame = true, required = 1) ?
<headius> nirvdrum: attach a dump with JVM flags -XX:+PrintCompilation
<headius> Antiarc: we infer required when there's no [] arg
<headius> so it's not necessary then
<Antiarc> Got it
<Antiarc> It passes the tests, just want to be sure I grok you before I update it
<Antiarc> except without the required decorator
iamjarvo has joined #jruby
zorak8 has quit [Quit: Leaving]
e_dub has quit [Quit: ZZZzzz…]
yfeldblu_ has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has quit [Ping timeout: 272 seconds]
subbu has quit [Ping timeout: 260 seconds]
x1337807x has joined #jruby
enebo has quit [Quit: enebo]
subbu has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
x1337807x has quit [Client Quit]
havenwood has quit [Remote host closed the connection]
<Aethenelle> headius: might just be missing some getMethodLocation calls in the JIT stuff...
<Aethenelle> adding it at IRRuntimeHelpers.java:807 seems to clean up the JIT case too... I'm a little iffy on the idea that's the actual fix
<Aethenelle> updated PR
<headius> that certainly could be the case
<headius> if the change to interp seems to be ok then I can just make the same change
<headius> Antiarc: yup, that's it
<Antiarc> Cool. I'm factoring it down more :)
<headius> no problem...I'm iterating on speeding up IO.select...so much allocation
<Antiarc> will Helpers.invokeSuper() invoke super for the last method decorated with frame = true?
<Antiarc> (that is, can I move shared code into an un-framed method?)
<Aethenelle> since those changes don't work to get the dead PR working, I'm not entirely sure it's the right fix... Then again, I don't have getDelegate() in the old PR yet...
<Aethenelle> bah... the rubyspec side of things still has a stackoverflow...
drbobbeaty has joined #jruby
dalizard has joined #jruby
<Aethenelle> ugh... and a bunch of the module rubyspec tests pass with jit but fail without...
<headius> Antiarc: yes, it just uses the frame to determine what class and method name should be used for supering
<headius> so whatever the most recent frame is, it will use that
<headius> just make sure there's no intermediate calls that would push another frame (generally anything that would call back out to Ruby before calling back into your shared logic)
<Antiarc> Right
<Antiarc> It'd just be private method calls
<Antiarc> Just abstracting common code
<Antiarc> Though I think it'd make more sense to keep super() in the method it's logically supering, just for readability
<Antiarc> It's a few repeated lines but nothing onerous
dalizard has quit [Ping timeout: 245 seconds]
havenwood has joined #jruby
yfeldblu_ has quit [Ping timeout: 272 seconds]
<headius> yeah it would
<headius> when we audit framed methods it's easier to just look in the body
johnsonch is now known as johnsonch_afk
<Antiarc> This is much cleaner code overall though
<headius> yeah, we call that "arity splitting" and it has been really nice
<headius> any combination of 0-3 args can be split up that way
<headius> if there's more than 3 possible args, you can have a [] version to catch that
<headius> excellent!
<Antiarc> There's the changes. Not sure if it shows in the diff, but it's *way* cleaner