Issue #10626 has been updated by Jarosaw Rzesztko.


By the way, even more strange things happen if you replace the simple call to test with something like:

t1 = Thread.new { test }
t2 = Thread.new { test }
t1.join
t2.join

I get then the following error:

test.rb:6: [BUG] object allocation during garbage collection phase

Although for me this part is a purely theoretical exercise. 

----------------------------------------
Bug #10626: BUS error from nesting lambda's and calls to methods defined with define_method
https://bugs.ruby-lang.org/issues/10626#change-50531

* Author: Jarosaw Rzesztko
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: 2.1.5
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
I get a BUS error from executing the following Ruby program: https://gist.github.com/jaroslawr/8579678d7c68a49208f0

I am on Gentoo Linux and Ruby 2.1.5, and have also tried Ruby 2.1.4, 2.1.3,..., down to 2.1.0. My colleagues The problem seems to lie in rapidly consuming stack space, and goes away when the stack size limit is increased with ulimit -s. For the real world context behind this, see the corresponding Rails issue I opened:

https://github.com/rails/rails/issues/18011



-- 
https://bugs.ruby-lang.org/