Issue #10847 has been updated by Tomoyuki Chikanaga. Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE Backported into `ruby_2_2` branch at r50275. ---------------------------------------- Bug #10847: SystemStackError after NameError prepends a module https://bugs.ruby-lang.org/issues/10847#change-52123 * Author: Yuki Nishijima * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux] * Backport: 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE ---------------------------------------- The following code causes `SystemStackError`. ```ruby module Foo end NameError.prepend Foo foo rescue $! ``` And here is the full backtrace: ``` system_stack_error_from_name_error.rb:3:in `initialize': stack level too deep (SystemStackError) from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' ... 10907 levels... from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `initialize' from system_stack_error_from_name_error.rb:3:in `method_missing' from system_stack_error_from_name_error.rb:3:in `<main>' ``` This happens on Ruby 2.0.0, 2,1,5, 2.2.0 and ruby-trunk(rev 49451). -- https://bugs.ruby-lang.org/