<chrisseaton>
headius: hi - have a good Christmas?
<electrical>
hehe. waiting for the other slaves to updated and then run the test suite. see if it breaks again :p
erick_ has quit [Ping timeout: 250 seconds]
<headius>
chrisseaton: yes, a good break
<headius>
you?
<headius>
electrical: ok
<chrisseaton>
I intended to take a break, but I can't tear myself away from these last few language specs
<chrisseaton>
how do you implement $_? It's frame local, in that if it's set in one frame, it isn't available in earlier frames. It's also thread local though! So if two threads have access to the same block they won't see the same value. And JRuby seems to pass all the specs for this. How do you achieve that!?
<chrisseaton>
headius: I was thinking maybe a frame local variable that points to a ThreadLocalVariable, but your implementation in 1.7 at least just seems to set it in the global variables object - can't figure it out
<headius>
chrisseaton: as far as I know, we always just treat it as thread-local
<headius>
the logic in global variables goes to current thread context always
<electrical>
headius: tests are green again. no errors so far with the latest version
<headius>
what do you mean by "it isn't available in earlier frames"?
<chrisseaton>
it also wouldn't be set if in bar, if it was bar that called foo
<headius>
oh sorry, $_
<headius>
I read wrong
<chrisseaton>
so it looks like a simple frame local variable, but then it's also different for different threads if they both have access to the same closure!
<headius>
chrisseaton: ah...so it looks like 1.7 clones the frame for every call to Proc#call
<chrisseaton>
ah so this passes by accident
<headius>
well, not necessarily by accident, but it's probably the wrong fix
yfeldblum has quit [Ping timeout: 245 seconds]
<headius>
I know we had to actively fix it
<headius>
but the logic around when to clone frames and when to reuse them has changed many times
<chrisseaton>
I might try having a separate instruction for reading and writing $_, that uses frame local variable, but stores a ThreadLocalVariable in it
<headius>
9k does the same
<headius>
chrisseaton: ahh, sure
<headius>
that is an option too, but one of the issues we wanted to avoid was the cost of allocating a wrapper object for $_ and $~
subbu is now known as subbu|breakfast
<chrisseaton>
yeah
<headius>
at one point, in order to make them shareable, Frame aggregated a two-element array
<headius>
but when you hit a method in a tight loop that was instantiating those globals, it was a huge hit
<chrisseaton>
and I guess you could use gets in a non-interactive input routine, not interested in $_, so we'd have to find a way to remove it if not needed
<JRubyGithub>
[jruby] headius opened issue #2352: Multicast socket triggers NPE when bound before IP_ADD_MEMBERSHIP http://git.io/8VJkgA
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] eregon pushed 1 new commit to master: http://git.io/tWWrZg
<JRubyGithub>
jruby/master fdfe94d Benoit Daloze: [Truffle] Remove old guard.
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/RXbV2w
<JRubyGithub>
jruby/master 3792e0f Chris Seaton: [Truffle] Clear $! when leaving a try-rescue-ensure block.
JRubyGithub has left #jruby [#jruby]
subbu|breakfast is now known as subbu
frobs has quit [Read error: Connection reset by peer]
calavera has joined #jruby
rjnienaber has joined #jruby
e_dub has joined #jruby
<rjnienaber>
np headius, found myself with a day to spare yesterday and then i saw your tweet about it
mister_solo has quit [Ping timeout: 245 seconds]
erick_ has joined #jruby
erick_ has quit [Read error: Connection reset by peer]
erick_ has joined #jruby
<rjnienaber>
hopefully i'll find some time to get through a few more
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 258 seconds]
<headius>
rjnienaber: I'm going back through recently-updated issues now
<electrical>
hiya rjnienaber
<rjnienaber>
hi
Hobogrammer has joined #jruby
<nirvdrum>
headius: Can't recall if you commented, but was removing IO.popen4 in 9k intentional? I'd imagine so given it was non-standard to begin with. But I haven't found a suitable replacement yet.
<mpapis>
asarih, can you track down the build that created this binary?
<asarih>
mpapis: what do you mean? the cookbooks version?
<asarih>
mpapis: or the RVM version?
<mpapis>
asarih, rvm version + the logs of the build that created the binary, maybe it's already fixed in RVM, there was one similarly sounding issue some time ago
<JRubyGithub>
[jruby] headius opened issue #2367: ruby-debug cannot show backtrace in certain instances http://git.io/410z6g
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2368: pipes/handles are closed when the jruby main thread exits, which can lead to unexpected behavior http://git.io/Ly87TQ
JRubyGithub has left #jruby [#jruby]
yfeldblum has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2369: Can't subclass a Java class that calls an abstract function in its constructor http://git.io/qI4p6Q
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo opened issue #2370: Return in a proc given to define_method does not return http://git.io/VOA4Jg
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2371: Win32::Registry instances don't support #inspect http://git.io/_SSxsg
JRubyGithub has left #jruby [#jruby]
zorak_ has quit [Read error: Connection reset by peer]
zorak8 has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] headius opened issue #2372: system("...&&...") should work in windows http://git.io/WIrvYQ
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 1 new commit to jruby-1_7: http://git.io/mbBKtg
<JRubyGithub>
jruby/jruby-1_7 c74647f Charles Oliver Nutter: Fix Java interface aggregation in modles for JRUBY-6945.
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2373: Redirecting $stdout to an object fails with: Errno::EBADF: Bad file descriptor - Bad file descriptor http://git.io/2j5ChA
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2374: Kernel.load(..., true) --> scope problem http://git.io/klxymQ
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2375: JRuby subclass cannot call super with arguments if parent constructor is varargs http://git.io/hpyVRA
<headius>
I read the expected behavior wrong...I guess it is still broken...thanks for catching that
<headius>
trying to finish this up before day's end :-\
fniephaus has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2376: Enumerator#first when yielded arrays of 1 element bug. http://git.io/rhjPfA
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2377: Cannot Marshal.dump jruby subclass of Java class http://git.io/s27Fug
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2378: CLONE - Instances of Ruby classes that implement an interface do not correctly respond to Dynamic Proxy invocations http://git.io/8PdZfA
JRubyGithub has left #jruby [#jruby]
<headius>
oops, I guess I don't need CLONE in there
<headius>
autopilot
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2379: STDERR.reopen causes exception output to be lost http://git.io/x5DACA
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2380: Cannot unlink broken symlink via Pathname http://git.io/N4Kzxg
JRubyGithub has left #jruby [#jruby]
<headius>
almost done
<headius>
enebo: you done with your review?
elux has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2381: IO#rewind ... doesn't. (when backed by a ByteArrayInputStream). http://git.io/BR8VXQ
JRubyGithub has left #jruby [#jruby]
GregMefford has quit [Quit: Connection closed for inactivity]
<enebo>
headius: no but I am done working today
<enebo>
I did get through about 50
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2382: 'defined?' for constant should not invoke auto-load http://git.io/bb_kMQ
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius opened issue #2383: Can't break a thread by raising exception from main thread if there is "readline" in thread http://git.io/H9be_g
JRubyGithub has left #jruby [#jruby]
Felystirra has quit [Ping timeout: 258 seconds]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum opened issue #2384: eval treats all method definitions as public http://git.io/9UL8lQ
JRubyGithub has left #jruby [#jruby]
<nirvdrum>
enebo, headius: ^ More eval fun for you.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 1 new commit to master: http://git.io/yzNZSA
<JRubyGithub>
jruby/master 6be4fe2 Kevin Menard: [Truffle] Top-level methods should be public by default.
JRubyGithub has left #jruby [#jruby]
<enebo>
nirvdrum: ah this one is probably not so bad and in fact I remember some tangle visibility stuff that I might have oversimplified
<nirvdrum>
My first attempt at fixing this in Truffle yielded the same results as your eval.
<nirvdrum>
Fixing it Truffle ended up being that one-liner above. But naturally that'll be different.
<enebo>
nirvdrum: your fix is strange to me too
<nirvdrum>
I may have it wrong.
<enebo>
nirvdrum: you made toplevel public presumeably all else is private by default
<enebo>
nirvdrum: but I don’t quite get why this made the private evals all properly work
Felystirra has joined #jruby
<nirvdrum>
This fixes sort of the inverse. Prior to this, Truffle treated everything as private. So it was the opposite problem that non-Truffle JRuby has.
<nirvdrum>
My first fix was to ignore local visibility. That made it fail the same way non-Truffle JRuby does.
<nirvdrum>
This one line makes us match MRI.
<enebo>
nirvdrum: ah ok gotcha
<enebo>
nirvdrum: the inversion was what confused me
<nirvdrum>
Yeah, sorry about that.
<nirvdrum>
We had a different bug. That's why I checked what JRuby does.
<headius>
rjnienaber: if you want to help me out, you could take the remaining open bugs you updated and turn them into Github issues the same way I did
<Antiarc>
For grins and giggles, I'm profiling jruby bootup time to see if there are any places I could shave some time. Haven't found anything solid yet, but I've got some interesting initial metrics.
rcvalle has quit [Quit: rcvalle]
<electrical>
headius: no failures with jruby 9k so far. we will be adding it to our performance test grid as well soon to see if it has any performance impact.