<headius>
something in MRI suite blows up with the frame change
<headius>
aha
<headius>
Class.new { break } should just exit Class.new, but there's no frame for it
<headius>
enebo: maybe we can rewrite that as return when we detect it is a Class.new block? We must be doing something currently to detect this. I will investigate.
<headius>
ok we will talk through this tomorrow... it looks like CRuby does push a frame for Class.new/module_exec forms that becomes the controlling frame and likely the break target once the block is invoked
lopex[m] has quit [*.net *.split]
rdubya[m] has quit [*.net *.split]
katafrakt[m] has quit [*.net *.split]
nilsding has quit [*.net *.split]
basshelal[m] has quit [*.net *.split]
bensheldon[m] has quit [*.net *.split]
rebelwarrior[m] has quit [*.net *.split]
AndyMaleh[m] has quit [*.net *.split]
daveg_lookout[m] has quit [*.net *.split]
mattpatt[m] has quit [*.net *.split]
kares[m] has quit [*.net *.split]
kroth_lookout[m] has quit [*.net *.split]
Albertico[m] has quit [*.net *.split]
greyrat_ has quit [*.net *.split]
enebo[m] has quit [*.net *.split]
puritylake[m] has quit [*.net *.split]
ssaschaa[m] has quit [*.net *.split]
klobuczek[m] has quit [*.net *.split]
adam12 has quit [*.net *.split]
headius has quit [*.net *.split]
MattWelke[m] has quit [*.net *.split]
oblutak[m] has quit [*.net *.split]
marcheiligers[m] has quit [*.net *.split]
kovyrin[m] has quit [*.net *.split]
byteit101[m] has quit [*.net *.split]
jamesgecko[m] has quit [*.net *.split]
Freaky has quit [*.net *.split]
ahorek[m] has quit [*.net *.split]
jtarvydas[m] has quit [*.net *.split]
andreimaxim[m] has quit [*.net *.split]
fidothe has quit [*.net *.split]
yosafbridge has quit [*.net *.split]
satyanash has quit [*.net *.split]
siasmj has quit [*.net *.split]
kovyrin[m] has joined #jruby
yosafbridge has joined #jruby
ahorek[m] has joined #jruby
lopex[m] has joined #jruby
enebo[m] has joined #jruby
nilsding has joined #jruby
headius has joined #jruby
jtarvydas[m] has joined #jruby
andreimaxim[m] has joined #jruby
klobuczek[m] has joined #jruby
ssaschaa[m] has joined #jruby
puritylake[m] has joined #jruby
marcheiligers[m] has joined #jruby
oblutak[m] has joined #jruby
AndyMaleh[m] has joined #jruby
rebelwarrior[m] has joined #jruby
MattWelke[m] has joined #jruby
bensheldon[m] has joined #jruby
rdubya[m] has joined #jruby
mattpatt[m] has joined #jruby
basshelal[m] has joined #jruby
katafrakt[m] has joined #jruby
kroth_lookout[m] has joined #jruby
daveg_lookout[m] has joined #jruby
kares[m] has joined #jruby
Albertico[m] has joined #jruby
adam12 has joined #jruby
jamesgecko[m] has joined #jruby
byteit101[m] has joined #jruby
greyrat_ has joined #jruby
fidothe has joined #jruby
Freaky has joined #jruby
satyanash has joined #jruby
siasmj has joined #jruby
<kares[m]>
pushed jossl 0.12.1 🤞 ping me if anything comes up - going to be also watching the bug tracker(s)
sagax has joined #jruby
<headius>
kares: nice, thank you!
<enebo[m]>
headius: I do not think Class.new or module_exec probably are so common that we would notice a Frame
<headius>
enebo: I'm going to play with having the module_exec code use the same logic for handling break propagation as if it were implemented in Ruby
<headius>
I did find that we do push a frame, basically a copy of the previous frame, but there's zero handling of break propagation so it never knows to stop raising it
<headius>
so this is a quirk of how break handling is done in Ruby versus Java, and if we expect to handle breaks from Java we need to call the same mechanism
<headius>
this module_exec code is pretty gross
<headius>
I think the problem here is that the break is suppose to propagate out to the scope above Class.new
<headius>
with the previous code that used DynamicScope to end the break propagation, it worked fine because Class.new does not monkey around with the scope
<headius>
it DOES however monkey around with the frame, cloning the block and having it push a new copy of the frame rather than the one it is rooted in
<headius>
that in turn breaks my frame-based break propagation because the parent frame and the block frame are different and so nobody receives the break
<headius>
there's multiple tangled layers of binding cloning happening in module_exec that are interfering with this flow
<headius>
if we fixed that cloning then it should just work
<headius>
criminy
<headius>
module_exec clones the block and then calls yieldUnder, which clones the block and calls preExecuteUnder, which clones the frame
<headius>
when in doubt just clone again I guess
<headius>
enebo: I made nobu's changes to io-wait and it should be ready to go
<enebo[m]>
cool
<headius>
you should be able to build the gem if you wanted to try it with rails, but I'm hopeful we can get a release out today or tomorrow
siasmj has quit [*.net *.split]
satyanash has quit [*.net *.split]
yosafbridge has quit [*.net *.split]
lopex[m] has quit [*.net *.split]
rdubya[m] has quit [*.net *.split]
katafrakt[m] has quit [*.net *.split]
bensheldon[m] has quit [*.net *.split]
basshelal[m] has quit [*.net *.split]
rebelwarrior[m] has quit [*.net *.split]
AndyMaleh[m] has quit [*.net *.split]
nilsding has quit [*.net *.split]
kares[m] has quit [*.net *.split]
mattpatt[m] has quit [*.net *.split]
daveg_lookout[m] has quit [*.net *.split]
kroth_lookout[m] has quit [*.net *.split]
Albertico[m] has quit [*.net *.split]
greyrat_ has quit [*.net *.split]
enebo[m] has quit [*.net *.split]
puritylake[m] has quit [*.net *.split]
ssaschaa[m] has quit [*.net *.split]
klobuczek[m] has quit [*.net *.split]
adam12 has quit [*.net *.split]
sagax has quit [*.net *.split]
headius has quit [*.net *.split]
MattWelke[m] has quit [*.net *.split]
oblutak[m] has quit [*.net *.split]
marcheiligers[m] has quit [*.net *.split]
byteit101[m] has quit [*.net *.split]
kovyrin[m] has quit [*.net *.split]
jamesgecko[m] has quit [*.net *.split]
ahorek[m] has quit [*.net *.split]
andreimaxim[m] has quit [*.net *.split]
jtarvydas[m] has quit [*.net *.split]
fidothe has quit [*.net *.split]
Freaky has quit [*.net *.split]
greyrat_ has joined #jruby
kroth_lookout[m] has joined #jruby
yosafbridge has joined #jruby
marcheiligers[m] has joined #jruby
sagax has joined #jruby
andreimaxim[m] has joined #jruby
ahorek[m] has joined #jruby
jtarvydas[m] has joined #jruby
katafrakt[m] has joined #jruby
daveg_lookout[m] has joined #jruby
Freaky has joined #jruby
rdubya[m] has joined #jruby
Albertico[m] has joined #jruby
lopex[m] has joined #jruby
fidothe has joined #jruby
MattWelke[m] has joined #jruby
mattpatt[m] has joined #jruby
byteit101[m] has joined #jruby
headius has joined #jruby
jamesgecko[m] has joined #jruby
satyanash has joined #jruby
oblutak[m] has joined #jruby
kovyrin[m] has joined #jruby
kares[m] has joined #jruby
nilsding has joined #jruby
rebelwarrior[m] has joined #jruby
bensheldon[m] has joined #jruby
basshelal[m] has joined #jruby
AndyMaleh[m] has joined #jruby
jamesgecko[m] has quit [Ping timeout: 250 seconds]
siasmj has joined #jruby
kroth_lookout[m] has quit [Ping timeout: 240 seconds]
Albertico[m] has quit [Ping timeout: 240 seconds]
klobuczek[m] has joined #jruby
puritylake[m] has joined #jruby
enebo[m] has joined #jruby
ssaschaa[m] has joined #jruby
adam12 has joined #jruby
nilsding has quit [Ping timeout: 245 seconds]
basshelal[m] has quit [Ping timeout: 245 seconds]
bensheldon[m] has quit [Ping timeout: 245 seconds]
AndyMaleh[m] has quit [Ping timeout: 245 seconds]
rebelwarrior[m] has quit [Ping timeout: 245 seconds]
ahorek[m] has quit [Ping timeout: 240 seconds]
andreimaxim[m] has quit [Ping timeout: 240 seconds]
jtarvydas[m] has quit [Ping timeout: 240 seconds]
MattWelke[m] has quit [Ping timeout: 250 seconds]
headius has quit [Ping timeout: 250 seconds]
marcheiligers[m] has quit [Ping timeout: 250 seconds]
oblutak[m] has quit [Ping timeout: 250 seconds]
byteit101[m] has quit [Ping timeout: 250 seconds]
kovyrin[m] has quit [Ping timeout: 250 seconds]
lopex[m] has quit [Ping timeout: 260 seconds]
rdubya[m] has quit [Ping timeout: 260 seconds]
katafrakt[m] has quit [Ping timeout: 260 seconds]
kares[m] has quit [Ping timeout: 252 seconds]
daveg_lookout[m] has quit [Ping timeout: 252 seconds]
mattpatt[m] has quit [Ping timeout: 252 seconds]
enebo[m] has quit [Ping timeout: 268 seconds]
ssaschaa[m] has quit [Ping timeout: 268 seconds]
klobuczek[m] has quit [Ping timeout: 268 seconds]
puritylake[m] has quit [Ping timeout: 268 seconds]